Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Język SQL – polecenie Select

Podobne prezentacje


Prezentacja na temat: "Język SQL – polecenie Select"— Zapis prezentacji:

1 Język SQL – polecenie Select
BAZY DANYCH Język SQL – polecenie Select Mariusz Zając IV FK

2 BAZA ADRESÓW PRACOWNIKÓW
SQL – polecenie SELECT BAZA ADRESÓW PRACOWNIKÓW Numer Ubezpieczenia Socjalnego Imię Nazwisko Adres Miasto Województwo Jan Nowak Krakowska 23 Warszawa Mazowieckie Maria Kowalska Al. Jana Pawła II 2a/3 Kraków Małopolskie Adam Słomka 3 – go Maja 15 Lublin Lubelskie Sara Kalawska Grunwaldzka 6 Gdańsk Pomorskie

3 SQL – polecenie SELECT Teraz powiedzmy, że chcesz obejrzeć adres każdego pracownika. Użyj polecenia SELECT w następujący sposób: SELECT Imie, Nazwisko, Adres, Miasto, Stan FROM TabelaAdresowPracownikow; Imię Nazwisko Adres Miasto Stan Jan Nowak Krakowska 23 Warszawa Mazowieckie Maria Kowalska Al. Jana Pawła II 2a/3 Kraków Małopolskie Adam Słomka 3 – go Maja 15 Lublin Lubelskie Sara Kalawska Grunwaldzka 6 Gdańsk Pomorskie

4 SQL – polecenie SELECT Ogólna forma polecenia SELECT, odczytująca wszystkie wiersze w tabeli to: SELECT NazwaKolumny, NazwaKolumny, ... FROM NazwaTabeli; Aby odczytać wszystkie kolumny z tabeli bez wpisywania ich nazw, wykorzystaj: SELECT * FROM NazwaTabeli;

5 TABLICA STATYSTYK PRACOWNIKÓW
SQL – polecenie SELECT TABLICA STATYSTYK PRACOWNIKÓW Numer ID Pracownika Pensja Zyski Stanowisko 010 75000 15000 Kierownik 105 65000 152 60000 215 12500 244 50000 12000 Personel 300 45000 10000 335 40000 400 32000 7500 Ekspedient

6 Operatory relacyjne SQL – polecenie SELECT = równy
<> / != nierówny < mniejszy < większy <= mniejszy lub równy >= większy lub równy

7 Klauzula WHERE SQL – polecenie SELECT
Gdybyś chciał zobaczyć NumerIDPracownika osób zarabiających ponad 50000$, użyj tego: SELECT NumerIDPracownika FROM TablicaStatystykPracownikow WHERE Pensja >= 50000; Gdybyś chciał zobaczyć NumerIDPracownika wszystkich Kierowników, użyj tego: SELECT NumerIDPracownika FROM TablicaStatystykPracownikow WHERE Stanowisko = 'Kierownik';

8 Klauzula WHERE SQL – polecenie SELECT
SELECT NumerIDPracownika FROM TablicaStatystykPraconikow WHERE Pensja > AND Stanowisko = 'Personel'; SELECT NumerIDPracownika FROM TablicaStatystykPracownikow WHERE Pensja < OR Zyski < 10000; SELECT NumerIDPracownika FROM TablicaStatystykPracownikow WHERE Stanowisko = 'Kierownik' AND Pensja > OR Zyski > 12000;

9 IN oraz BETWEEN SQL – polecenie SELECT
Gdy chcesz otrzymać listę kierowników i personelu: SELECT NumerIDPracownika FROM TablicaStatystykPracownikow WHERE Stanowisko IN ('Kierownik', 'Personel'); albo wylistować tych zarabiających więcej lub dokładnie 30000$, ale maksymalnie 50000$, użyj: SELECT NumerIDPracownika FROM TablicaStatystykPracownikow WHERE Pensja BETWEEN AND 50000;

10 LIKE SQL – polecenie SELECT
Spójrz na tabelę TabelaAdresowPracownikow i powiedzmy, że chciałbyś zobaczyć wszystkie osoby, których nazwiska zaczynają się na "L"; spróbuj: SELECT NumerIDPracownika FROM TabelaAdresowPracownikow WHERE Nazwisko LIKE 'L%'; ‘%L’ nazwiska kończące się na ‘L’ ‘%L%’ nazwisk, które zawierają ‘L’

11 SQL – polecenie SELECT ID Posiadacza Zadany Przedmiot ZAMÓWIENIA
ANTYKI ID Sprzedającego ID Kupującego Rzecz 01 50 Łóżko 02 15 Stół Krzesło 21 Lustro Biurko Stolik Garnki Doniczka Gabinet ID Posiadacza Zadany Przedmiot 02 Stół Biurko 21 Krzesło POSIADACZE ANTYKÓW ID Posiadacza Nazwisko Imię 01 Jones Bill 02 Smith Bob 15 Lawson Patricia 50 Atkins Jane

12 DISTINCT oraz ORDER BY SQL – polecenie SELECT
Powiedzmy, że chcesz wylistować ID i imiona tylko tych osób, które sprzedały antyk. Oczywiści chcesz mieć listę, w której każda osoba jest przedstawiona tylko raz -- nie interesuje cię ile antyków dana osoba sprzedała, tylko sam fakt sprzedania: SELECT DISTINCT IDSprzedajacego, NazwiskoPosiadacza, ImiePosiadacza FROM Antyki, PosiadaczeAntykow WHERE IDSprzedajacego = IDPosiadacza ORDER BY NazwiskoPosiadacza, ImiePosiadacza, IDPosiadacza; Klauzula ORDER BY sortuje nam listę według nazwiska, następnie imienia,a na koniec według ID Posiadacza.

13 GROUP BY oraz HAVING SQL – polecenie SELECT
Chcemy zobaczyć najdroższą Rzecz kupioną przez każdego z posiadaczy. Musimy powiedzieć SQL-owi, by zgrupował nabytki każdego posiadacza i pokazał nam największą cenę: SELECT IDPosiadacza, MAX(Cena) FROM Antyki GROUP BY IDKupujacego; A teraz załóżmy, że chcemy zobaczyć tylko największe ceny nabytków jeśli cena przekraca $1000, więc użyjemy klauzuli HAVING: SELECT IDKupujacego, MAX(Cena) FROM Antyki GROUP BY IDKupujacego HAVING Cena > 1000;

14 ALIASY SQL – polecenie SELECT
Spójrzmy na poniższe zaptanie, które drukuje nazwiska tych posiadaczy, którzy wystosowali jakieś zamówienie, wraz z tym zamówieniem, ale tylko dla tych zamówień, które moga być dokonane (tzn. gdy istnieje kupiec, który posiada zamawianą rzecz): SELECT Posiad.NazwiskoPosiadacza Nazwisko, Zam.ZadanyPrzemiot Zamawiany przedmiot FROM Zamowienia Zam, PosiadaczeAntykow Posiad WHERE Zam.IDPosiadacza = Posiad.IDPosiadacza AND Zam.ZadanyPrzedmiot IN (SELECT Rzecz FROM Antyki);

15 ALIASY SQL – polecenie SELECT Zamawiany przedmiot Nazwisko
To nam daje: Nazwisko Zamawiany przedmiot Smith Stół Biurko Atkins Krzesło Lawson Lustro

16 Funkcje agregacyjne SQL – polecenie SELECT
SUM () zwraca sumę wartości z wierszy spełniających zapytanie dla kolumny numerycznej. AVG () zwraca średnią dla danej kolumny. MAX () zwraca największą wartość w danej kolumnie. MIN () zwraca najmniejszą wartość w danej kolumnie. COUNT(*) zwraca liczbę określającą ilość wierszy spełniających warunki.

17 Funkcje agregacyjne SQL – polecenie SELECT
Mając w pamięci tabele z początku tego dokumentu, spójrzmy na trzy przykłady: SELECT SUM(Pensja), AVG(Pensja) FROM TablicaStatystykPracownikow; To zapytanie pokazuje sumę wszystkich pensji w tabeli i średnią pensję wyliczoną ze wszystkich wpisów w tabeli. SELECT MIN(Zyski) FROM TablicaStatystykPracownikow WHERE Stanowisko = 'Kierownik'; To zapytanie pokazuje najmniejszą wartość kolumny "Zyski" wśród pracowników, którzy są kierownikami. Wartość ta to SELECT COUNT(*) FROM TablicaStatystykPracownikow WHERE Stanowisko = 'Personel'; To zapytanie pokazuje, ilu pracownikow ma status personelu (3).


Pobierz ppt "Język SQL – polecenie Select"

Podobne prezentacje


Reklamy Google