Podzapytania — część 2
Część sekcji Podstawy ścieżki SQL w Coddy. Lekcja 39 z 72.
Istnieją trzy główne typy podzapytań:
- Podzapytania skalarne — zwracają pojedynczą wartość (jeden wiersz, jedna kolumna)
- Podzapytania wierszowe — zwracają jeden wiersz z wieloma kolumnami
- Podzapytania tabelaryczne — zwracają wiele wierszy i kolumn
Na przykład, oto kilka zastosowań każdego typu podzapytania:
Podzapytanie skalarne — znajdź pracowników, którzy zarabiają więcej niż średnia pensja:
SELECT name, salary
FROM employees
WHERE salary > (
SELECT AVG(salary)
FROM employees
);Podzapytanie wierszowe — znajdź pracownika (lub pracowników) z tego samego działu i z taką samą pensją jak Alice
SELECT name
FROM employees
WHERE (department, salary) = (
SELECT department, salary
FROM employees
WHERE name = 'Alice'
);Podzapytania tabelaryczne — wyświetlanie działów i liczby ich pracowników
SELECT department, count
FROM (
SELECT department, COUNT(*) as count
FROM employees
GROUP BY department
) as dept_counts;Zwróć uwagę na przypadki użycia:
- Skalar — proste porównania (>, <, =)
- Gdy trzeba dopasować wiele kolumn
- Gdy musisz wykonać zapytanie na zbiorze wyników
Wyzwanie
ŁatwyDostępne tabele i kolumny:
shop:price,quantity,category,list_date
Znajdź kategorie, których łączna ilość jest większa niż średnia wszystkich ilości w sklepie. Zwróć category oraz zsumowaną ilość o nazwie total_quantity.
Ważne: Musisz użyć podzapytania wewnątrz klauzuli HAVING, aby obliczyć średnią. Nie używaj wartości wpisanej na sztywno ani osobnego zapytania: podzapytanie powinno obliczać AVG(quantity) bezpośrednio z tabeli shop wewnątrz HAVING.
Etapy rozwiązania:
- Najpierw napisz podzapytanie, które oblicza średnią ze wszystkich ilości w sklepie:
SELECT AVG(quantity) FROM shop - Następnie dla każdej kategorii zsumuj jej ilości i porównaj je z wynikiem tego podzapytania, używając słowa kluczowego
HAVING
Spróbuj swoich sił
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Więcej słów kluczowych
Słowo kluczowe INSłowo kluczowe BETWEENSłowo kluczowe LIKESłowo kluczowe ASPowtórzenie – modele telefonów komórkowych2Instrukcje warunkowe
Podstawy instrukcji warunkowychSłowo kluczowe ANDSłowo kluczowe ORSłowo kluczowe NOTŁączenie wielu warunkówNawiasyWartości logiczne3Określony format zwracanych danych
Wartości nullSortowanie wyników — część 1Sortowanie wyników — część 2Powtórzenie — firma zajmująca się cyberbezpieczeństwemOgraniczanie liczby rekordówPowtórzenie — fabryka pojazdów6Wyzwania na początek
Powtórka – wybory parlamentarnePowtórka – zatrzymanie przestępcy przez policjęPowtórka – pojemnik na napój w barzePowtórka – inżynier: nowe kolumnyPoćwicz samodzielnie: Edytor online SQL