Podstawy języka SQL -
|
|
- Bernard Muszyński
- 5 lat temu
- Przeglądów:
Transkrypt
1 Podstawy języka SQL - Wstęp do DML - Instrukcja Select Składnia SELECT [predykat] { * tabela.* [tabela.]pole1 [AS alias1] [, [tabela.]pole2 [AS alias2] [,...]] [LIMIT ( n ALL )] [OFFSET n]} FROM tabela/e [,...] [WHERE... ] [GROUP BY... ] [HAVING... ] [ORDER BY... ] Klauzula SELECT Określenie pól w zapytaniu predykat: ALL (wartość domyślna) oznacza, że zwrócone zostaną wszystkie wybrane wiersze, DISTINCT oznacza, że z wyniku zostaną usunięte duplikaty wybranych wierszy, TOP (SQL Server) oznacza, że zwrócona zostanie tylko określona liczba wierszy, PERCENT pozwala na względne określenie liczby zwracanych wierszy. Jeżeli użyto znacznika PERCENT, wartość n musi należeć do zakresu <0,100>, WITH TIES oznacza, że zostaną zwrócone wszystkie wiersze, których wartość kolumny wymienionej w klauzuli ORDER BY będzie równa najmniejszej wartości wiersza wyniku. Jeżeli na przykład wybieramy 5 towarów o najwyższej marży, a w tabeli znajduje się 7 towarów o tej samej, najwyższej marży, zapytanie zwróci 7, a nie 5 wierszy, LIMIT (PostgreSOL) jest odpowiednikiem klauzuli TOP, OFFSET określa, ile wierszy zostanie pominiętych, zanim zwrócony zostanie pierwszy wiersz wyniku. * Wskazuje, iż wybrane mają być wszystkie pola z podanej tabeli lub tabel. tabela Nazwa tabeli zawierającej pola, które składają się na rekordy będące rezultatem instrukcji. pole1, pole2 Nazwy pól zawierających dane, które mają być pobrane. Jeśli podano kilka pól, są one pobierane w kolejności podanej na liście. alias1, alias2 Nazwy, które zostaną użyte jako nagłówki kolumn w miejsce nazw kolumn z tabeli. Tabela/e Nazwa tabeli lub tabel zawierających pobierane dane.
2 Słowo kluczowe AS przy definiowaniu aliasu w większości implementacji serwera można pominąć. Klauzula FROM Określa, z których obiektów będą pobierane dane źródłowe W klauzuli FROM możemy odwołać się do dowolnej liczby obiektów tabel, widoków, funkcji tabelarycznych czy wyników podzapytań. Z reguły łączy się obiekty na podstawie wartości wspólnego atrybutu, na przykład wartości pary klucz podstawowy klucz obcy. W takim przypadku musimy użyć jednoznacznego identyfikatora obiektu (kolumny). Ponieważ nazwy kolumn zawierających klucz podstawowy i obcy najczęściej są takie same, musimy poprzedzać nazwy kolumn nazwami tabel. Jeżeli dodatkowo stosujemy konwencję,w myśl której poprzedzamy nazwy obiektów nazwą ich właściciela, zapytanie wybierające dane z kilku obiektów staje się mało czytelne. Rozwiązaniem tego problemu są aliasy. Składnia: [FROM {< zlgczona_tabela >} [,...n]] < zlgczona_tabela > ::= < tabela > < typ_zlgczenia > < tabela > OR < warunek > USING (kolumna,...n) < tabela > CROSS JOIN < tabela > < zlgczona_tabela > < typ_zlgczenia > ::= [INNER {{LEFT RIGNT FULL} [OUTER]}] [< dyrektywa >] JOIN przez posortowanie wierszy, wyeliminowanie duplikatów oraz wykorzystanie aliasów i literałów: gdzie: CROSS JOIN określa, że wynik będzie obliczony jako iloczyn kartezjański złączonych tabel, Minimalną liczbę warunków użytych do łączenia tabel można wyliczyć ze wzoru: minimalna liczba warunków = liczba złączonych tabel 1. INNER JOIN określa, że wynik będzie obliczony jako złączenie naturalnie złączonych tabel. Wynikiem złączenia naturalnego są tylko te wiersze, dla których w użytych do powiązania kolumnach zapisane były te same wartości, LEFT OUTER JOIN określa, że wynik będzie zawierał wszystkie wiersze z lewej tabeli, a z prawej tabeli wyłącznie te wiersze, dla których w użytych do powiązania kolumnach zapisane były te same wartości, RIGHT OUTER JOIN określa, że wynik będzie zawierał wszystkie wiersze z prawej tabeli, a z lewej tabeli wyłącznie te wiersze, dla których w użytych do powiązania kolumnach zapisane były te same wartości. Złączenie prawostronne jest rzadko stosowane przez osoby
3 przyzwy czajone do czytania od strony lewej do prawej, FULL OUTER JOIN określa, że wynik będzie zawierał wszystkie wiersze z obu złączonych tabel, Operacja INNER JOIN może być użyta w dowolnej klauzuli FROM. Jest to najczęściej występujący typ sprzężenia. Sprzężenia wewnętrzne łączą rekordy z dwóch tabel, jeśli w polu wspólnym dla obu tabel znajdują się odpowiadające sobie wartości. SELECT pola FROM tabela_1 INNER JOIN tabela_2 ON tabela_1.pole_1 op_por tabela_2.pole_1 AND ON tabela_1.pole_2 op_por tabela_2.pole_2) OR ON tabela_1.pole_3 op_por tabela_2.pole_3)]; SELECT pola FROM tabela_1 INNER JOIN (tabela_2 INNER JOIN [( ] tabela_3 [INNER JOIN [( ] tabela_x [INNER JOIN...)] ON tabela_3.pole_3 op_por tabela_x.pole_x)] ON tabela_2. pole_2 op_por tabela_3.pole_3) ON tabela_1. pole_1 op_por tabela_2.pole_2; Operacje LEFT JOIN i RIGHT JOIN mogą być zagnieżdżone wewnątrz operacji INNER JOIN, lecz operacja INNER JOIN nie może być zagnieżdżona wewnątrz operacji LEFT JOIN lub RIGHT JOIN. FROM tabela_1 [ LEFT RIGHT ] JOIN tabela_2 ON tabela_1.pole_1 op_por tabela_2.pole_2 Operacja LEFT JOIN służy do tworzenia sprzężenia rozszerzonego lewego. Sprzężenia rozszerzone lewe włączają wszystkie rekordy z pierwszej (lewej) z dwóch tabel, nawet jeśli w rekordach z drugiej (prawej) tabeli nie istnieją odpowiadające im wartości. Operacja RIGHT JOIN służy do tworzenia sprzężenia rozszerzonego prawego. Sprzężenia rozszerzone prawe włączają wszystkie rekordy z drugiej (prawej) z dwóch tabel, nawet jeśli w rekordach pierwszej (lewej) tabeli nie istnieją odpowiadające im wartości. SELECT Typy_zatrudnienia.Typ_zatrudnienia, PRACOWNICY.IMIĘ, PRACOWNICY.NAZWISKO, PRACOWNICY.[KOD DZIAŁU] FROM Typy_zatrudnienia INNER JOIN PRACOWNICY ON Typy_zatrudnienia.min_liczba_godzin <=PRACOWNICY.[CZAS PRACY] AND Typy_zatrudnienia.max_liczba_godzin >= PRACOWNICY.[CZAS PRACY] Klauzula WHERE Określa, które wiersze zostaną zwrócone przez zapytanie. Składnia:
4 [WHERE < warunekwybierania > < złqczenie_starego_typu >] < złqczenie_starego_typu > nazwajkolumny (* = = *) nazwa_kolumny < warunekwybierania > ::= ( [NOT] < predykat > (< warunekwybierania >)) [(AND OR) [NOT] (< predykat > (< warunek_ wybierania >))] [,..."] < predykat > : := ( wyrażenie ( = < >! = > > =! > < < =! <) wyrażenie wyrażenie_znakowe [NOT] LIKE wyrażenie_znakowe } [ESCAPE 'wzorzec'] j wyrażenie [NOT] BETWEEN wyrażenie AND wyrażenie [ wyrażenie IS [NOT] NULL wyrażenie [NOT] IN (podzapytanie wyrażenie.. (ALL SOHE [ ANY) [podzapytanie) EXISTS [podzapytanie) gdzie: złqczenie_starego_ typu jest niestandardowym określeniem warunków złączenia tabel. Symbol * = odpowiada złączeniu lewostronnemu, symbol =* prawostronnemu, predykat jest wyrażeniem o wartości 1 (prawda), 0 (fałsz) lub UNKNOWN, Język SQL nie nakłada żadnych ograniczeń na liczbę argumentów wyszukiwania wymienionych w klauzuli WHERE. W zależności od rodzaju kryteriów i typu wyszukiwanych danych możemy skorzystać z: 1. Operatorów porównania jeżeli chcemy sprawdzić, czy wartość zapisana w tabeli odpowiada wartości warunku wyszukiwania. Aby na przykład wybrać nazwiska i nazwy miast pracowników ze Stanów Zjednoczonych urodzonych przed 1 sierpnia 1955 roku, napiszemy: SELECT lastname, city FROM employees WHERE country = 'USA' AND BirthDate <'8/l/55'; 2. Operatora LIKE jeżeli chcemy sprawdzić zgodność tekstu z podanym wzorcem. Operator LIKE może zostać użyty dla danych tekstowych, binarnych oraz daty i czasu. Operator LIKE dopuszcza stosowanie następujących sym- boli wieloznacznych: a) % odpowiada dowolnemu ciągowi znaków o dłu- gości równej 0 lub większej, b) odpowiada dowolnemu pojedynczemu znakowi, c)[ ] odpowiada pojedynczemu znakowi z określonego zbioru lub zakresu, d)[ A ] odpowiada pojedynczemu znakowi nienależą-cemu do określonego zbioru lub zakresu.
5 Na przykład aby wyświetlić nazwy firm zawierające w swej nazwie słowo Restaurant, których nazwiska przedstawicieli zaczynają się na literę M, napiszemy: SELECT companyname FROM customers WHERE companyname LIKE '"irestaurantv AND ContactHame LIKE 3. Operatorów logicznych jeżeli chcemy połączyć kilka warunków wyszukiwania. Na przykład aby wyświetlić informacje o tych towarach, których nazwy nie zaczynają się na literę T lub R lub zostały dostarczone przez dostawcę o identyfikatorze równym 21 i jednocześnie kosztowały mniej niż 15 $, napiszemy: SELECT productname, supplierid, unitprice FROM products WHERE [productname NOT LIKE 'ff AND productname NOT LIKE 'RH') OR [supplierid = 21 AND unitprice < 15.00); 4. Operatora BETWEEN... AND jeżeli chcemy sprawdzić, czy wartość zapisana w tabeli należy (lub nie) do określonego przedziału zamkniętego. Na przykład aby wyświetlić nazwy towarów, których cena nie należy do przedziału <5,55>, napiszemy: SELECT productname FROM products WHERE unitprice NOT BETWEEN 5 AND 55; 5. Operatora IN jeżeli chcemy sprawdzić, czy wartość zapisana w tabeli należy do określonego zbioru. Na przykład aby wyświetlić nazwy firm ze Stanów lub Włoch, napiszemy: SELECT companyname, country FROM suppliers WHERE country IN ['USA', 'Haly'); 6. Operatora is NULL jeżeli chcemy sprawdzić, czy wartość zapisana w tabeli jest wartością nieokreśloną. Na przykład aby wyświetlić nazwy i numery telefonów tych firm, dla których nie znamy numeru faksu, napiszemy: SELECT companyname, phone FROM suppliers WHERE fax IS NULL; TYPY DANYCH BIGINT reprezentuje liczby całkowite z zakresu od -263 ( ) do 2S3-1 ( ). INT reprezentuje liczby całkowite z zakresu od -231 ( ) do ( ). SMALLINT reprezentuje liczby całkowite z zakresu od -215 (-32768) do (32767). DECIMAL reprezentuje liczby o określonej skali i precyzji z zakre su od do
6 1. Typ NUMERIC jest synonimem typu DECIMAL. FLOAT reprezentuje liczby o zmiennej precyzji z zakresu od 1,79E + 308do1,79E REAL reprezentuje liczby o zmiennej precyzji z zakresu od -3,40E + 38 do 3,40E Typy zmiennoprzecinkowe charakteryzują się tym, że wartości tak zapisanych danych przechowywane są z pewną skończoną dokładnością. CHAR reprezentuje ciąg znaków o określonej długości. NCHAR (SQL Server) reprezentuje ciąg znaków o określonej długości zapisanej w postaci Unicode. VARCHAR reprezentuje ciąg znaków o zmiennej długości. NVARCHAR (SQL Server) reprezentuje ciąg znaków o zmiennej długości zapisanej w postaci Unicode. TEXT reprezentuje ciąg znaków o określonej, nie większej niż ( ), długości. W serwerze SQL dane znako we o długości przekraczającej 8 KB powinny być reprezentowa ne za pomocą typów VARCHAR (MAX)lub NVARCHAR(MAX). DATE reprezentuje datę z dokładnością do jednego dnia. TIME reprezentuje czas i pozwala określić jego dokładność maksymalna wynosi 100 nanosekund. TIMESTAMP reprezentuje datę i czas. CHAR reprezentuje ciąg znaków o określonej długości. VARCHAR reprezentuje ciąg znaków o zmiennej długości. TEXT reprezentuje ciąg znaków o określonej, nie większej niż ( ), długości. BOOL (PostgreSQL) reprezentuje prawdę lub fałsz. Każdy system zarządzania bazami danych obsługuje specjalną wartość NULL, która reprezentuje dane brakujące lub o nie-określonej wartości. Wartość NULL jest wartością specjalną, różną od wszystkich innych wartości, w tym od e i pustego ciągu znaków Wskazówki 1. Wszelkie operacje z wartością NULL (np. łączenie ciągu znaków lub mnożenie liczb) zwracają NULL. 2. Jedynym dopuszczalnym operatorem porównania z tą war-tością jest operator is [NOT] NULL chociaż nie wiemy, jaką wartość reprezentuje NULL, to możemy sprawdzić, czy dana wartość jest nieokreślona.
7 3. Wartość UNKNOWN będąca wynikiem porównań wartości NULL jest w różny sposób interpretowana w poszczególnych klauzulach języka SQL Do konwersji typów służy operator :: (funkcja CAST AS) FUNKCJE WBUDOWANE I OPERATORY - konkatenacja tekstów Klauzula GROUP BY Określa grupy wierszy, dla których będą obliczane wyniki funkcji grupujących wymienionych w poleceniu SELECT. Na liście argumentów klauzuli GROP BY muszą znaleźć się wszystkie wyrażenia niebędące wynikiem funkcji grupującej wymienione w poleceniu SELECT. 1. Serwer baz danych zwróci jeden wiersz dla każdej grupy wartości. 2. Kolumny wymienione w klauzuli GROUP BY muszą być wymienione w poleceniu SELECT. 3. Maksymalna liczba kolumn ograniczona jest typem poszczególnych danych zwróconych przez funkcje grupujące. AVG, SUM, MIN, MAX Klauzula HAVING Określa warunki wyszukiwania dla grup lub funkcji grupujących. Za pomocą klauzuli określa się warunki, które muszą być spełnione przez grupy wymienione w klauzuli GROUP BY FORMATOWANIE WYNIKÓW Wynik zapytania może być sformatowany zgodnie z wymaganiami użytkownika: Za pomocą słowa kluczowego DISTINCT możemy wyeliminować duplikaty. Za pomocą aliasów możemy zmienić nazwy kolumn. Za pomocą literałów możemy dodać do wyniku dowolne wyrażenia.
8 Za pomocą klauzuli ORDER BY możemy posortować wiersze wyniku. Składnia klauzuli ORDER BY (PostgreSCjL): [ ORDER BY wyrażenie,... ] [ LIMIT ( numer ALL ) ] [ OFFSET numer ] Składnia klauzuli ORDER BY (SQL Server): ORDER BY wyrażenie [ COLLATE porządek sortowania ] [ ASC DESC ] [,.-.n] [OFFSET numer \ wyrażenie określające liczbę wierszy) { ROW ROWS ) [ FETCH ( FIRST NEXT ) ( numer \ wyrażenie określające liczbę wierszy ) { ROW ROWS ) ONLY gdzie: wyrażenie określa kolumnę, według której będą sortowane dane, ASC (wartość domyślna) określa, że dane będą sortowane w porządku rosnącym (od wartości najmniejszej do największej), DESC określa, że dane będą sortowane w porządku malejącym. Przykład: SELECT OrderW, CustomerW, EmployeeW, OrderDate FROM Orders ORDER BY OrderDate DESC; Kolejny przykład pokazuje, jak uporządkować wynik zapytania przez posortowanie wierszy, wyeliminowanie duplikatów oraz wykorzystanie aliasów i literałów: SELECT DISTINCT nazwa kraju: ', Country AS 'Kraj' FROM suppliers ORDER BY country; Ostatni przykład pokazuje, w jaki sposób możemy odczytać uporządkowane malejąco według wieku dane najstarszych klientów SELECT FirstName, Age FROM CustomersHistory ORDER BY Age DESC Najprostsza instrukcja Select SELECT * ;
9 Instrukcja Select trochę bardziej skomplikowana SELECT IMIĘ, NAZWISKO ; Instrukcja Select z prostym kryterium SELECT DISTINCTROW PRACOWNICY.NAZWISKO, PRACOWNICY.IMIĘ, PRACOWNICY.[KOD DZIAŁU], PRACOWNICY.STAWKA WHERE ((PRACOWNICY.STAWKA>7 And PRACOWNICY.STAWKA<9)) ORDER BY PRACOWNICY.NAZWISKO; Instrukcja Select z kryterium zgodności pierwszej litery SELECT DISTINCTROW PRACOWNICY.NAZWISKO, PRACOWNICY.IMIĘ, PRACOWNICY.[KOD DZIAŁU], PRACOWNICY.STAWKA WHERE (((PRACOWNICY.NAZWISKO) Like "A*" Or (PRACOWNICY.NAZWISKO) Like "W*" Or (PRACOWNICY.NAZWISKO) Like "Z*")) ORDER BY PRACOWNICY.NAZWISKO; Instrukcja Select z polami obliczeniowymi SELECT DISTINCTROW PRACOWNICY.NAZWISKO, PRACOWNICY.IMIĘ, PRACOWNICY.[KOD DZIAŁU], [CZAS PRACY]*[STAWKA] AS [STAWKA TYGODNIOWA], [STAWKA]*0.05 AS PREMIA ORDER BY PRACOWNICY.NAZWISKO; Instrukcja Select z dwóch połączonych tabel SELECT DISTINCTROW PRACOWNICY.NAZWISKO, PRACOWNICY.IMIĘ, ADRESY.ULICA, ADRESY.MIASTO, ADRESY.KOD FROM ADRESY INNER JOIN PRACOWNICY ON ADRESY.IDENTYFIKATOR = PRACOWNICY.IDENTYFIKATOR ORDER BY PRACOWNICY.NAZWISKO; Select i funkcja agregująca (COUNT,SUM,AVG,MIN,MAX) SELECT COUNT(NrPracownika) AS Licznik FROM Pracownicy; Select i grupowanie
10 SELECT DISTINCTROW PRACOWNICY.[KOD DZIAŁU], Sum([CZAS PRACY]*[STAWKA]) AS [STAWKA TYGODNIOWA] GROUP BY PRACOWNICY.[KOD DZIAŁU] ORDER BY PRACOWNICY.[KOD DZIAŁU]; Podkwerendy Podkwerendy (Podzapytania) : porównanie [ANY ALL SOME] (instrukcja_sql) wyrażenie [NOT] IN (instrukcja_sql) [NOT] EXISTS (instrukcja_sql) Jako źródło danych (tabela jako podzapytanie) Jako wyrażenie obliczane tak jak inne pola kwerendy Podzapytaniem nazywamy instrukcję SELECT umieszczoną w ramach innej instrukcji języka SQL (instrukcji SELECT,INSERT,UPDATE,DELETE). Podzapytania z reguły mogą być zastąpione złączeniami lub wyrażeniami. Najczęstszymi powodami tworzenia podzapytań są: 1. Chęć uproszczenia zapytania przez podzielenie go na kilka prostszych zapytań. 2. Wykorzystanie wyniku jednego zapytania jako danych źródłowych dla innego zapytania. Wskazówki 1. Podzapytanie musi być zapisane w nawiasie. 2. Wynik podzapytania nie może zawierać danych typów LOB, BLOB, CLOB 3. Serwery pozwalają na zagnieżdżanie zapytań do określonego poziomu w przypadku skomplikowanych lub zwracających duże liczby danych podzapytań maksymalny poziom zagnieżdżenia może obejmować kilka, a nawet kilkanaście podzapytań. Podzapytania niepowiązane Podzapytania niepowiązane w pierwszej kolejności wykonują zagnieżdżoną instrukcję, a zwrócone przez nią dane przekazują do zapytania zewnętrznego i wykonują je. W tego typu podzapytaniach zapytanie wewnętrzne wykonywane jest tylko raz. Podzapytania jako źródła danych Wynik podzapytania może być zbiorem danych źródłowych dla innego zapytania. W takim przypadku podzapytanie znajduje się w klauzuli zapytania nadrzędnego.
11 Podzapytania jako wyrażenia Wynik podzapytania może być potraktowany jako lista wartości wyrażenia, pod warunkiem że podzapytanie zwróciło wartość skalarną. Podzapytania powiązane W tego typu podzapytaniach zapytanie wewnętrzne wykonywane jest dla każdego wiersza wyniku zapytania zewnętrznego, dlatego wyniki obu zapytań mogą być ze sobą porównywane. Podzapytanie powiązane jest przykładem dynamicznego złączenia wyniku zapytania z każdym kolejnym wierszem wyniku zapytania zewnętrznego. Serwery baz danych wykonują podzapytania powiązane według następującego schematu: 1. Zapytanie zewnętrzne zwraca wiersz kandydujący. 2. Podzapytanie jest wykonywane, a jego wynik zostaje przekazany do zapytania zewnętrznego. 3. Zapytanie zewnętrzne zwraca kolejny wiersz i cały proces powtarza się tyle razy, ile wierszy zwróciło zewnętrzne zapytanie. Przykład (odczytujemy informacje o wszystkich produktach należących do tej samej kategorii co produkt o podanej nazwie a więc nie podajemy nazwy kategorii): Wskazówki 1. Podzapytania powiązane, choć są funkcjonalnym odpowiednikiem złączenia tabel, z reguły są wykonywane dłużej i wymagają przetworzenia większej ilości danych.
12 2. Jeżeli jest to możliwe, należy zastąpić podzapytanie powiązane klauzulą HAVING poprawia to czytelność i wydajność zapytania. Podzapytania z operatorem EXISTS Za pomocą operatorów EXISTS i NOT EXISTS możemy ograniczyć wynik zapytania zewnętrznego do wierszy zwróconych (lub nie, w wypadku operatora ) przez podzapytanie powiązane. Operator EXISTS jest dwuwartościowy zwraca wartość logiczną 1 : (prawda), jeżeli w wyniku podzapytania pojawia się określony wiersz, i 0; (fałsz), jeżeli wynik podzapytania nie zawiera określonego wiersza. Przykład (odczytujemy informacje o tych autorach, którzy mają to samo imię i nazwisko, a więc dane, które prawdo-podobnie przez pomyłkę zostały kilkakrotnie wprowadzone do bazy): Wskazówka Podzapytania z operatorem EXISTS lub NOT EXISTS nie zwracają żadnych danych, a jedynie prawdę lub fałsz. CTE CTE (ang. Common Table Expressions) to zdefiniowane w standardzie SQL3 nazwane wyrażenia tabelaryczne. CTE, tak jak tabele pochodne, są wynikami zapytań wewnętrznych, jednak: 1. Nazwę CTE definiuje się za pomocą słowa kluczowego WITH 2. Do raz zdefiniowanego CTE można się wielokrotnie odwoływać za pomocą jego nazwy. 3. Jeżeli podzapytanie zawiera kilka CTE, w później zdefiniowanych CTE można odwołać się do tych, które zostały zdefiniowane wcześniej. 4. Zdefiniowane w tym samym podzapytaniu CTE mogą być ze sobą powiązane, tworząc rekurencyjne CTE. Proste CTE Proste CTE nie tylko poprawiają czytelność zapytań, lecz także pozwalają przezwyciężyć niektóre ograniczenia serwerów bazodanowych. Na przykład jeżeli serwer nie pozwala używać funkcji NTILE w klauzuli WHERE, możemy przenieść funkcję rankingu do CTE i w zapytaniu zewnętrznym odwołać się do aliasu zdefiniowanego dla niej w CTE.
13 Rekurencyjne CTE Łącząc ze sobą wyniki dwóch CTE, uzyskamy możliwość wykonywania rekurencyjnych zapytań bez użycia tabel tymczasowych, pętli czy kursorów. Rekurencyjne CTE składa się z dwóch zapytań wewnętrznych połączonych operatorem UNION ALL (zatem oba zapytania muszą zwrócić tę samą liczbę kolumn, a odpowiadające sobie kolumny muszą być tego samego typu): 1. Pierwsze zapytanie reprezentuje warunek brzegowy rekurencji (ang. Anchor Member) i jest wykonywane tylko raz. 2. Drugie zapytanie jest wykonywane dopóty, dopóki zwraca jakieś wiersze (ang. Recursive Member). Wiersze zwrócone przez drugie zapytanie trafiają do wyniku CTE. Standardowym zastosowaniem rekurencyjnych CTE jest odczytywanie hierarchicznych danych, na przykład informacji o strukturze pracowników (pracownik X może być podwładnym pracownika Y i jednocześnie przełożonym pracownika Z). IN SELECT IDENTYFIKATOR, NAZWISKO, IMIĘ, [KOD DZIAŁU] WHERE [KOD DZIAŁU] IN ("AD","MK") SELECT IDENTYFIKATOR, NAZWISKO, IMIĘ, [KOD DZIAŁU] WHERE [KOD DZIAŁU] NOT IN ("WK","ZW")
14 Podkwerenda w warunku IN SELECT IDENTYFIKATOR, NAZWISKO, IMIĘ, [KOD DZIAŁU] WHERE PRACOWNICY.[KOD DZIAŁU] IN (SELECT [KOD DZIAŁU] FROM [KODY I NAZWY DZIAŁÓW] WHERE ZAMIEJSCOWY=TRUE) ANY/ALL SELECT IDENTYFIKATOR, IMIĘ, NAZWISKO, STAWKA WHERE (((PRACOWNICY.STAWKA)>ANY (SELECT CENA_BUTELKI FROM SKLEP))) ORDER BY PRACOWNICY.IDENTYFIKATOR DESC; SELECT IDENTYFIKATOR, IMIĘ, NAZWISKO, STAWKA WHERE (((PRACOWNICY.STAWKA)>ALL (SELECT CENA_BUTELKI FROM SKLEP))) ORDER BY PRACOWNICY.IDENTYFIKATOR DESC; EXISTS SELECT IDENTYFIKATOR,IMIĘ,NAZWISKO WHERE EXISTS (SELECT * FROM NAGRODY WHERE ID=PRACOWNICY.IDENTYFIKATOR) Podkwerenda jako pole SELECT IDENTYFIKATOR, NAZWISKO, IMIĘ, [KOD DZIAŁU], (SELECT COUNT(*) FROM DNI_WOLNE WHERE IDENTYFIKATOR=PRACOWNICY.IDENTYFIKATOR) AS DNI Klauzula HAVING SELECT [KOD DZIAŁU], AVG(PRACOWNICY.WYNAGRODZENIE) AS SREDNIEWYNAGRODZENIE GROUP BY PRACOWNICY.[KOD DZIAŁU] HAVING (((AVG(PRACOWNICY.WYNAGRODZENIE))>1000)); Podkwerenda + HAVING SELECT MIASTO, IDENTYFIKATOR FROM ADRESY WHERE (MIASTO In (SELECT MIASTO FROM ADRESY AS ADRESYALIAS GROUP BY MIASTO HAVING Count(*)>=5 ))
SQL - Structured Query Language. strukturalny język zapytań
SQL - Structured Query Language strukturalny język zapytań SQL - Structured Query Language - strukturalny język zapytań Światowy standard przeznaczony do definiowania, operowania i sterowania danymi w
Bardziej szczegółowo3. Podzapytania, łączenie tabel i zapytań
3. Podzapytania, łączenie tabel i zapytań I. PODZAPYTANIE (SUBSELECT) oddzielna, ujęta w nawiasy instrukcja SELECT, zagnieżdżona w innej instrukcji SQL, zazwyczaj w instrukcji SELECT w instrukcji SELECT,
Bardziej szczegółowoSystemy GIS Tworzenie zapytań w bazach danych
Systemy GIS Tworzenie zapytań w bazach danych Wykład nr 6 Analizy danych w systemach GIS Jak pytać bazę danych, żeby otrzymać sensowną odpowiedź......czyli podstawy języka SQL INSERT, SELECT, DROP, UPDATE
Bardziej szczegółowoJęzyk SQL. Rozdział 2. Proste zapytania
Język SQL. Rozdział 2. Proste zapytania Polecenie SELECT, klauzula WHERE, operatory SQL, klauzula ORDER BY. 1 Wprowadzenie do języka SQL Język dostępu do bazy danych. Język deklaratywny, zorientowany na
Bardziej szczegółowoNORTHWIND. Anonco.pl. ćwiczenia praktyczne. KiK s Tutorials. NORTHWIND dwiczenia praktyczne. ANONCO.PL/SQL SQLSERVERDLAOPORNYCH.WORDPRESS.
Anonco.pl NORTHWIND dwiczenia praktyczne. NORTHWIND ćwiczenia praktyczne KiK s Tutorials Spis treści Część 1. Wprowadzenie 3 Wprowadzenie do SQL Server 3 Rozpoczynamy pracę z SQL Server 4 Część 2. Typy
Bardziej szczegółowoPrzestrzenne bazy danych Podstawy języka SQL
Przestrzenne bazy danych Podstawy języka SQL Stanisława Porzycka-Strzelczyk porzycka@agh.edu.pl home.agh.edu.pl/~porzycka Konsultacje: wtorek godzina 16-17, p. 350 A (budynek A0) 1 SQL Język SQL (ang.structured
Bardziej szczegółowoSQL (ang. Structured Query Language)
SQL (ang. Structured Query Language) SELECT pobranie danych z bazy, INSERT umieszczenie danych w bazie, UPDATE zmiana danych, DELETE usunięcie danych z bazy. Rozkaz INSERT Rozkaz insert dodaje nowe wiersze
Bardziej szczegółowoSzkolenie autoryzowane. MS Tworzenie zapytań do Microsoft SQL Server Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje
Szkolenie autoryzowane MS 10774 Tworzenie zapytań do Microsoft SQL Server 2012 Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje Opis szkolenia Uwaga! Szkolenie wycofane z oferty. Zapraszamy
Bardziej szczegółowoAutor: Joanna Karwowska
Autor: Joanna Karwowska Jeśli pobieramy dane z więcej niż jednej tabeli, w rzeczywistości wykonujemy tak zwane złączenie. W SQL istnieją instrukcje pozwalające na formalne wykonanie złączenia tabel - istnieje
Bardziej szczegółowoopisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy)
Zapytania SQL. Polecenie SELECT jest używane do pobierania danych z bazy danych (z tabel lub widoków). Struktura polecenia SELECT SELECT FROM WHERE opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje
Bardziej szczegółowoPodstawy języka SQL. SQL Structured Query Languagestrukturalny
Podstawy języka SQL SQL Structured Query Languagestrukturalny język zapytań DDL Język definicji danych (np. tworzenie tabel) DML Język manipulacji danych (np. tworzenie zapytań) DCL Język kontroli danych
Bardziej szczegółowoWykład 6. SQL praca z tabelami 3
Wykład 6 SQL praca z tabelami 3 Łączenie wyników zapytań Język SQL zawiera mechanizmy pozwalające na łączenie wyników kilku pytań. Pozwalają na to instrukcje UNION, INTERSECT, EXCEPT o postaci: zapytanie1
Bardziej szczegółowoLaboratorium Bazy danych SQL 2
Klauzula order by występuje jako ostatnia klauzula w poleceniu select, powoduje posortowanie wierszy będących wynikiem zapytania według wartości atrybutu w niej wskazanego. Domyślnie sortowanie jest według
Bardziej szczegółowoPodstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, Spis treści
Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, 2016 Spis treści Wprowadzenie Podziękowania xiii xvii 1 Podstawy zapytań i programowania T-SQL 1 Podstawy
Bardziej szczegółowoAutor: Joanna Karwowska
Autor: Joanna Karwowska SELECT [DISTINCT] FROM [WHERE ] [GROUP BY ] [HAVING ] [ORDER BY ] [ ] instrukcja może
Bardziej szczegółowoWybór wszystkich danych: SELECT * FROM employee Wybór określonych kolumn lub wyrażeń: SELECT first_name, last_name, salary FROM employee
Polecenie SELECT instrukcja pobierająca dane z bazy danych (z tabel, widoków) użytkownik posługujący się nią musi mieć uprawnienia do pobierania danych wynikiem zapytania jest zawsze tablica o określonych
Bardziej szczegółowoPodstawowe zapytania SELECT (na jednej tabeli)
Podstawowe zapytania SELECT (na jednej tabeli) Struktura polecenia SELECT SELECT opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje FROM nazwy tabel lub widoków WHERE warunek (wybieranie wierszy) GROUP
Bardziej szczegółowo8.9. Język SQL Kwerenda wybierająca w języku SQL
Rozdział 8 t Bazy danych program Access Program Access włączy wyłączoną zawartość, a baza danych zostanie ponownie otwarta jako w pełni funkcjonalna. W przeciwnym razie wyłączone składniki nie będą działać.
Bardziej szczegółowoPODZAPYTANIE (SUBSELECT)
2. Podzapytania PODZAPYTANIE (SUBSELECT) oddzielna, ujęta w nawiasy instrukcja SELECT, zagnieżdżona w innej instrukcji SQL, zazwyczaj w instrukcji SELECT W instrukcji SELECT, podzapytanie może być umieszczone
Bardziej szczegółowoMicrosoft SQL Server Podstawy T-SQL
Itzik Ben-Gan Microsoft SQL Server Podstawy T-SQL 2012 przełożył Leszek Biolik APN Promise, Warszawa 2012 Spis treści Przedmowa.... xiii Wprowadzenie... xv Podziękowania... xix 1 Podstawy zapytań i programowania
Bardziej szczegółowoPaweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/
Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/ Wprowadzenie Historia i standardy Podstawy relacyjności Typy danych DDL tabele, widoki, sekwencje zmiana struktury DML DQL Podstawy, złączenia,
Bardziej szczegółowoRelacyjne bazy danych. Podstawy SQL
Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umożliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.
Bardziej szczegółowoPodzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę
Podzapytania Rozdział 5 Podzapytania podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, klauzula WITH, operatory ANY, ALL i EXISTS, zapytania hierarchiczne Podzapytanie jest poleceniem
Bardziej szczegółowoPodstawy języka SQL cz. 2
Podstawy języka SQL cz. 2 1. Operatory zbiorowe a. UNION suma zbiorów z eliminacją powtórzeń, b. EXCEPT różnica zbiorów z eliminacją powtórzeń, c. INTERSECT część wspólna zbiorów z eliminacją powtórzeń.
Bardziej szczegółowoJęzyk SQL. instrukcja laboratoryjna. Politechnika Śląska Instytut Informatyki. laboratorium Bazy Danych
Politechnika Śląska Instytut Informatyki instrukcja laboratoryjna laboratorium Bazy Danych przygotowali: mgr inż. Paweł Kasprowski (Kasprowski@zti.iinf.polsl.gliwice.pl) mgr inż. Bożena Małysiak (bozena@ivp.iinf.polsl.gliwice.pl)
Bardziej szczegółowoSELECT * FROM tabela WHERE warunek wybiera dane spełniające podany warunek
SELECT SELECT kolumna1, kolumna2,, kolumnan FROM tabela wybrane kolumny SELECT * FROM tabela wszystkie kolumny select * from Orders select CustomerID, CompanyName, Country from Customers WHERE SELECT *
Bardziej szczegółowoAutor: Joanna Karwowska
Autor: Joanna Karwowska SELECT [DISTINCT] FROM [WHERE ] [GROUP BY ] [HAVING ] [ORDER BY ] [ ] instrukcja może
Bardziej szczegółowoWykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania.
Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania. Przykładowa RBD o schematach relacji (tzw. płaska postać RBD): N(PRACOWNICY) = {ID_P, IMIĘ,
Bardziej szczegółowoWstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9
Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9 Tabele 9 Klucze 10 Relacje 11 Podstawowe zasady projektowania tabel 16 Rozdział 2. Praca z tabelami 25 Typy danych 25 Tworzenie tabel 29 Atrybuty kolumn
Bardziej szczegółowoAby uruchomić program klienta i połączyć się z serwerem, należy komendę:
Bazy danych. Komunikacja z serwerem Aby połączyć się z serwerem i móc wykonywać czynności związane z obsługą baz, potrzebny jest program klienta. Razem z serwerem MySQL dostępny jest działający w wierszu
Bardziej szczegółowoPodzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę
Podzapytania Rozdział 5 Podzapytania podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, klauzula WITH, operatory ANY, ALL i EXISTS, zapytania hierarchiczne Podzapytanie jest poleceniem
Bardziej szczegółowoWprowadzenie do języka SQL
Wprowadzenie do języka SQL język dostępu do bazy danych grupy poleceń języka: DQL (ang( ang.. Data Query Language) DML (ang( ang.. Data Manipulation Language) DDL (ang( ang.. Data Definition Language)
Bardziej szczegółowoJęzyk SQL Złączenia. Laboratorium. Akademia Morska w Gdyni
Akademia Morska w Gdyni Gdynia 2004 1. Złączenie definicja Złączenie (JOIN) to zbiór rekordów stanowiących wynik zapytania służącego pobraniu danych z połączonych tabel (związki jeden-do-jeden, jeden-do-wiele
Bardziej szczegółowoWstęp Wprowadzenie do BD Podstawy SQL. Bazy Danych i Systemy informacyjne Wykład 1. Piotr Syga
Bazy Danych i Systemy informacyjne Wykład 1 Piotr Syga 09.10.2017 Ogólny zarys wykładu Podstawowe zapytania SQL Tworzenie i modyfikacja baz danych Elementy dynamiczne, backup, replikacja, transakcje Algebra
Bardziej szczegółowoJęzyki programowania wysokiego poziomu. PHP cz.4. Bazy danych
Języki programowania wysokiego poziomu PHP cz.4. Bazy danych PHP i bazy danych PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: MySQL moduł mysql albo jego nowsza wersja mysqli (moduł
Bardziej szczegółowoPodstawy języka SQL. standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi. Bazy danych s.5-1
Podstawy języka SQL standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi Bazy danych s.5-1 Język SQL SQL (ang. Structured Query Language, strukturalny język zapytań) język
Bardziej szczegółowoWstęp do SQL. copyright: KGiIS WGGiOŚ AGH
Wstęp do SQL SQL (Structured Query Language) strukturalny język zapytań używany do tworzenia, modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych. Język SQL jest językiem deklaratywnym.
Bardziej szczegółowoWspółczesne systemy baz danych
Współczesne systemy baz danych dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu Zakład Systemów Informatycznych i Mechatronicznych (SIMT) 2019 Język SQL Język SQL (ang. Structured
Bardziej szczegółowoWspółczesne systemy baz danych
Współczesne systemy baz danych dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu Zakład Systemów Informatycznych i Mechatronicznych (SIMT) 2018 Język SQL Język SQL (ang. Structured
Bardziej szczegółowoGrupowanie i funkcje agregacji. Grupowanie z użyciem rollup
Grupowanie i funkcje agregacji Grupowanie z użyciem rollup Funkcje agregujące: COUNT([DISTINCT] wyrażenie *), MIN(wyrażenie), MAX(wyrażenie), SUM([DISTINCT] wyrażenie), AVG([DISTINCT] wyrażenie). Klauzula
Bardziej szczegółowoBazy danych 2. Wykład 4 Structured Query Language (SQL)
Bazy danych 2 Wykład 4 Structured Query Language (SQL) Cechy SQL W standardzie SQL wyróŝnia się dwie części: DDL (Data Definition Language) - język definiowania danych DML (Data Manipulation Language)
Bardziej szczegółowoZadania z SQLa (MS SQL Server)
Zadania z SQLa (MS SQL Server) Struktura testowej bazy danych (diagram ERD): opracował dr Robert Fidytek SPIS TYPÓW ZADAŃ 1 Projekcja wyników zapytań (SELECT FROM )... 3 2 Sortowanie wyników zapytań (ORDER
Bardziej szczegółowoRelacyjne bazy danych. Podstawy SQL
Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umoŝliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.
Bardziej szczegółowoIntegralność danych Wersje języka SQL Klauzula SELECT i JOIN
Integralność danych Wersje języka SQL Klauzula SELECT i JOIN Robert A. Kłopotek r.klopotek@uksw.edu.pl Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW Integralność danych Aspekty integralności
Bardziej szczegółowoPodstawy języka SQL Co to jest SQL? Możliwości SQL SQL*Plus
Podstawy języka SQL Co to jest SQL? Structured Query Language uchodzi za standard języka zapytań kierowanych do systemu zarządzania bazą danych. SQL jest językiem deklaratywnym tj. takim, w którym istotne
Bardziej szczegółowoWykład 5. SQL praca z tabelami 2
Wykład 5 SQL praca z tabelami 2 Wypełnianie tabel danymi Tabele można wypełniać poprzez standardową instrukcję INSERT INTO: INSERT [INTO] nazwa_tabeli [(kolumna1, kolumna2,, kolumnan)] VALUES (wartosc1,
Bardziej szczegółowo1 DML - zapytania, część II Grupowanie Operatory zbiorowe DML - modyfikacja 7. 3 DCL - sterowanie danymi 9.
Plan wykładu Spis treści 1 DML - zapytania, część II 1 1.1 Grupowanie................................... 1 1.2 Operatory zbiorowe............................... 5 2 DML - modyfikacja 7 3 DCL - sterowanie
Bardziej szczegółowoProjekt jest finansowany ze środków Unii Europejskiej, Europejskiego Funduszu Społecznego i budŝetu państwa. Studia Podyplomowe dla Nauczycieli
Projekt jest finansowany ze środków Unii Europejskiej, Europejskiego Funduszu Społecznego i budŝetu państwa Studia Podyplomowe dla Nauczycieli Bazy danych SQL Języki baz danych Interfejs DBMS składa się
Bardziej szczegółowoWprowadzenie do baz danych
Wprowadzenie do baz danych Dr inż. Szczepan Paszkiel szczepanpaszkiel@o2.pl Katedra Inżynierii Biomedycznej Politechnika Opolska Wprowadzenie DBMS Database Managment System, System za pomocą którego można
Bardziej szczegółowoGrupowanie i funkcje agregacji
Grupowanie i funkcje agregacji Funkcje agregujące: COUNT([DISTINCT] wyrażenie *), MIN(wyrażenie), MAX(wyrażenie), SUM([DISTINCT] wyrażenie), AVG([DISTINCT] wyrażenie). Klauzula GROUP BY Grupowanie polega
Bardziej szczegółowoBazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8
Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8 Bazowy skrypt PHP do ćwiczeń z bazą MySQL: Utwórz skrypt o nazwie cw7.php zawierający następującą treść (uzupełniając go o właściwą nazwę uŝytkownika
Bardziej szczegółowoJęzyk SQL. Rozdział 7. Zaawansowane mechanizmy w zapytaniach
Język SQL. Rozdział 7. Zaawansowane mechanizmy w zapytaniach Ograniczanie rozmiaru zbioru wynikowego, klauzula WITH, zapytania hierarchiczne. 1 Ograniczanie liczności zbioru wynikowego (1) Element standardu
Bardziej szczegółowoSIECI KOMPUTEROWE I BAZY DANYCH
KATEDRA MECHANIKI I ROBOTYKI STOSOWANEJ WYDZIAŁ BUDOWY MASZYN I LOTNICTWA, POLITECHNIKA RZESZOWSKA SIECI KOMPUTEROWE I BAZY DANYCH Laboratorium DB1, DB2: TEMAT: Wprowadzenie do SQL. Praca z pojedyncza
Bardziej szczegółowoMarek Rakowski Podstawy zdania SELECT Strona 1 z 12
Marek Rakowski Podstawy zdania SELECT Strona 1 z 12 Podstawy języka SQL Co to jest SQL? Structured Query Language uchodzi za standard języka zapytań kierowanych do systemu zarządzania bazą danych. SQL
Bardziej szczegółowoKonstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT
Studia podyplomowe Inżynieria oprogramowania współfinansowane przez Unię Europejska w ramach Europejskiego Funduszu Społecznego Projekt Studia podyplomowe z zakresu wytwarzania oprogramowania oraz zarządzania
Bardziej szczegółowoSQL, LIKE, IN, CASE, EXISTS. Marcin Orchel
SQL, LIKE, IN, CASE, EXISTS Marcin Orchel Spis treści 1 LIKE 2 2 BETWEEN 4 3 IN 5 4 EXISTS 6 5 WYRAŻENIA CASE 7 6 Zadania 9 1 Rozdział 1 LIKE Predykat LIKE jest testem dopasowującym wzorzec łańcucha. Składnia
Bardziej szczegółowoIndeksowanie w bazach danych
w bazach Katedra Informatyki Stosowanej AGH 5grudnia2013 Outline 1 2 3 4 Czym jest indeks? Indeks to struktura, która ma przyspieszyć wyszukiwanie. Indeks definiowany jest dla atrybutów, które nazywamy
Bardziej szczegółowoPodzapytania. SELECT atrybut_1, atrybut_2,... FROM relacja WHERE atrybut_n operator (SELECT atrybut_1, FROM relacja WHERE warunek
Podzapytania Podzapytanie jest poleceniem SELECT zagnieżdżonym w innym poleceniu SELECT. Podzapytanie może wystąpić wszędzie tam, gdzie system spodziewa się zbioru wartości, czyli w klauzulach SELECT,
Bardziej szczegółowoPodzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę
Podzapytania Rozdział 5 Podzapytania podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, klauzula WITH, operatory ANY, ALL i EXISTS, zapytania hierarchiczne Podzapytanie jest poleceniem
Bardziej szczegółowoTworzenie zapytań do Microsoft SQL Server
MS 20461 Tworzenie zapytań do Microsoft SQL Server Czas trwania: 5 dni (40 h) Poziom trudności: Średnio Zaawansowany Autoryzacja: Microsoft Opis: Szkolenie administratorów baz danych oraz programistów
Bardziej szczegółowoTechnologie baz danych
Plan wykładu Technologie baz danych Wykład 2: Relacyjny model danych - zależności funkcyjne. SQL - podstawy Definicja zależności funkcyjnych Reguły dotyczące zależności funkcyjnych Domknięcie zbioru atrybutów
Bardziej szczegółowoKwerendy (zapytania) wybierające
Access 2. Kwerendy (zapytania) wybierające Kwerendy wybierające (nazywane też zapytaniami wybierającymi) są podstawowymi obiektami w MS Access służącymi do wyszukiwania danych w tabelach. W wyniku uruchomienia
Bardziej szczegółowoBazy danych - wykład wstępny
Bazy danych - wykład wstępny Wykład: baza danych, modele, hierarchiczny, sieciowy, relacyjny, obiektowy, schemat logiczny, tabela, kwerenda, SQL, rekord, krotka, pole, atrybut, klucz podstawowy, relacja,
Bardziej szczegółowoĆwiczenie zapytań języka bazy danych PostgreSQL
Ćwiczenie zapytań języka bazy danych PostgreSQL 1. Uruchom link w przeglądarce: http://127.0.0.1/phppgadmin 2. Kliknij w zaznaczony na czerwono link PostgreSQL: 3. Zaloguj się wpisując hasło i login student.
Bardziej szczegółowoJęzyk SQL. Rozdział 5. Połączenia i operatory zbiorowe
Język SQL. Rozdział 5. Połączenia i operatory zbiorowe Iloczyn kartezjański, połączenie równościowe, połączenie nierównościowe, połączenie zwrotne, połączenie zewnętrzne, składnia jawna połączeń, składnia
Bardziej szczegółowo77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.
77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego. Przy modelowaniu bazy danych możemy wyróżnić następujące typy połączeń relacyjnych: jeden do wielu, jeden do jednego, wiele
Bardziej szczegółowoLaboratorium nr 5. Temat: Funkcje agregujące, klauzule GROUP BY, HAVING
Laboratorium nr 5 Temat: Funkcje agregujące, klauzule GROUP BY, HAVING Celem ćwiczenia jest zaprezentowanie zagadnień dotyczących stosowania w zapytaniach języka SQL predefiniowanych funkcji agregujących.
Bardziej szczegółowoAliasy Select p.first_name, p.salary, j.job_title from employees p, jobs j where p.job_id=j.job_id;
Dane z kilku tabel Aliasy Select p.first_name, p.salary, j.job_title from employees p, jobs j where p.job_id=j.job_id; Łączenie kilku selectów w jeden posortowany wynik 1. UNION suma bez powtórzeń. Powoduje,
Bardziej szczegółowoŁączenie wyników zapytań w SQL
Łączenie wyników zapytań w SQL Pisząc zapytania SELECT czasami zachodzi potrzeba złączenia pobranych wyników. W SQL mamy do dyspozycji operatory takie jak: suma (UNION), różnica (EXCEPT) oraz cześć wspólną
Bardziej szczegółowoWykład 8. SQL praca z tabelami 5
Wykład 8 SQL praca z tabelami 5 Podzapytania to mechanizm pozwalający wykorzystywać wyniki jednego zapytania w innym zapytaniu. Nazywane często zapytaniami zagnieżdżonymi. Są stosowane z zapytaniami typu
Bardziej szczegółowoBazy danych 6. Podzapytania i grupowanie. P. F. Góra
Bazy danych 6. Podzapytania i grupowanie P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012 Podzapytania Podzapytania pozwalaja na tworzenie strukturalnych podzapytań, co umożliwia izolowanie poszczególnych
Bardziej szczegółowoSzkolenie Oracle SQL podstawy. Terminy. 15 17 lutego 2010 First Minute! 1100zł!
Szkolenie Oracle SQL podstawy Terminy 15 17 lutego 2010 First Minute! 1100zł! Opis szkolenia Baza danych Oracle od dawna cieszy się zasłużona sławą wśród informatyków. Jej wydajność, szybkość działania
Bardziej szczegółowo- język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji
6. Język SQL Język SQL (Structured Query Language): - język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji - stworzony w IBM w latach 70-tych DML (Data Manipulation
Bardziej szczegółowoSQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści
SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, 2017 Spis treści O autorze 9 Wprowadzenie 11 Lekcja 1. Zrozumieć SQL 15 Podstawy baz danych 15 Język SQL
Bardziej szczegółowoLaboratorium nr 8. Temat: Podstawy języka zapytań SQL (część 2)
Laboratorium nr 8 Temat: Podstawy języka zapytań SQL (część 2) PLAN LABORATORIUM: 1. Sortowanie. 2. Warunek WHERE 3. Eliminacja powtórzeń - DISTINCT. 4. WyraŜenia: BETWEEN...AND, IN, LIKE, IS NULL. 5.
Bardziej szczegółowoSQL praca z tabelami 4. Wykład 7
SQL praca z tabelami 4 Wykład 7 1 Funkcje agregujące Informacja poszukiwana w bazie danych często musi być wyliczana na podstawie danych znajdujących się w wielu wierszach tabeli. Tak jest gdy chcemy znać
Bardziej szczegółowoSQL Structured Query Language
SQL Structured Query Language stworzony na początku lat 70 ubiegłego wieku w IBM przez Donalda Messerly'ego, Donalda Chamberlina oraz Raymonda Boyce'a pod nazwą SEQUEL pierwszy SZBD System R utworzony
Bardziej szczegółowoPawel@Kasprowski.pl Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl
Bazy danych Podstawy języka SQL Dr inż. Paweł Kasprowski pawel@kasprowski.pl Plan wykładu Relacyjne bazy danych Język SQL Zapytania SQL (polecenie select) Bezpieczeństwo danych Integralność danych Współbieżność
Bardziej szczegółowoGrupowanie i funkcje agregujące
Grupowanie i funkcje agregujące Zadanie 1. Stwórz odpowiednią tabelę Test_agr i wprowadź odpowiednie rekordy tak, aby wynik zapytania SELECT AVG(kol) avg_all, AVG(DISTINCT kol) avg_dist, COUNT(*) count_gw,
Bardziej szczegółowoPRZESTRZENNE BAZY DANYCH WYKŁAD 2
PRZESTRZENNE BAZY DANYCH WYKŁAD 2 Baza danych to zbiór plików, które fizycznie przechowują dane oraz system, który nimi zarządza (DBMS, ang. Database Management System). Zadaniem DBMS jest prawidłowe przechowywanie
Bardziej szczegółowoZłączenie CROSS JOIN jest to tzw. złączenie krzyżowe, którego ogólna postać wygląda następująco:
Połączenia krzyżowe Złączenie typu CROSS JOIN Złączenie CROSS JOIN jest to tzw. złączenie krzyżowe, którego ogólna postać wygląda następująco: SELECT kolumna1, kolumna2,..., kolumnan FROM tabela1 CROSS
Bardziej szczegółowoInformatyka sem. III studia inżynierskie Transport 2018/19 LAB 2. Lab Backup bazy danych. Tworzenie kopii (backup) bazy danych
Informatyka sem. III studia inżynierskie Transport 2018/19 Lab 2 LAB 2 1. Backup bazy danych Tworzenie kopii (backup) bazy danych Odtwarzanie bazy z kopii (z backup u) 1. Pobieramy skrypt Restore 2. Pobieramy
Bardziej szczegółowoPrzykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.
Marek Robak Wprowadzenie do języka SQL na przykładzie baz SQLite Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi. Tworzenie tabeli Pierwsza tabela W relacyjnych bazach danych jedna
Bardziej szczegółowo10. Wybierz nazwy produktów oraz inf. o stanie magazynu dla produktów dostarczanych przez firmę.tokyo Traders.
SQL I Wybieranie danych z pojedynczej tabeli Baza NORTHWIND 1. Wybierz nazwy i adresy wszystkich klientów select CompanyName,Address from Customers 2. Wybierz nazwiska i numery telefonów pracowników select
Bardziej szczegółowoProgram szkoleniowy Efektywni50+ Moduł IV Podstawy relacyjnych baz danych i język SQL
Program szkoleniowy Efektywni50+ Moduł IV Podstawy relacyjnych baz danych i język SQL 1 Podstawy relacyjnego modelu danych. 3h UWAGA: Temat zajęć jest typowo teoretyczny i stanowi wprowadzenie do zagadnień
Bardziej szczegółowoBazy danych SQL Server 2005
Bazy danych SQL Server 2005 TSQL Michał Kuciapski Typ zadania: Podstawowe zapytania Select Zadanie 1: Wyświetl następujące informacje z bazy: A. 1. Wyświetl informacje o klientach: nazwa firmy, imie, nazwisko,
Bardziej szczegółowoProgramowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie
Programowanie MSQL show databases; - pokazanie jakie bazy danych są dostępne na koncie show databases; - wyświetlenie wszystkich baz danych na serwerze create database nazwa; - za nazwa wstawiamy wybraną
Bardziej szczegółowoE.14 Bazy Danych cz. 13 SQL Grupowanie danych i funkcje grupujące
Funkcje grupujące Funkcja COUNT() Funkcja SUM() Funkcja AVG() Funkcje MIN() i MAX() Funkcja GROUP_CONCAT() Grupowanie danych Operator ROLLUP Klauzula HAVING Kolejność wykonywania klauzuli zapytań Na podstawie:
Bardziej szczegółowoMarek Rakowski Zdanie SELECT wybieranie danych z wielu tabel Strona 1 z 6
Marek Rakowski Zdanie SELECT wybieranie danych z wielu tabel Strona 1 z 6 Wybieranie danych z wielu tabel polega na użyciu więcej niż jednej tabeli w klauzuli FROM i, najczęściej, kolumn z więcej niż jednej
Bardziej szczegółowostrukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych
SQL SQL (ang. Structured Query Language): strukturalny język zapytań używany do tworzenia strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych
Bardziej szczegółowoBazy danych wykład trzeci. Konrad Zdanowski
SQL - przypomnienie Podstawowa forma kwerendy SQL: select A1,..., Ak from R1,..., Rn where ; Odpowiada jej w algebrze relacji operacja π A1,...,Ak (σ (R1 Rn)) SQL semantyka select R.
Bardziej szczegółowoACESS- zadania z wykorzystaniem poleceń SQL
ACESS- zadania z wykorzystaniem poleceń SQL Dane są relacje o schematach: Pracownik ( (nr integer, nazwisko text(12), etat text(10), szef integer, pracuje_od date, placa_pod Currency, placa_dod Currency,
Bardziej szczegółowoWykład 4. SQL praca z tabelami 1
Wykład 4 SQL praca z tabelami 1 Typy danych Typy liczbowe Typy całkowitoliczbowe Integer types - Typ INTEGER; 32-bitowa liczba ze znakiem z zakresu -2 31 do 2 31 1 - Typ SMALLINT; typ całkowity mniejszy
Bardziej szczegółowoJęzyk SQL. Rozdział 6. Podzapytania Podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, operatory ANY, ALL i EXISTS.
Język SQL. Rozdział 6. Podzapytania Podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, operatory ANY, ALL i EXISTS. 1 Podzapytania Podzapytanie jest poleceniem SELECT zagnieżdżonym
Bardziej szczegółowoJęzyk SQL podstawy zapytań
Język SQL podstawy zapytań 1 Plan prezentacji 1. Krótka historia języka SQL 2. Cechy języka SQL 3. Przykładowa baza danych 4. Podstawy zapytań - operacje na modelu relacyjnym 5. Polecenie SELECT zapytania
Bardziej szczegółowoBazy danych Access KWERENDY
Bazy danych Access KWERENDY Obiekty baz danych Access tabele kwerendy (zapytania) formularze raporty makra moduły System baz danych MS Access Tabela Kwerenda Formularz Raport Makro Moduł Wyszukiwanie danych
Bardziej szczegółowoSpecyfika języka SQL powoduje, że łatwiej jest najpierw wytłumaczyć, jak korzystać z funkcji grupujących, a dopiero później jak grupować dane.
W tym odcinku poznasz funkcje grupujące i dwie nowe klauzule instrukcji SELECT GROUP BY i HAVING. Nauczysz się też grupować dane, czyli łączyć wiele wierszy w jeden. Grupowanie danych polega na łączeniu
Bardziej szczegółowoPlan. Łączenie danych z wielu tabel złączenia JOIN suma zbiorów - UNION Użycie aliasów dla nazw tabel
Plan Łączenie danych z wielu tabel złączenia JOIN suma zbiorów - UNION Użycie aliasów dla nazw tabel Przykładowa baza Joindb Joindb Database Diagram Sales PK Produce prod_id prod_name FK FK2 buyer_id prod_id
Bardziej szczegółowoBazy danych 7. SQL podstawy
Bazy danych 7. SQL podstawy P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2005/06 Structured Query Language Używane standardy: SQL92 SQL99 SQL:2003 Żaden dostawca nie jest w pełni zgodny
Bardziej szczegółowoBazy Danych. SQL Podstawy języka II: zapytania. Krzysztof Regulski WIMiIP, KISiM, B5, pok. 408
Bazy Danych SQL Podstawy języka II: zapytania Krzysztof Regulski WIMiIP, KISiM, regulski@agh.edu.pl B5, pok. 408 Konstrukcja select-from-where SQL oparty jest na algebrze relacji z pewnymi modyfikacjami
Bardziej szczegółowo