Bazy danych 11. Kilka przykładów. P. F. Góra
|
|
- Bronisława Antczak
- 5 lat temu
- Przeglądów:
Transkrypt
1 Bazy danych 11. Kilka przykładów P. F. Góra
2 2. Dziury w sekwencjach Jest to klasyczny problem programistyczny w SQL: Majac dany rosnacy ciag liczb naturalnych, sprawdzić, czy występuja w nim dziury, to znaczy czy elementy ciagu sa kolejnymi liczbami naturalnymi. Jeżeli jakieś dziury występuja, wskazać gdzie. Tego typu problem i problemy pokrewne moga mieć poważne zastosowania praktyczne. Copyright c P. F. Góra 11 2
3 Na przykład jeśli mamy tabelę mysql> SELECT * FROM liczby; I rows in set (0.00 sec) możemy powiedzieć, że brakujacymi liczbami sa 5, 8, 9, 12, 14, 15, 16. Jak to sprawdzić w SQL? Copyright c P. F. Góra 11 3
4 Przede wszystkim znajdźmy następniki poszczególnych liczb. Następnikiem jest najmniejsza liczba spośród liczb większych od danej. mysql> SELECT MIN(I) FROM liczby -> WHERE I > 1; MIN(I) row in set (0.00 sec) mysql> SELECT MIN(I) FROM liczby -> WHERE I > 13; MIN(I) row in set (0.00 sec) Następnikiem liczby 1 jest 2, następnikiem liczby 13 jest 17. Copyright c P. F. Góra 11 4
5 Żeby znaleźć następniki wszystkich liczb, trzeba użyć samozłaczenia jedno wystapienie tabeli jest potrzebne do przejrzenia jej wszystkich elementów, drugie do znalezienia następnika bieżacego elementu. mysql> SELECT L1.I AS I, MIN(L2.I) AS Następnik -> FROM liczby AS L1 JOIN liczby AS L2 ON L2.I > L1.I -> GROUP BY L1.I; I Następnik rows in set (0.00 sec) Copyright c P. F. Góra 11 5
6 Dalej jest już bardzo łatwo: wystarczy odrzucić te pary liczba-następnik, w której następnik jest o 1 większy od liczby (to znaczy, że w danym miejscu nie ma dziury): mysql> SELECT L1.I AS I, MIN(L2.I) AS J -> FROM liczby AS L1 JOIN liczby AS L2 ON L2.I > L1.I -> GROUP BY L1.I -> HAVING J > I + 1; I J rows in set (0.02 sec) W ten sposób wyznaczyliśmy granice obszarów, które sa dziurami. Zauważmy, że w klauzuli HAVING wolno użyć aliasów zdefiniowanych na liście SELECT. Copyright c P. F. Góra 11 6
7 2. Ranking Tabela zawiera wyniki pewnego współzawodnictwa: mysql> SELECT * FROM Rezultaty; Imie Wynik Alicja 15.5 Bogdan 12 Cecylia 8 Dorota 15.5 Eryk 17 Feliks 8 Grzegorz 7 Helena 14.5 Irena 13 Jan 7 Karolina rows in set (0.00 sec) Copyright c P. F. Góra 11 7
8 Chcemy stwozryć ranking uczestników: ten, kto ma największy wynik, ma ranking 1, ten, kto ma drugi wynik, ma ranking 2 itd. Ranking jest równy liczbie zawodników, którzy maja wynik lepszy od danego, plus jeden (najlepszy nie ma lepszych od siebie, a jego rankingiem ma być 1, nie 0). Próbujemy zatem Copyright c P. F. Góra 11 8
9 mysql> SELECT R1.Imie, COUNT(R2.Imie)+1 AS Rank -> FROM Rezultaty AS R1 JOIN Rezultaty AS R2 ON R2.Wynik > R1.Wynik -> GROUP BY R1.Imie; Imie Rank Alicja 2 Bogdan 7 Cecylia 8 Dorota 2 Feliks 8 Grzegorz 10 Helena 4 Irena 6 Jan 10 Karolina rows in set (0.02 sec) Copyright c P. F. Góra 11 9
10 Coś jest nie tak: Brakuje osoby o najlepszym wyniku. Dlaczego? Ponieważ nie ma nikogo lepszego, warunek złaczenia nie był dla tej osoby nigdy spełniony. Trzeba użyć złaczenia zewnętrznego: mysql> SELECT R1.Imie, COUNT(R2.Imie)+1 AS Rank -> FROM Rezultaty AS R1 LEFT JOIN Rezultaty AS R2 ON R2.Wynik > R1.Wynik -> GROUP BY R1.Imie -> ORDER BY Rank; Imie Rank Eryk 1 Alicja 2 Dorota 2 Helena 4 Karolina 5 Irena 6 Bogdan 7 Cecylia 8 Feliks 8 Grzegorz 10 Jan Copyright c P. F. Góra 11 10
11 Zauważmy, że jest to ranking sportowy : Alicja i Dorota zajmuja ex aequo drugie miejsce, a kolejna osoba jest na miejscu czwartym (nie ma miejsca trzeciego). Copyright c P. F. Góra 11 11
12 3. Druga Największa wartość Znalezienie największej wartości w tabeli oraz odpowiadajacych jej wierszy jest bardzo proste: mysql> SELECT MAX(Wynik) FROM Rezultaty; MAX(Wynik) row in set (0.01 sec) mysql> SELECT * FROM Rezultaty -> WHERE Wynik = (SELECT MAX(Wynik) FROM Rezultaty); Imie Wynik Eryk row in set (0.00 sec) Copyright c P. F. Góra 11 12
13 Ale co z druga wartościa? Bardzo naiwnie można spróbować zrobić tak: mysql> SELECT * FROM Rezultaty -> ORDER BY Wynik DESC -> LIMIT 2; Imie Wynik Eryk 17 Alicja rows in set (0.01 sec) Widać, że to podejście nie zadziałało, gdzyż powinniśmy otrzymać trzy wiersze (Alicja i Dorota zremisowały!), nie zaś dwa, jak tego zażadaliśmy. Dodatkowo co nie rzuca się na poczatku w oczy srtowanie jest operacja kosztowna (w porównaniu z przegladaniem tabeli) i nie należy go niepotrzebnie wykonywać. Copyright c P. F. Góra 11 13
14 Zadajmy pytanie pomocnicze: Jaki jest drugi co do wartości wynik? Jest to największy wynik spośród wyników mniejszych od największego z całości: mysql> SELECT MAX(Wynik) AS Druga FROM -> (SELECT Wynik FROM Rezultaty -> WHERE Wynik < (SELECT MAX(Wynik) FROM Rezultaty)) AS RRR; Druga row in set (0.01 sec) Zauważmy, ze występujaca tu tabela pochodna musi mieć swój alias. Copyright c P. F. Góra 11 14
15 Wobec tego wskazanie krotek odpowiadajacym dwu najwieszym wynikom jest już bardzo proste: mysql> SELECT * FROM Rezultaty -> WHERE wynik >= -> (SELECT MAX(Wynik) FROM -> (SELECT Wynik FROM Rezultaty -> WHERE Wynik < (SELECT MAX(Wynik) FROM Rezultaty)) AS RRR); Imie Wynik Alicja 15.5 Dorota 15.5 Eryk rows in set (0.01 sec) Zapytanie to zawiera co prawda cztery polecenia SELECT, ale w odróznieniu od sortowania wykona się w czasie liniowym, co może być bardzo istotne dla dużych tabel. Copyright c P. F. Góra 11 15
16 4. Suma narastajaca Suma narastajaca jest często potrzebna w rozmaitych rozliczeniach księgowych ale także w innych zastosowaniach, na przykład w wyznaczaniu dystrybuanty dyskretnego rozkładu prawdopodobieństwa. Należy po prostu wysumować kolejne (numerowane jakimś indeksem ) wartości od poczatku do pozycji bieżacej. Copyright c P. F. Góra 11 16
17 mysql> CREATE TABLE W -> (Nr SMALLINT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, -> Wartosc FLOAT NOT NULL); Query OK, 0 rows affected (0.12 sec) Załóżmy, że mamy takie dane: mysql> SELECT * FROM W; Nr Wartosc rows in set (0.00 sec) Copyright c P. F. Góra 11 17
18 Problem sumy narastajacej rozwiazujemy przez grupowanie i samozłaczenie (self join). mysql> SELECT x.nr, x.wartosc, FORMAT(SUM(y.wartosc),1) AS RunningTotal -> FROM W AS x, W AS y -> WHERE y.nr <= x.nr -> GROUP BY x.nr; Nr wartosc RunningTotal rows in set (0.00 sec) Copyright c P. F. Góra 11 18
19 5. Średnia ruchoma W tabeli mamy zgromadzone dane numeryczne, indeksowane czasem (szereg czasowy) na przykład kolejne kursy akcji, kolejne odczyty temperatury, dane o sprzedaży z kolejnych miesięcy itp. Należy obliczyć średnia ruchoma y i = 1 p + 1 i+p/2 x j j=i p/2 Obliczenie tego po stronie aplikacji jest proste. Jak to zrobić w SQL? Copyright c P. F. Góra 11 19
20 Użyjemy tych samych danych (tej samej tabeli), co w poprzednim przykładzie. Problem także rozwiażemy za pomoca samozłaczenia. mysql> = 3; mysql> SELECT x.wartosc, AVG(y.wartosc) AS Srednia -> FROM W AS x, W AS y -> WHERE y.nr >= x.nr AND y.nr <= x.nr -> GROUP BY x.nr; Dwukrotnie odwolujemy się do tej samej tabeli, a więc musi ona występować pod różnymi aliasami. Wystapienie x służy do identyfikowania wierszy, więc występuje także w klauzuli GROUP BY. Z odpowiednich wystapień y obliczana jest średnia. Copyright c P. F. Góra 11 20
21 wartosc Srednia rows in set (0.94 sec) Skrajne wartości sa źle obsługiwane. Copyright c P. F. Góra 11 21
22 mysql> = 3; mysql> = (SELECT MAX(Nr) FROM W) + 1; mysql> = (SELECT MIN(Nr) FROM W) - 1; mysql> SELECT x.wartosc, AVG(y.wartosc) AS Srednia -> FROM W as x, W as y -> WHERE y.nr >= x.nr AND y.nr <= x.nr -> AND x.nr AND x.nr -> GROUP BY x.nr; wartosc Srednia rows in set (0.01 sec) Copyright c P. F. Góra 11 22
23 6. Zmienne w czasie wartości Przypuśćmy, że w pewnej tabeli zgromadziliśmy informację o sprzedaży: Imię sprzedawcy, datę transakcji, numer (symbol) artykułu i liczbę sprzedanych sztuk. mysql> SELECT * FROM TSprzedaz; Imie Data NrArtykulu Ilosc Celina Jan Alicja Bogdan Feliks Alicja Celina rows in set (0.02 sec) Copyright c P. F. Góra 11 23
24 Ceny przechowywane sa w osobnej tabeli. Rzecz w tym, że ceny moga się zmieniać. W tabeli przechowywana jest informacja o zmianach cen, nie zaś wszystkie ceny dzienne. Przypuśćmy, że zmiany cen artykułu numer 6 wygladały następujaco: mysql> SELECT * FROM TCeny -> WHERE NrArtykulu=6; NrArtykulu Data Cena rows in set (0.05 sec) Ile wynosiła cena tego artykułu 14 listopada 2012? Człowiek bez trudu odpowie, że 28: taka cena obowiazywała od 24 września do 17 grudnia. Jak uzyskać tę odpowiedź za pomoca SQL? Copyright c P. F. Góra 11 24
25 Data 24 września 2012 jest istotna w naszym przykładzie, była to bowiem ostatnia zmiana ceny badanego artykułu przed wskazana data. Zacznijmy zatem od wyszukania ostatniej zmiany cen wskazanego artykułu przed wskazana data (słaba nierówność oznacza, że zmiana cen obowiazuje już od dnia wprowadzenia): mysql> SELECT MAX(Data) FROM TCeny -> WHERE NrArtykulu = 6 AND Data <= " "; MAX(Data) row in set (0.02 sec) Copyright c P. F. Góra 11 25
26 Wydaje się, że możemy teraz łatwo poznać cenę obowiazuj ac a we wskazanym dniu: mysql> SELECT Cena, MAX(Data) FROM Tceny -> WHERE NrArtykulu = 6 AND Data <= " "; Cena MAX(Data) row in set (0.05 sec) To jest nieprawidłowy wynik! Dlaczego? Funkcja MAX jest funkcja agregujac a. Oznacza to, że SQL tworzy pewna grupę (zdefiniowana w klauzuli WHERE) i stosuje funkcję MAX do tej grupy. Atrybut Cena odnosi się natomiast do konkretnych krotek, nie do grup. Wobec tego SQL wział jakaś przypadkowa wartość tego atrybutu (zapewne z ostatniej wczytanej krotki) nie ma żadnej gwarancji, że będzie on odpowiadał tej dacie, która znajduje funkcja MAX. Trzeba tego zażadać explicite. Na jednej liście SELECT nie wolno umieszczać wielkości odnoszacych się do grup i do indywidualnych krotek. Copyright c P. F. Góra 11 26
27 mysql> SELECT Cena FROM TCeny -> WHERE NrArtykulu = 6 AND -> Data = (SELECT MAX(Data) FROM TCeny -> WHERE NrArtykulu = 6 AND Data <= " "); Cena row in set (0.06 sec) Skoro potrafimy już ustalić jaka cena danego artykułu obowiazywała we wskazanym dniu, możemy zadawać zapytania w rodzaju: Jaka była sumaryczna wartość sprzedaży osiagnięta przez poszczególnych sprzedawców. Zapytanie to powinno mieć strukturę SELECT Imie, SUM(Ilosc*CenaDnia) AS JakaSprzedaz FROM TSprzedaz Group BY Imie; Copyright c P. F. Góra 11 27
28 CenęDnia ustalimy za pomoca tego, co zrobiliśmy powyżej. Ostatecznie otrzymujemy zapytanie ze skorelowanymi podzapytaniami: mysql> SELECT Imie, SUM(Ilosc* -> (SELECT Cena FROM TCeny -> WHERE NrArtykulu = TSprzedaz.NrArtykulu AND -> Data = (SELECT MAX(Data) FROM TCeny -> WHERE NrArtykulu = TSprzedaz.NrArtykulu AND -> Data <= TSprzedaz.Data) -> )) AS JakaSprzedaz FROM TSprzedaz GROUP BY Imie; Copyright c P. F. Góra 11 28
29 Imie JakaSprzedaz Alicja 2039 Bogdan 1470 Celina 1614 Damian 1293 Ewelina 1836 Feliks 1749 Grzegorz 1155 Helena 1005 Irena 1868 Jan rows in set (0.44 sec) Copyright c P. F. Góra 11 29
Bazy 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ółowoBazy danych 7. SQL dalsze możliwości. Grupowanie.
Bazy danych 7. SQL dalsze możliwości. Grupowanie. P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2005/06 MySQL i programowanie wsadowe C:\wyklady\bazy> mysql < nazwa pliku C:\wyklady\bazy>
Bardziej szczegółowoBazy danych 6. Klucze obce. P. F. Góra
Bazy danych 6. Klucze obce P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2018 Dygresja: Metody przechowywania tabel w MySQL Tabele w MySQL moga być przechowywane na kilka sposobów. Sposób ten (żargonowo:
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 10. SQL Widoki
Bazy danych 10. SQL Widoki P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2005/06 Widoki, AKA Perspektywy W SQL tabela, która utworzono za pomoca zapytania CREATE TABLE, nazywa się tabela
Bardziej szczegółowoBazy danych 8. Podzapytania i grupowanie. P. F. Góra
Bazy danych 8. Podzapytania i grupowanie P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2009 Podzapytania Podzapytania pozwalaja na tworzenie strukturalnych podzapytań, co umożliwia izolowanie poszczególnych
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ółowoWykład 05 Bazy danych
Wykład 05 Bazy danych Tabela składa się z: Kolumn Wierszy Wartości Nazwa Wartości Opis INT [UNSIGNED] -2^31..2^31-1 lub 0..2^32-1 Zwykłe liczby całkowite VARCHAR(n) n = długość [1-255] Łańcuch znaków o
Bardziej szczegółowoBazy danych 10. Uzupełnienia i przykłady
Bazy danych 10. Uzupełnienia i przykłady P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2011/12 I. Typy złaczeń SELECT... FROM T 1 JOIN T 2 ON T 1.k p =T 2.k q JOIN T 3 ON T 2.k r =T 3.k s WHERE...; SELECT...
Bardziej szczegółowoBazy danych 12. SQL Wyszukiwanie pełnotekstowe
Bazy danych 12. SQL Wyszukiwanie pełnotekstowe P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2007/08 Wyszukiwanie pełnotekstowe Wyszukiwanie pełnotekstowe służy do wyszukiwania podanych
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ół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ółowoBazy danych 6. SQL funkcje daty i czasu, zmienne tymczasowe, aliasy
Bazy danych 6. SQL funkcje daty i czasu, zmienne tymczasowe, aliasy P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2007/08 MySQL i programowanie wsadowe C:\wyklady\bazy> mysql < nazwa pliku
Bardziej szczegółowoBazy danych 4. SQL podstawy. P. F. Góra
Bazy danych 4. SQL podstawy P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012 Structured Query Language Używane standardy: SQL92 SQL99 SQL:2003 SQL:2006 (dialekt) SQL:2008 (dialekt) SQL:2011 (dialekt)
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ółowoBazy danych 5. Samozłaczenie SQL podstawy
Bazy danych 5. Samozłaczenie SQL podstawy P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2007/08 Przykład kolejowy Tworzymy bazę danych zawierajac a (uproszczony) rozkład jazdy pociagów
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ółowoBazy danych 8. Widoki i wyzwalacze. P. F. Góra
Bazy danych 8. Widoki i wyzwalacze P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012 I. Widoki, AKA Perspektywy W SQL tabela, która utworzono za pomoca zapytania CREATE TABLE, nazywa się tabela podstawowa
Bardziej szczegółowoJęzyk SQL, zajęcia nr 2
Język SQL, zajęcia nr 2 SQL - Structured Query Language Strukturalny język zapytań Login: student Hasło: stmeil14 Baza danych: st https://194.29.155.15/phpmyadmin/index.php Andrzej Grzebielec Funkcja agregująca
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ół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ół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ółowoBazy danych 9. SQL Klucze obce Transakcje
Bazy danych 9. SQL Klucze obce Transakcje P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2005/06 Klucze obce Klucze obce powiazanie indeksowanej kolumny jakiejś tabeli z indeksowana kolumna
Bardziej szczegółowoBazy danych 11. Algorytmy złaczeń. P. F. Góra
Bazy danych 11. Algorytmy złaczeń P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2009 Typy złaczeń SELECT... FROM T 1 JOIN T 2 ON T 1.k p =T 2.k q JOIN T 3 ON T 2.k r =T 3.k s WHERE...; SELECT... FROM
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ółowoBazy danych. Andrzej Łachwa, UJ, /15
Bazy danych Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 6/15 Statystyki w języku SQL W różnych produktach SQL spotkamy rozmaite funkcje wbudowane ułatwiające analizy
Bardziej szczegółowoBazy danych 9. Klucze obce Transakcje. P. F. Góra
Bazy danych 9. Klucze obce Transakcje P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2009 Dygresja: Metody przechowywania tabel w MySQL Tabele w MySQL moga być przechowywane na kilka sposobów. Sposób
Bardziej szczegółowoBazy danych 4. SQL- podstawy
Bazy danych 4. SQL- podstawy P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2017/18 SQL - Structured Query Language Interpretowany język programowania. Jego polecenia tradycyjnie nazywane sa zapytaniami
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ół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ół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ółowoBazy danych 9. Klucze obce Transakcje
Bazy danych 9. Klucze obce Transakcje P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2007/08 Dygresja: Metody przechowywania tabel w MySQL Tabele w MySQL moga być przechowywane na kilka
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ół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ółowoBazy danych 5. SQL- złaczenia, podzapytania i grupowanie
Bazy danych 5. SQL- złaczenia, podzapytania i grupowanie P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2017/18 Złaczenia teoriomnogościowe mysql> CREATE DATABASE JanMaria; Query OK, 1 row affected (0.02
Bardziej szczegółowo1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
Grupa A (LATARNIE) Imię i nazwisko: Numer albumu: 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: Nazwisko prowadzącego: 11: 12: Suma: Ocena: Zad. 1 (10 pkt) Dana jest relacja T. Podaj wynik poniższego zapytania (podaj
Bardziej szczegółowoKurs. Podstawy MySQL
Kurs Podstawy MySQL Krótkie info. Autorem kursu jest Piotr Jędrusik. Kurs jest własnością serwisu MySQL FAQ www.mysqlfaq.prv.pl, email: mysqlfaq@twister.pl. 1. Tworzymy bazę. Stworzymy pierwszą bazę o
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ół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ółowoP o d s t a w y j ę z y k a S Q L
P o d s t a w y j ę z y k a S Q L Adam Cakudis IFP UAM Użytkownicy System informatyczny Aplikacja Aplikacja Aplikacja System bazy danych System zarządzania baz ą danych Schemat Baza danych K o n c e p
Bardziej szczegółowoLaboratorium nr 4. Temat: SQL część II. Polecenia DML
Laboratorium nr 4 Temat: SQL część II Polecenia DML DML DML (Data Manipulation Language) słuŝy do wykonywania operacji na danych do ich umieszczania w bazie, kasowania, przeglądania, zmiany. NajwaŜniejsze
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ół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ół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ółowoBazy danych 11. SQL Procedury składowane, kursory i wyzwalacze
Bazy danych 11. SQL Procedury składowane, kursory i wyzwalacze P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2005/06 I. Procedury składowane (stored procedures) Procedury składowane stanowia
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ół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ółowoBazy danych 8. Procedury składowane i kursory. P. F. Góra
Bazy danych 8. Procedury składowane i kursory P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2017 Procedury składowane (stored procedures) Procedury składowane stanowia część schematu bazy danych. Stosuje
Bardziej szczegółowoCREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
Zestaw ćwiczeń1 Dzięki DDL (Data Definition Language) można operować na strukturach, w których dane są przechowywane czyli np. dodawać, zmieniać i kasować tabele lub bazy. Najważniejsze polecenia tej grupy
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ółowoBazy danych. dr inż. Arkadiusz Mirakowski
Bazy danych dr inż. Arkadiusz Mirakowski Początek pracy z Transact SQL (T-SQL) 153.19.7.13,1401 jkowalski nr indeksu 2 Perspektywa - tabela tymczasowa - grupowanie Perspektywa (widok) Perspektywa (widok)
Bardziej szczegółowoStruktura drzewa w MySQL. Michał Tyszczenko
Struktura drzewa w MySQL Michał Tyszczenko W informatyce drzewa są strukturami danych reprezentującymi drzewa matematyczne. W naturalny sposób reprezentują hierarchię danych toteż głównie do tego celu
Bardziej szczegółowoJęzyk SQL. Rozdział 4. Funkcje grupowe Funkcje grupowe, podział relacji na grupy, klauzule GROUP BY i HAVING.
Język SQL. Rozdział 4. Funkcje grupowe Funkcje grupowe, podział relacji na grupy, klauzule GROUP BY i HAVING. 1 Funkcje grupowe (agregujące) (1) Działają na zbiorach rekordów, nazywanych grupami. Rekordy
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ół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ółowoWidok Connections po utworzeniu połączenia. Obszar roboczy
Środowisko pracy 1. Baza danych: Oracle 12c - Serwer ELARA - Konta studenckie, dostęp także spoza uczelni - Konfiguracja: https://e.piotrowska.po.opole.pl/index.php?option=conf 2. Środowisko: SQL Developer
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ół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ół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ółowoPrzykład powyżej pokazuje, że w zapytaniu można umieszczać funkcje zarówno zdefiniowane w ramach środowiska, jak również własne.
LINQ w Microsoft Visual Basic 'zapytanie pobierające wszystkie liczby z kolekcji 'zmienna zapytanie jest typu: System.Collections.Generic.IEnumerable(Of Integer) Dim zapytanie = From wiersz In liczby 'lub
Bardziej szczegółowoPawel@Kasprowski.pl Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl
Bazy danych Zapytania SELECT Dr inż. Paweł Kasprowski pawel@kasprowski.pl Przykład HAVING Podaj liczebność zespołów dla których najstarszy pracownik urodził się po 1940 select idz, count(*) from prac p
Bardziej szczegółowoBazy danych 7. Klucze obce Transakcje. P. F. Góra
Bazy danych 7. Klucze obce Transakcje P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2011 Dygresja: Metody przechowywania tabel w MySQL Tabele w MySQL moga być przechowywane na kilka sposobów. Sposób
Bardziej szczegółowoAutor: Joanna Karwowska
Autor: Joanna Karwowska SELECT [DISTINCT] FROM [WHERE ] [GROUP BY ] [HAVING ] [ORDER BY ] [ ] instrukcja może
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ół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ółowoSQL do zaawansowanych analiz danych część 1.
SQL do zaawansowanych analiz danych część 1. Mechanizmy języka SQL dla agregacji danych Rozszerzenia PIVOT i UNPIVOT Materiały wykładowe Bartosz Bębel Politechnika Poznańska, Instytut Informatyki Plan
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ół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ół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ół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ół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ółowoJęzyk SQL, zajęcia nr 1
Język SQL, zajęcia nr 1 SQL - Structured Query Language Strukturalny język zapytań Login: student Hasło: stmeil14 Baza danych: st https://194.29.155.15/phpmyadmin/index.php Andrzej Grzebielec Najpopularniejsze
Bardziej szczegółowoBazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych
Plan wykładu Bazy danych Wykład 9: Przechodzenie od diagramów E/R do modelu relacyjnego. Definiowanie perspektyw. Diagramy E/R - powtórzenie Relacyjne bazy danych Od diagramów E/R do relacji SQL - perspektywy
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ółowoPrzykładowa baza danych BIBLIOTEKA
Przykładowa baza danych BIBLIOTEKA 1. Opis problemu W ramach zajęć zostanie przedstawiony przykład prezentujący prosty system biblioteczny. System zawiera informację o czytelnikach oraz książkach dostępnych
Bardziej szczegółowoWstęp do metod numerycznych Eliminacja Gaussa Równania macierzowe. P. F. Góra
Wstęp do metod numerycznych Eliminacja Gaussa Równania macierzowe P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2015 Co można zrobić z układem równań... tak, aby jego rozwiazania się nie zmieniły? Rozważam
Bardziej szczegółowoLaboratorium Bazy danych SQL 3 1
Laboratorium Bazy danych SQL 3 1 F U N K C J E operujące na grupach wierszy: avg([distinct all]kol) oblicza średnią arytmetyczną wartości kolumny kol wszystkich wierszy grupy. count([distinct all]wyr)
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ół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ółowoTechnologie baz danych
Plan wykładu Technologie baz danych Wykład 6: Algebra relacji. SQL - cd Algebra relacji operacje teoriomnogościowe rzutowanie selekcja przemianowanie Małgorzata Krętowska Wydział Informatyki Politechnika
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ółowoBazy danych i usługi sieciowe
Bazy danych i usługi sieciowe Ćwiczenia I Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk (Wydział Fizyki) BDiUS ćw. I Jesień 2014 1 / 16 Strona wykładu http://bioexploratorium.pl/wiki/ Bazy_danych_i_usługi_sieciowe_-_2014z
Bardziej szczegółowoBazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1
Bazy danych Wykład IV SQL - wprowadzenie Copyrights by Arkadiusz Rzucidło 1 Czym jest SQL Język zapytań deklaratywny dostęp do danych Składnia łatwa i naturalna Standardowe narzędzie dostępu do wielu różnych
Bardziej szczegółowoBazy Danych i Usługi Sieciowe
Bazy Danych i Usługi Sieciowe Ćwiczenia I Paweł Daniluk Wydział Fizyki Jesień 2011 P. Daniluk (Wydział Fizyki) BDiUS ćw. I Jesień 2011 1 / 15 Strona wykładu http://bioexploratorium.pl/wiki/ Bazy_Danych_i_Usługi_Sieciowe_-_2011z
Bardziej szczegółowoJęzyk SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne.
Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne. 1 Perspektywa Perspektywa (ang. view) jest strukturą
Bardziej szczegółowoBazy danych 7. Widoki i wyzwalacze. P. F. Góra
Bazy danych 7. Widoki i wyzwalacze P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2017 Widoki, AKA Perspektywy W SQL tabela, która utworzono za pomoca zapytania CREATE TABLE, nazywa się tabela podstawowa
Bardziej szczegółowoBazy Danych. SQL Podstawy języka III: powtórzenie. Krzysztof Regulski WIMiIP, KISiM, B5, pok. 408
Bazy Danych SQL Podstawy języka III: powtórzenie Krzysztof Regulski WIMiIP, KISiM, regulski@agh.edu.pl B5, pok. 408 Modyfikacja schematu relacji Utwórz tabelę wg schematu: CREATE TABLE ODDZIAL ( numer_oddzialu
Bardziej szczegółowoPlan. Wyświetlanie n początkowych wartości (TOP n) Użycie funkcji agregujących. Grupowanie danych - klauzula GROUP BY
Plan Wyświetlanie n początkowych wartości (TOP n) Użycie funkcji agregujących Grupowanie danych - klauzula GROUP BY Generowanie wartości zagregowanych Użycie klauzul COMPUTE i COMPUTE BY Wyświetlanie początkowych
Bardziej szczegółowoBazy danych 8. Złaczenia ciag dalszy. Grupowanie.
Bazy danych 8. Złaczenia ciag dalszy. Grupowanie. P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2007/08 Filtry Wyobraźmy sobie zapytanie SELECT... FROM T 1 JOIN T 2 ON... WHERE P(T 1 )
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ół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ółowoBazy danych Język SQL część 2 Wykład dla studentów matem
Bazy danych Język SQL część 2 Wykład dla studentów matematyki 21 marca 2015 Zapytania na kilku tabelach Czasem poszukiwana informacja znajduje się w kilku tabelach. Aby zapytanie dotyczyło kilku tabel,
Bardziej szczegółowoProgramowanie w języku C++ Agnieszka Nowak Brzezińska Laboratorium nr 2
Programowanie w języku C++ Agnieszka Nowak Brzezińska Laboratorium nr 2 1 program Kontynuujemy program który wczytuje dystans i ilości paliwa zużytego na trasie, ale z kontrolą danych. A więc jeśli coś
Bardziej szczegółowoa) ile wynosiła populacja najbardziej i najmniej ludnego z województw (oraz jakie były ich nazwy)
Spis treści 1 TI:WTBD/Ćwiczenia 14 1.1 Sprawdzian 2 - SQL. 1.1.1 Grupa 1 1.1.2 przykład rozwiązania dla zadania gr. 1 1.1.3 Grupa 2 1.1.4 przykład rozwiązania dla gr. 2 TI:WTBD/Ćwiczenia 14 Sprawdzian
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ół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ółowoSystemy internetowe. Wykład 4 mysql. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science
Systemy internetowe Wykład 4 mysql MySQL - wstęp SZBD: komercyjne: Microsoft SQL Server, Oracle, DB2... darmowe: MySQL, PostgreSQL, Firebird... MySQL darmowy (użytek niekomercyjny) Wady: niska wydajność
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ół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ółowo