Dokumentacja SQL
Każde słowo kluczowe ma krótkie wyjaśnienie, działający przykład na danych ćwiczeniowego sklepu i najczęstsze błędy.
- SELECTWybierz, z których kolumn tabeli czytać dane i w jakiej kolejności.
- WHEREZostaw tylko wiersze spełniające warunek. Działa przed grupowaniem.
- ORDER BYSortuj wiersze wyniku. Bez tego kolejność nie jest zagwarantowana.
- DISTINCTUsuń zduplikowane wiersze z wyniku, tak aby każda wartość lub kombinacja pojawiła się raz.
- LIKEDopasuj tekst do wzorca. % oznacza dowolny ciąg znaków, _ dokładnie jeden.
- INSprawdź, czy wartość należy do listy. To krótsze niż kilka warunków OR.
- NULLBrakująca wartość. To nie zero i nie pusty tekst, a nigdy nie jest równa niczemu, nawet NULL.
- COUNT, SUM i AVGFunkcje agregujące: zamieniają wiele wierszy w jedną wartość albo w jedną wartość na grupę.
- GROUP BYStwórz jeden wiersz wyniku dla każdej różnej wartości (lub kombinacji wartości), a potem zagreguj każdą grupę.
- HAVINGFiltruj grupy po ich zagregowaniu. WHERE filtruje wiersze wcześniej.
- JOIN (INNER i LEFT)Łącz wiersze z dwóch tabel tam, gdzie klucz pasuje. INNER JOIN zostawia tylko dopasowania; LEFT JOIN zachowuje każdy wiersz lewej tabeli.
- INSERT, UPDATE i DELETEZmieniaj dane: dodawaj wiersze, kopiuj wiersze z zapytania, zmieniaj wartości w wierszach i usuwaj wiersze.
- CASEWybierz wartość dla każdego wiersza w zależności od warunków. Działa jak IF i IFS w Excelu.
- WITH (wspólne wyrażenia tabelaryczne)Nazwij podzapytanie za pomocą WITH, a potem odczytaj je w zapytaniu głównym jak tabelę.
- EXISTS i NOT EXISTSSprawdź, czy podzapytanie znajduje jakikolwiek wiersz. EXISTS jest prawdziwe, gdy coś znajdzie; NOT EXISTS jest prawdziwe, gdy nic nie znajdzie.
- ANY i ALLPorównaj wartość z każdym wierszem zwracanym przez podzapytanie. ALL oznacza każdy wiersz; ANY oznacza przynajmniej jeden.
- Funkcje okna: OVERLicz w poprzek wierszy, bez ich zwijania. OVER określa, które wiersze brać pod uwagę, podobnie jak RANK i sumy narastające w Excelu.
- UNION i UNION ALLUłóż wiersze dwóch zapytań jeden pod drugim w jeden wynik. UNION usuwa powtórzenia; UNION ALL je zachowuje.
- RIGHT JOIN i FULL JOINRIGHT JOIN zachowuje każdy wiersz prawej tabeli. FULL JOIN zachowuje niedopasowane wiersze z obu tabel.
- Funkcje tekstowe i datŁącz tekst, zmieniaj wielkość liter, wycinaj fragment wartości i odejmuj daty, aby otrzymać dni.
- CREATE TABLE i ograniczeniaUtwórz nową tabelę i ustal reguły, jakim muszą podlegać jej dane.
- Transakcje: BEGIN, COMMIT i ROLLBACKTransakcja grupuje zmiany. COMMIT je zachowuje; ROLLBACK je cofa.
- MIN i MAXZwracają najmniejszą lub największą wartość w kolumnie. Działają na liczbach, datach i tekście.
- LAG i LEADFunkcje okna, które odczytują wartość z poprzedniego (LAG) lub następnego (LEAD) wiersza, bez samodzielnego złączenia.
- INTERSECT i EXCEPTPołącz wyniki dwóch zapytań: zostaw wiersze znalezione w obu (INTERSECT) albo tylko w pierwszym (EXCEPT).
- CAST i ::Zamień wartość na inny typ danych.
- LIMIT i OFFSETZwróć tylko część wierszy: pierwsze n albo stronę zaczynającą się po m wierszach.
- ALTER TABLE, CREATE VIEW i CREATE INDEXZmień strukturę tabeli, zapisz zapytanie pod nazwą i przyspiesz wyszukiwanie.
- STRING_AGG, FILTER i ROLLUPPołącz wartości grupy w tekst, licz według warunku i dodaj wiersze sum częściowych.
- ON CONFLICT i RETURNINGWstaw wiersz albo zaktualizuj istniejący (upsert) i zwróć wiersze, które się zmieniły.