Przejdź do treści głównej
INF.03Pytanie #1521 z 1558sql-zlaczenia-i-agregacja

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?

Opcje odpowiedzi:
A
SELECT Miasto, COUNT(*) FROM klienci WHERE COUNT(*) > 5 GROUP BY Miasto;
B
SELECT Miasto, COUNT(*) FROM klienci GROUP BY Miasto HAVING COUNT(*) > 5;
Prawidłowa
C
SELECT Miasto, SUM(ID) FROM klienci GROUP BY Miasto HAVING COUNT(*) > 5;
D
SELECT Miasto, COUNT(*) FROM klienci WHERE Miasto > 5 GROUP BY Miasto;
Reklama

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 GROU zawiera nieprawidłową składnię SQL lub zwraca niewłaściwy zestaw danych.
  • C: Zapytanie SELECT Miasto, SUM(ID) FROM klienci GROUP BY Miasto HAVING C zawiera nieprawidłową składnię SQL lub zwraca niewłaściwy zestaw danych.
  • D: Zapytanie SELECT Miasto, COUNT(*) FROM klienci WHERE Miasto > 5 GROUP zawiera 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.

Rozwiąż w Quizie

Pojęcia z tego pytania

Cały słownik INF03
Reklama

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.