RSS

T-SQL – Moje ściągawki cz.1

20 Lu

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)

Reklamy
 
Dodaj komentarz

Opublikował/a w dniu Luty 20, 2015 w SQL

 

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj / Zmień )

Zdjęcie na Facebooku

Komentujesz korzystając z konta Facebook. Wyloguj / Zmień )

Zdjęcie na Google+

Komentujesz korzystając z konta Google+. Wyloguj / Zmień )

Connecting to %s

 
%d blogerów lubi to: