Zurück zur Hauptseite
Impressum
< SQL Where Inhalt Tabellen verbinden >

SQL Datensätze sortieren

Wie man Datensätze sortiert:

SQL-Abfragen sortieren

Fügt man am Ende einer SQL-Abfrage ein ORDER BY spalte an, so werden die Datensätze nach dieser Spalte aufsteigend sortiert.
Wenn dem Spaltenname eine desc (descending = absteigend) angehängt wird, wird absteigend sortiert.
Enthält ein ORDER BY mehrere Spalten enthalten, so wird zuerst nach der ersten Spalte sortiert, sind hier die Werte gleich, werden diese nach der zweiten Spalte sortiert u.s.w.
Jeder Spalte kann ein desc angehängt werden, wenn absteigend nach ihr sortiert weden soll.
Liednamen aufsteigend sortiert:
SELECT name FROM lied 
ORDER BY name;
Alle Interpreten nach Stilrichtung sortiert, innerhalb einer Stilrichtung sind sie nach Namen sortiert:
SELECT * FROM interpret
ORDER BY Stilrichtung, Name;
Hier ist die Stilrichtung absteigend sortiert aber die Namen immer noch aufsteigend:
SELECT * FROM interpret
ORDER BY Stilrichtung DESC, Name;
Order by kommt immer am Ende, also auch nach where
SELECT * FROM interpret
WHERE stilrichtung is not null
ORDER BY Stilrichtung DESC, Name;

Aufgaben

Aufgabe 1
Gegeben ist eine CD-Datenbank mit folgenden Tabellen:
CD( CDID, TITEL )
AUFCD( CDID LIEDID )
INTERPRET( ID, NAME, STILRICHTUNG )
VON( IntId LiedId )
LIED( ID, NAME )
  1. Geben Sie ein Select-Statement an, welches alle Spalten der Tabelle Lied ausgibt.
  2. Geben Sie eine aufsteigend sortierte Liste alle CD-Titel aus.
  3. Ermitteln Sie alle Lied-IDs der CD 2.
  4. Erstellen Sie eine alphabetisch sortierte Liste aller Bands welche mit B oder C beginnen.
  5. Erstellen Sie eine Liste aller Stilrichtungen welche auf k enden ohne doppelte Nennungen.
  6. Geben Sie alle Stilrichtungen aus, welche nicht null sind und der Interpret nicht mit B beginnt.
  7. Geben Sie das Lied mit der ID 10 aus.
  8. Ermitteln Sie alle Lieder die mit A beginnen oder eine ID größer 40 besitzen.
  9. Suchen Sie in den Interpreten nach 'Beatles'.
  10. Geben Sie die alle CD-ID und Lied-ID aus, für die folgendes gilt: Das Lied und die CD auf welcher es zu finden ist haben denselben Wert.
  11. Geben Sie alle Lieder aus, welche einen Bindestrich (-) im Namen haben.
Aufgabe 2
Vereinfachen und verkürzen Sie folgende SQL-Abfragen:
  1. SELECT cdid, titel from CD;
  2. SELECT DISTINCT cdid FROM cd WHERE cdid=1 ORDER BY cdid DESC;
  3. SELECT name FROM interpret WHERE id=0 OR id=1 OR id=2 OR id=3;
  4. SELECT name FROM interpret
    WHERE id<10 AND id>2 AND id!=3 OR id>10 OR id=2 ORDER BY id ASC;

  5. SELECT id, name, stilrichtung FROM interpret WHERE id IS NOT null;