Przejdź do głównej treści
  1. Strona główna
  2. Technik informatyk
  3. INF.03
  4. Pytanie

Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Zawód: Technik informatyk, Technik programista

Kategorie: Bazy danych

Słowa kluczowe: AVG() w SQL Funkcje agregujące w SQL GROUP BY w SQL HAVING w SQL Operatory porównania w SQL SELECT w SQL

Tabela pracownicy ma m.in. pola plec i zarobek. Które zapytanie policzy OSOBNO średni zarobek kobiet i mężczyzn?

Dobrze. GROUP BY plec liczy średnią dla każdej płci.
Źle. Liczy JEDNĄ średnią dla wszystkich.
Źle. plec = 'k' AND plec = 'm' nigdy nie jest prawdą.
Źle. Warunek HAVING jest sprzeczny.
Aby policzyć średnią OSOBNO dla każdej płci, grupuje się dane klauzulą GROUP BY plec - wtedy AVG(zarobek) obliczy się dla kobiet i dla mężczyzn z osobna. Dlatego poprawne jest SELECT AVG(zarobek) FROM pracownicy GROUP BY plec;.
Bez GROUP BY zapytanie policzy JEDNĄ średnią dla wszystkich (AS to tylko alias). Warunek plec = 'k' AND plec = 'm' jest SPRZECZNY (żaden rekord nie ma obu płci), więc zwróci pustkę - dotyczy to też wariantu z HAVING. Rozdzielenie po płci daje GROUP BY plec.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wyślemy tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.