Middle+
W jakiej kolejności wykonywane są operatory SQL: SELECT, FROM, JOIN, WHERE, GROUP BY, HAVING, LIMIT?
sobes.tech AI
Odpowiedź od AI
Logika kolejność wykonywania operatorów SQL różni się od kolejności ich pisania w zapytaniu. Jest następująca:
- FROM — wybierane są tabele i wykonywane JOINy, tworząc początkowy zestaw danych.
- JOIN — łączenie tabel odbywa się razem z FROM.
- WHERE — filtrowanie wierszy początkowego zestawu danych według warunku.
- GROUP BY — grupowanie przefiltrowanych danych według wskazanych kolumn.
- HAVING — filtrowanie pogrupowanych danych według warunków agregacji.
- SELECT — wybór potrzebnych kolumn i obliczanie wyrażeń.
- LIMIT (lub TOP) — ograniczenie liczby zwracanych wierszy.
Przykład:
SELECT department, COUNT(*)
FROM employees
JOIN departments ON employees.dept_id = departments.id
WHERE salary > 50000
GROUP BY department
HAVING COUNT(*) > 5
LIMIT 10;
Najpierw łączone są tabele, następnie filtrowani są pracownicy według wynagrodzenia, potem grupowani według działów, grupy są filtrowane według liczby pracowników, wybierane są kolumny, a na końcu ograniczana jest liczba wyników.