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: Funkcja 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?

Źle. Liczy JEDNĄ średnią dla wszystkich.
Źle. plec = 'k' AND plec = 'm' nigdy nie jest prawdą.
Źle. Warunek HAVING jest sprzeczny.
Dobrze. GROUP BY plec liczy średnią dla każdej płci.
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.