Biorąc pod uwagę tabelę o nazwie klienci, które z poniższych zapytań SQL poprawnie zwróci listę miast wraz z liczbą przypisanych do nich klientów, filtrując wyniki tak, aby wyświetlić tylko miasta mające więcej niż 5 klientów?
Biorąc pod uwagę tabelę o nazwie klienci, które z poniższych zapytań SQL poprawnie zwróci listę miast wraz z liczbą przypisanych do nich klientów, filtrując wyniki tak, aby wyświetlić tylko miasta mające więcej niż 5 klientów?
Wyjaśnienie i uzasadnienie dydaktyczne
Poprawna odpowiedź: B (SELECT Miasto, COUNT() FROM klienci GROUP BY Miasto HAVING COUNT() > 5;)
Ponieważ klauzula HAVING służy do filtrowania rekordów po dokonaniu grupowania za pomocą GROUP BY, co pozwala na sprawdzanie warunków dotyczących funkcji agregujących, takich jak COUNT(*).
Opcja A jest niepoprawna, ponieważ funkcje agregujące nie mogą być stosowane w klauzuli WHERE, która filtruje wiersze przed grupowaniem. Opcja C jest niepoprawna, ponieważ używa funkcji sumowania SUM(ID) zamiast zliczania wystąpień wierszy. Opcja D jest niepoprawna, ponieważ próbuje porównać wartość tekstową kolumny Miasto z wartością liczbową w klauzuli WHERE.
Dlaczego pozostałe opcje są nieprawidłowe?
- A: Zapytanie
SELECT Miasto, COUNT(*) FROM klienci WHERE COUNT(*) > 5 GROUzawiera nieprawidłową składnię SQL lub zwraca niewłaściwy zestaw danych. - C: Zapytanie
SELECT Miasto, SUM(ID) FROM klienci GROUP BY Miasto HAVING Czawiera nieprawidłową składnię SQL lub zwraca niewłaściwy zestaw danych. - D: Zapytanie
SELECT Miasto, COUNT(*) FROM klienci WHERE Miasto > 5 GROUPzawiera nieprawidłową składnię SQL lub zwraca niewłaściwy zestaw danych.
Chcesz poćwiczyć całą kwalifikację INF.03?
Egzamin próbny na czas, nauka działami, losowe pytanie albo przegląd całej bazy — wszystko w przeglądarce i bez zakładania konta.
Pojęcia z tego pytania
- Funkcje agregujące w SQL (COUNT, SUM, AVG, MIN, MAX)Wbudowane funkcje SQL wykonujące obliczenia na zestawie wartości w kolumnie i zwracające pojedynczą wartość skalarną.
- Grupowanie GROUP BY i klauzula HAVINGMechanizm łączący wiersze o takich samych wartościach w grupy w celu wykonania na nich obliczeń agregujących, filtrowanych za pomocą HAVING.
- Instrukcja SELECT w SQLPodstawowe polecenie języka DQL (Data Query Language) w SQL służące do pobierania i filtrowania danych z jednej lub wielu tabel.
Podobne pytania z działu „Sql zlaczenia i agregacja”
Ten sam obszar materiału z kwalifikacji INF.03. W całej bazie znajdziesz 43 pytań z tego działu.
- #63
Którego ze słów kluczowych języka SQL należy użyć, aby wyeliminować duplikaty?
- #106
Aby policzyć wszystkie wiersze tabeli Koty należy użyć polecenia:
- #158
W bazie danych, w celu uporządkowania listy uczniów według roku urodzenia, należy użyć polecenia
- #232
Zdefiniowano bazę danych z tabelą mieszkancy o polach: nazwisko, imie, miasto. Następnie stworzono następujące zapytanie do bazy: SELECT nazwisko, imie FROM mieszkancy WHERE miasto="Poznań" UNION ALL SELECT nazwisko, imie FROM mieszkancy WHERE miasto="Kraków"; Wskaż zapytanie, które zwróci identyczne dane:
- #308
Dana jest tabela programiści o polach: id, nick, ilosc_kodu, ocena. Pole ilosc_kodu zawiera liczbę linii kodu napisanych przez programistę w danym miesiącu. Aby policzyć sumę linii kodu, który napisali wszyscy programiści, należy użyć polecenia