1. Wprowadzanie wybranych danych do tabel:
insert into Uzytkownicy (Uzytkownik, RodzajUzyt, Nazwisko) values ('sa2','A','sa2')
2. Wprowadzanie wielu danych do tabeli:
insert into Uzytkownicy (Uzytkownik, RodzajUzyt, Nazwisko) values ('sa2','A','sa2'),('sa3','A','sa3'),('sa4','A','sa4')
3. Wprowadzanie danych z wyniku innego zapytania:
insert into limitykupieckie
(kontrahent, rokod, mcod, limit)
select kontrahent, '2013' as rokod, '11' as mcod, '25000' as limit from kontrahenci where grlimitu='h' and kontrahent not in (select kontrahent from limitykupieckie)
4. Sortowanie wyników zapytań:
select * from Uzytkownicy order by Uzytkownik
Odwrócenie sortowania wyników:
select * from Uzytkownicy order by Uzytkownik desc
5. Użycie operatora in w zapytaniu:
select * from Uzytkownicy where Uzytkownik in ('sa','sa2','sa3')
lub not in
select * from Uzytkownicy where Uzytkownik not in ('sa','sa2','sa3')
6. Zapytanie jako wynik dla operatora in:
select * from Sprzedaz where idSprzedaz in (select idSprzedaz from Sprzedaz where DataSprzedazy>'01.01.2015')
7. Dane pasujące do wzorca:
Dowolne znaki pasujące po P*
select * from Sprzedaz where SposobZaplatyPropozycja like 'P%'
Tylko jeden znak pasujący po P*
select * from Sprzedaz where SposobZaplatyPropozycja like 'P_'
8. Zapytanie dające tylko unikatowe wyniki:
select distinct SposobZaplatyPropozycja from Sprzedaz
9. Modyfikacja danych w tabelach:
update Uzytkownicy
set Nazwisko='Bartek'
where Uzytkownik like 'sa_'
lub kilku kolumn:
update Uslugi
set KodUslugi='woda',JednostkaMiary='m3'
where idUslugi=67
10. Usuwanie danych:
delete from Uzytkownicy
where Uzytkownik like 'sa_'
11. Łączenie kilku zapytań w jeden wynik:
select * from Uzytkownicy where RodzajUzyt='U'
union
select * from Uzytkownicy where RodzajUzyt='A'
Wyniki muszą mieć taką samą ilość kolumn.
union all pokazuje również duplikaty w wynikach zapytań.
12. Zapytanie pokazujące wyniki tylko te które się pokrywają w dwóch zapytaniach:
select * from KodyUrlopow
intersect
select * from KodyUrlopow where RozliczenieJednostka='D'
13. Zapytanie pokazujące wyniki tylko te które się nie pokrywają w dwóch zapytaniach:
select * from KodyUrlopow
except
select * from KodyUrlopow where RozliczenieJednostka='D'
14. Zliczanie ilości wierszy w zapytaniu :
select count(1) from Uzytkownicy
15. Szukanie ekstremów wartości :
select max(WartoscNetto) from SprzedazPozycje
select min(WartoscNetto) from SprzedazPozycje
średnia :
select avg(WartoscNetto) from SprzedazPozycje
suma :
select sum(WartoscNetto) from SprzedazPozycje
16. Użycie wielu funkcji oraz aliasy:
select avg(WartoscNetto) as 'Średnia', max(WartoscNetto) as 'Max', min(WartoscNetto) as 'Min' from SprzedazPozycje
17. Zapytanie grupujące wyniki po danej tabeli:
select idUslugi, sum(WartoscOgolem) from SprzedazPozycje group by idUslugi
18. Having czyli ograniczenie wyników po użyciu funkcji group by :
select idUslugi, sum(WartoscOgolem) from SprzedazPozycje group by idUslugi having sum(WartoscOgolem)>100
19. Funkcje zaokrąglania oraz obcinania cyfr po przecinku :
SELECT
OpisPozycji AS Pozycja,
Round(CenaNetto*StawkaVAT/100,2) AS WartoscZaokraglonaDO2MiejscPOprzecinku,
Floor(CenaNetto*StawkaVAT/100) AS WartoscBezLiczbPoPrzecinku
from SprzedazPozycje
20. Funkcja between czyli „pomiędzy” :
SELECT
OpisPozycji AS Pozycja,
Round(CenaNetto*StawkaVAT/100,2) AS Wartosc,
Floor(CenaNetto*StawkaVAT/100) AS WartoscBezLiczbPoPrzecinku
from SprzedazPozycje
where Floor(CenaNetto*StawkaVAT/100) between 1 and 20
21. Warunek case w polu where :
select * from Sprzedaz where OkresRok= CASE WHEN (select max(okresrok)-1 from OkresySprzedazy)=2015 THEN 2015 ELSE 2014 END
22. Case w wyniku select :
select
SP.IDSPRZEDAZPOZYCJE
,SP.IDSPRZEDAZPOZYCJEKOREKTA
,S.REJESTRSPRZEDAZYPROPOZYCJA
,SP.OPISPOZYCJI
,SP.WARTOSCOGOLEM
,sp.idSprzedazPozycjeKorekta as KOREKTAPOZYCJI
,sp.idSprzedazPozycje as PIERWSZAPOZYCJA
,(select WartoscOgolem from SprzedazPozycje where idSprzedazPozycje=sp.idSprzedazPozycjeKorekta) as War1
,(select WartoscOgolem from SprzedazPozycje where idSprzedazPozycje=sp.idSprzedazPozycje) as War2
,case when sp.idSprzedazPozycjeKorekta0 then (select WartoscOgolem from SprzedazPozycje where idSprzedazPozycje=sp.idSprzedazPozycje)-(select WartoscOgolem from SprzedazPozycje where idSprzedazPozycje=sp.idSprzedazPozycjeKorekta) else (select WartoscOgolem from SprzedazPozycje where idSprzedazPozycje=sp.idSprzedazPozycje) end
from
Sprzedaz S
left join SprzedazPozycje sp on SP.IDSPRZEDAZ=S.IDSPRZEDAZ
where
(S.OkresRok=2015) and
(S.OkresMc=3)