Grundlagen der Datenbanken

Eine Produkttabelle enthält fünf Zeilen (Name, Preis): (Stift, 120), (Heft, 250), (Radierer, 80), (Ordner, 300), (Lineal, 150). Welche Antwort zeigt in der richtigen Reihenfolge die Zeilen, die SELECT Name FROM Produkt WHERE Preis >= 150 ORDER BY Preis DESC zurückgibt?

  1. ALineal, Heft, Ordner
  2. BOrdner, Heft
  3. COrdner, Heft, Lineal
Antwort und Erläuterung anzeigen

Antwort: C. Ordner, Heft, Lineal

WHERE Preis >= 150 wählt nur Zeilen mit einem Preis von 150 oder mehr aus. Das Lineal mit genau 150 gehört dazu, ausgewählt werden also drei Zeilen: Heft (250), Ordner (300) und Lineal (150). ORDER BY Preis DESC sortiert sie anschließend vom höchsten Preis an (absteigend), was Ordner (300), Heft (250), Lineal (150) ergibt. Mit ASC oder ohne Angabe sortiert ORDER BY vom niedrigsten an (aufsteigend). Ohne ORDER BY ist die Reihenfolge der Ergebniszeilen nicht garantiert. Nach SELECT stehen die abzurufenden Spalten (hier Name), nach FROM die Tabelle und nach WHERE die Bedingung für die Zeilenauswahl.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Grundlagen der Datenbanken

  1. 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?
  2. Was ist das Ergebnis, wenn in SQL DELETE FROM Mitarbeiter ohne WHERE-Klausel ausgeführt wird?
  3. 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?
  4. 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?
  5. 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?