Write a query. See the rows.
Run real SQL against a practice bakery in your browser. The first lesson is free and takes about a minute.
- Try the first drills
- No install
- Instant check
How it works
- 1
Read a short task.
Each lesson is a question about a small shop database.
- 2
Write a query.
Type SELECT in the editor. PostgreSQL runs it in your browser.
- 3
See the rows.
Your result is checked at once. Stuck? Ask for a hint.
Ukończono 0 z 34 lekcji
Podstawy
Za darmo: czytaj, sortuj i filtruj tabelę.
- Twoje pierwsze SELECTOdczytaj kolumny z tabeli, posortuj wiersze i usuń duplikaty.Free
- Filtruj wiersze za pomocą WHEREZachowaj tylko wiersze spełniające warunek, w tym zakresy i brakujące wartości.Free
- Wzorce, listy i najlepsze wynikiDopasowuj tekst za pomocą LIKE, sprawdzaj przynależność do listy za pomocą IN i zachowuj tylko pierwsze wiersze za pomocą LIMIT.Free
Podsumowania
Licz, sumuj i uśredniaj w grupach.
Złączenia
Łącz tabele po kluczach, także tych, które nie pasują.
- Łączenie tabel za pomocą JOINDopasuj wiersze z dwóch tabel po wspólnym kluczu, a następnie pogrupuj połączone wiersze.Pro
- Zachowaj wiersze bez dopasowania: LEFT JOINInner join pomija wiersze bez dopasowania. Left join je zachowuje, dzięki czemu znajdziesz to, czego brakuje.Pro
- Zachowaj niedopasowane wiersze z obu stron: RIGHT i FULL JOINRIGHT JOIN zachowuje każdy wiersz prawej tabeli. FULL JOIN zachowuje niedopasowane wiersze z obu tabel.Pro
- Porównuj wiersze w obrębie jednej tabeliPołącz tabelę samą ze sobą, aby porównać jej wiersze między sobą, bez powtarzających się par.Pro
- Relacja wiele do wielu przez tabelę pośredniczącąZamówienia i produkty są połączone przez order_items. Złączenie przez tę tabelę pozwala odpowiedzieć na pytania o produkty.Pro
- Każda kombinacja: CROSS JOIN i skrót USINGCROSS JOIN łączy każdy wiersz z każdym wierszem innej tabeli. USING skraca złączenie po kolumnie o tej samej nazwie w obu tabelach.Pro
Bardziej zaawansowane zapytania
CASE, podzapytania, funkcje okna, UNION oraz funkcje tekstowe i dat.
- Warunki w zapytaniu: CASE WHENCASE to SQL-owa wersja IF i IFS: wybiera wartość dla każdego wiersza w zależności od warunków.Pro
- Zapytania w zapytaniach: podzapytania, WITH i EXISTSPodzapytanie to SELECT wewnątrz innego zapytania. WITH nadaje podzapytaniu nazwę, abyś mógł je ponownie użyć. EXISTS, ANY i ALL porównują wiersz ze zbiorem wierszy.Pro
- Ranking i sumy narastające: funkcje oknaOVER dodaje obliczenie w poprzek wierszy bez ich zwijania, jak RANK i sumy narastające w Excelu.Pro
- Patrz na sąsiednie wiersze: LAG, LEAD i DENSE_RANKLAG i LEAD odczytują poprzedni lub następny wiersz bez złączenia. DENSE_RANK nadaje pozycje bez przerw. Remisy zmieniają sumy narastające.Pro
- Łączenie wyników: UNION i UNION ALLUNION łączy wiersze dwóch zapytań w jeden wynik. UNION ALL zachowuje powtórzenia. Obie strony muszą mieć tyle samo kolumn.Pro
- Część wspólna i różnica: INTERSECT i EXCEPTINTERSECT zachowuje wiersze występujące w obu wynikach. EXCEPT zachowuje wiersze z pierwszego wyniku, których brakuje w drugim.Pro
- Tekst i daty: łączenie, wycinanie i liczenieŁącz tekst za pomocą ||, zmieniaj wielkość liter, wycinaj fragment wartości i licz dni między dwiema datami.Pro
- Więcej narzędzi do tekstu i dat: REPLACE, SPLIT_PART i generate_seriesZastępuj i dziel tekst, dodawaj dni do daty i twórz listę dat, aby znaleźć luki.Pro
- Konwersja i porównania: CAST, NULLIF, ILIKE i stronicowanieZmień typ wartości, unikaj dzielenia przez zero, dopasuj tekst bez względu na wielkość liter i pobieraj wyniki stronami.Pro
Zmiana danych
Bezpiecznie dodawaj, zmieniaj i usuwaj wiersze.
- Dodawanie, zmiana i usuwanie wierszyINSERT, UPDATE i DELETE, kopiowanie wierszy przez INSERT SELECT lub CREATE TABLE AS oraz dlaczego UPDATE i DELETE potrzebują WHERE.Pro
- Wstaw lub zaktualizuj: ON CONFLICT i RETURNINGUpsert wstawia wiersz albo go aktualizuje, gdy klucz już istnieje. RETURNING pokazuje zmienione wiersze.Pro
- Tworzenie tabeli z regułami: CREATE TABLE i transakcjeCREATE TABLE ustawia kolumny i reguły nowej tabeli, w tym UNIQUE i automatycznie numerowane klucze. Transakcja grupuje zmiany, dzięki czemu ROLLBACK może je cofnąć.Pro
- Zmiana struktury: ALTER TABLE, widoki i indeksyDodawaj kolumny i reguły do istniejącej tabeli, zapisuj zapytanie jako widok, przyspieszaj wyszukiwanie za pomocą indeksu i usuwaj to, czego już nie potrzebujesz.Pro
Z Excela
Wyszukiwanie, SUMIF, tabele przestawne i tablice dynamiczne, w SQL.
- Od VLOOKUP do JOINJeśli znasz VLOOKUP i XLOOKUP, znasz już ideę stojącą za JOIN.Pro
- SUMIF, COUNTIFS i tabele przestawne w SQLSumy i liczby warunkowe zamieniają się w WHERE plus SUM lub COUNT. Tabela przestawna zamienia się w GROUP BY na dwóch kolumnach.Pro
- FILTER, UNIQUE i SORT w SQLFunkcje tablic dynamicznych odpowiadają WHERE, DISTINCT i ORDER BY.Pro
Baza pracowników
Druga baza do ćwiczeń, mała firma: schemat organizacyjny, pensje, daty zatrudnienia i ramki okna.
- Schematy organizacyjne z rekurencyjnym WITHPrzejdź łańcuch menedżerów w górę lub w dół o dowolną liczbę poziomów za pomocą rekurencyjnego wyrażenia tabelowego (CTE).Pro
- Wynagrodzenia: N-te najwyższe, w działach i powyżej średniejRankinguj z remisami, wybierz najwyższy wiersz w każdej grupie i porównaj każdą wartość ze średnią grupy.Pro
- Menedżerowie i pary: samozłączenia na pracownikachPołącz tabelę pracowników z nią samą, aby pokazać menedżerów, policzyć bezpośrednich podwładnych i znaleźć pary.Pro
- Ramki okna: sumy narastające i średnie krocząceROWS BETWEEN decyduje, które wiersze obejmuje obliczenie w oknie: sumę narastającą, średnią kroczącą i sposób traktowania remisów.Pro
Ćwiczenia na rozmowę
Pytania, które wracają w kółko: N-ta najwyższa wartość, najlepsi w grupie, duplikaty i zmiana w czasie.
- Wzorce z rozmów kwalifikacyjnych: N-ta najwyższa wartość, najlepsi w grupie, duplikatyPytania, które wracają na rozmowach o SQL, każde z więcej niż jednym poprawnym sposobem odpowiedzi.Pro
- Wzorce z rozmów kwalifikacyjnych: pierwszy wiersz w grupie, zmiana w czasie, udział w sumiePytania o funkcje okna, które zamieniają tabelę w raport.Pro
Studium przypadku
Odpowiedz na prawdziwe pytania o sprzedaż z jednego miesiąca.
Write a query. See the rows.
SQL DailyDrills is practice in the browser: you type SQL, press Check, and see the result table. Nothing to install. The first lesson is free and takes about a minute.
Często zadawane pytania
Where does the SQL run?
In your browser, on PostgreSQL (PGlite). Queries never leave your computer. The core of SQL is the same in MySQL, SQL Server and SQLite; the reference pages point out where they differ.
What data am I querying?
A small bakery for most lessons: products, orders and customers. Later lessons use a small company database for employees and org charts.
Czy to naprawdę bezpłatne?
The first 3 lessons are free to try, with no account and no credit card. Sign up free to continue; Pro unlocks the rest of the course.
Czy potrzebuję konta?
Not for the first exercises. Try those in the browser; create a free account when you want to continue.
See also the guides and the SQL reference.