🎯 Definicja

SQL (Structured Query Language) to standaryzowany język zapytań używany do pracy z relacyjnymi bazami danych. Umożliwia tworzenie, odczytywanie, aktualizowanie oraz usuwanie danych (CRUD), a także zarządzanie strukturą baz danych i kontrolą dostępu. SQL jest podstawowym narzędziem analityka, inżyniera danych oraz deweloperów aplikacji.

🔑 Kluczowe punkty

  • SQL służy do manipulowania i zapytywania danych w systemach relacyjnych (RDBMS), jak PostgreSQL, MySQL, Oracle, SQL Server.
  • Składa się z kilku grup instrukcji: DML (Data Manipulation), DDL (Data Definition), DCL (Data Control) i TCL (Transaction Control).
  • Jest językiem deklaratywnym – opisuje co chcemy uzyskać, nie jak.
  • Kluczowy w analizie danych, raportowaniu, ELT oraz migracjach danych.
  • Zgodność z SQL różni się między systemami baz danych – każdy może mieć własne rozszerzenia.

📚 Szczegółowe wyjaśnienie

Podstawowe komponenty SQL

Rodzaj instrukcjiPrzykład funkcjiOpis
DMLSELECT, INSERT, UPDATEOperacje na danych
DDLCREATE, DROP, ALTERTworzenie i modyfikacja struktur danych
DCLGRANT, REVOKEZarządzanie uprawnieniami
TCLCOMMIT, ROLLBACKKontrola transakcji

Przykład podstawowego zapytania SQL:

SELECT first_name, last_name
FROM employees
WHERE department = 'Sales'
ORDER BY last_name ASC;

Poziomy zaawansowania SQL

W społeczności danych popularny jest podział rozwoju biegłości w SQL:

  1. Poziom 0 — brak znajomości, podstawowa składnia.
  2. Poziom 1–2 — proste zapytania SELECT + JOIN, filtrowanie, agregacje.
  3. Poziom 3 — zagnieżdżone zapytania, CTE, case-when.
  4. Poziom 4 — OLAP, okna, pivot/unpivot, dynamic SQL.
  5. Poziom 5 — optymalizacja, profile query, materialized views, performance tuning.

![](images/sql-levels Data Bank](https://twitter.com/largedatabank/status/1559651463919452161)

Warianty i silniki SQL

  • PostgreSQL – zgodny ze standardem ANSI, rozszerzalny (CTEs, JSON, array).
  • MySQL – popularny open-source, powszechnie używany w aplikacjach webowych.
  • Microsoft SQL Server – dominujący w środowiskach korporacyjnych.
  • Snowflake/BigQuery – SQL jako warstwa do analizy danych w chmurze.
  • SQLite – lekki silnik dla embedded/mobile apps.

💡 Przykład zastosowania

Zespół analityczny korzysta z SQL do analizy efektywności kampanii marketingowych. Tworzą oni zestaw zapytań SQL w BigQuery, które łączą dane o kliknięciach (ads), sesjach (analytics) i transakcjach (orders). Gotowe zapytania są podstawą dashboardów w Looker Studio i raportów zarządczych.

📌 Źródła

👽 Brudnopis

  • SQL jako język nieimperatywny – skup się na co, nie jak
  • ANSI SQL vs dialekty (PostgreSQL, MySQL, T-SQL)
  • Wydajność: indeksy, explain plan, struktura zapytań
  • SQL to nie tylko analyst tool – to też dla dev i inżynierów
  • Warto znać: CTE, window functions, NULL logic, GROUP BY + HAVING logic
  • Dobry SQL = szybki, czytelny, skalowalny