Grundlagen der Datenbanken

Die Spalte Abteilung einer Mitarbeitertabelle enthält von der obersten Zeile an die Werte Vertrieb, Entwicklung, Vertrieb, Verwaltung, Entwicklung, Vertrieb (insgesamt 6 Zeilen). Wie viele Zeilen liefert SELECT DISTINCT Abteilung FROM Mitarbeiter?

  1. A2 Zeilen
  2. B3 Zeilen
  3. C6 Zeilen
Antwort und Erläuterung anzeigen

Antwort: B. 3 Zeilen

DISTINCT entfernt doppelte Zeilen aus dem Ergebnis und fasst gleiche Werte zu einer Zeile zusammen. Es gibt drei verschiedene Werte für Abteilung, Vertrieb, Entwicklung und Verwaltung, das Ergebnis hat also 3 Zeilen. Ohne DISTINCT liefert SELECT Abteilung FROM Mitarbeiter alle 6 Zeilen einschließlich der Duplikate. 2 Zeilen ergäbe sich, wenn man nur die Abteilungen zählt, die zweimal oder öfter vorkommen (Vertrieb und Entwicklung); das entspricht dem Ergebnis einer Abfrage wie SELECT Abteilung FROM Mitarbeiter GROUP BY Abteilung HAVING COUNT(*) >= 2.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Grundlagen der Datenbanken

  1. Was ist das Ergebnis, wenn in SQL DELETE FROM Mitarbeiter ohne WHERE-Klausel ausgeführt wird?
  2. Die Spalte Punkte einer Testtabelle enthält vier Werte: 80, NULL, 70, 90 (NULL bedeutet, dass die Person nicht am Test teilgenommen hat). Was ist das Ergebnis von SELECT AVG(Punkte) FROM Test?
  3. Die Spalte Punkte einer Ergebnistabelle enthält sechs Werte: 50, NULL, 70, NULL, 90, 30. Welche Antwort zeigt der Reihe nach das Ergebnis von SELECT COUNT(*), COUNT(Punkte), AVG(Punkte) FROM Ergebnis?
  4. Aus einer Mitarbeitertabelle (MitarbeiterNr, Abteilung, Gehalt) sollen die Abteilungen mit einem Durchschnittsgehalt von 300 oder mehr samt diesem Durchschnitt ermittelt werden. Welche SQL-Anweisung ist richtig?
  5. Eine Umsatztabelle (Filiale, Betrag) enthält sieben Zeilen: (A, 500), (A, 700), (B, 300), (B, 400), (C, 1200), (D, 200), (D, 900). Wie viele Zeilen liefert SELECT Filiale, SUM(Betrag) FROM Umsatz GROUP BY Filiale HAVING SUM(Betrag) >= 1000?