Wróć do bloga

SQL dla początkujących — podstawy w 30 minut

Naucz się SQL od zera — kompletny przewodnik po podstawach dla początkujących. Omawiane tematy: SELECT, WHERE, JOIN, GROUP BY i funkcje agregujące. Z przykładami kodu do natychmiastowego zastosowania.

Zespół Strefa Kursów

SQL dla początkujących — podstawy w 30 minut

SQL (Structured Query Language) to język zapytań do baz danych, który jest niezbędny dla analityków danych, programistów, a nawet marketingowców. Dobra wiadomość: podstawy SQL można opanować w ciągu jednej godziny. Oto kompaktowy przewodnik, który nauczy Cię wszystkiego, co potrzebujesz na start.

Czym jest SQL?

SQL to standardowy język do komunikacji z relacyjnymi bazami danych. Pozwala:

  • Pobierać dane z bazy (SELECT)
  • Wstawiać nowe dane (INSERT)
  • Aktualizować istniejące dane (UPDATE)
  • Usuwać dane (DELETE)
  • Tworzyć struktury bazy (CREATE)

SQL jest używany w: MySQL, PostgreSQL, SQLite, Microsoft SQL Server, Oracle i wielu innych.

Podstawowa struktura bazy danych

Baza danych = zbiór tabel. Tabela = wiersze (rekordy) i kolumny (pola).

Przykładowa tabela klienci:

idimienazwiskoemailmiasto
1JanKowalskijan@...Warszawa
2AnnaNowakanna@...Kraków
3PiotrWiśniakpiotr@...Warszawa

Polecenie SELECT — pobieranie danych

Podstawowe SELECT

sql
-- Pobierz wszystkie kolumny SELECT * FROM klienci; -- Pobierz konkretne kolumny SELECT imie, nazwisko, email FROM klienci; -- Pobierz z aliasem (inną nazwą kolumny) SELECT imie AS "Imię", nazwisko AS "Nazwisko" FROM klienci;

WHERE — filtrowanie

sql
-- Klienci z Warszawy SELECT * FROM klienci WHERE miasto = 'Warszawa'; -- Klienci, których imię zaczyna się na A SELECT * FROM klienci WHERE imie LIKE 'A%'; -- Klienci o ID > 1 SELECT * FROM klienci WHERE id > 1; -- Kilka warunków (AND/OR) SELECT * FROM klienci WHERE miasto = 'Warszawa' AND imie = 'Jan';

ORDER BY — sortowanie

sql
-- Sortuj po nazwisku rosnąco SELECT * FROM klienci ORDER BY nazwisko ASC; -- Sortuj po nazwisku malejąco SELECT * FROM klienci ORDER BY nazwisko DESC;

LIMIT — ograniczenie wyników

sql
-- Pobierz tylko 10 rekordów SELECT * FROM klienci LIMIT 10; -- Pomiń pierwsze 10, pobierz kolejne 10 (paginacja) SELECT * FROM klienci LIMIT 10 OFFSET 10;

Funkcje agregujące

sql
-- Ile jest klientów? SELECT COUNT(*) FROM klienci; -- Ile klientów z Warszawy? SELECT COUNT(*) FROM klienci WHERE miasto = 'Warszawa'; -- Suma, średnia, min, max (dla danych liczbowych) SELECT SUM(kwota) AS suma, AVG(kwota) AS srednia, MIN(kwota) AS minimum, MAX(kwota) AS maksimum FROM zamowienia;

GROUP BY — grupowanie

sql
-- Ile klientów z każdego miasta? SELECT miasto, COUNT(*) AS liczba_klientow FROM klienci GROUP BY miasto; -- Grupowanie z filtrem (HAVING) SELECT miasto, COUNT(*) AS liczba_klientow FROM klienci GROUP BY miasto HAVING COUNT(*) > 5;

JOIN — łączenie tabel

To kluczowa koncepcja SQL — łączenie danych z wielu tabel.

Dodatkowa tabela zamowienia:

idklient_idkwotadata
111502026-01-15
223202026-01-16
31892026-01-20
sql
-- INNER JOIN — tylko pasujące rekordy SELECT k.imie, k.nazwisko, z.kwota, z.data FROM klienci k INNER JOIN zamowienia z ON k.id = z.klient_id; -- LEFT JOIN — wszyscy klienci, nawet bez zamówień SELECT k.imie, k.nazwisko, z.kwota FROM klienci k LEFT JOIN zamowienia z ON k.id = z.klient_id;

INSERT, UPDATE, DELETE

sql
-- Wstaw nowego klienta INSERT INTO klienci (imie, nazwisko, email, miasto) VALUES ('Marta', 'Kwiatkowska', 'marta@email.com', 'Wrocław'); -- Zaktualizuj adres email UPDATE klienci SET email = 'nowy@email.com' WHERE id = 1; -- Usuń klienta (OSTROŻNIE!) DELETE FROM klienci WHERE id = 1;

Przydatne operatory SQL

sql
-- IN — sprawdź czy wartość należy do listy SELECT * FROM klienci WHERE miasto IN ('Warszawa', 'Kraków', 'Wrocław'); -- BETWEEN — zakres SELECT * FROM zamowienia WHERE kwota BETWEEN 100 AND 500; -- IS NULL / IS NOT NULL SELECT * FROM klienci WHERE telefon IS NULL; -- DISTINCT — unikalne wartości SELECT DISTINCT miasto FROM klienci;

Subqueries — podzapytania

sql
-- Klienci, którzy złożyli zamówienie powyżej 300 zł SELECT imie, nazwisko FROM klienci WHERE id IN ( SELECT klient_id FROM zamowienia WHERE kwota > 300 );

Gdzie ćwiczyć SQL?

  • SQLiteOnline.com — baza w przeglądarce, zero konfiguracji
  • HackerRank SQL — zadania z rosnącym stopniem trudności
  • LeetCode SQL — zadania dla analityków
  • Mode Analytics — tutoriale z prawdziwymi danymi
  • W3Schools SQL — interaktywny kurs

Najczęstsze błędy początkujących

  1. UPDATE/DELETE bez WHERE — modyfikujesz/usuwasz wszystkie rekordy!
  2. **SELECT *** — w produkcji zawsze wybieraj konkretne kolumny
  3. Pomylenie JOIN typów — INNER vs LEFT vs RIGHT
  4. NULL handling — NULL ≠ pusty string; używaj IS NULL nie = NULL

Podsumowanie

SQL to jeden z najcenniejszych skillów na rynku pracy — przydatny dla analityków danych, programistów, marketerów i managerów. Podstawy są proste i można je opanować w kilka godzin. Reszta to praktyka!


Naucz się SQL i analizy danych z kursami na VITA i otwórz drzwi do kariery w data analytics.

Udostępnij artykuł