Ermitteln aller Kombinationen mit DISTINCT

Mit dem Schlüsselwort DISTINCT am Anfang der Feldliste wird erreicht, dass keine doppelten Zeilen in unserer Ergebnismenge erscheinen. Das ist häufig sehr praktisch, wenn wir uns nur für wenige Spalten interessieren. Wenn wir beispielsweise wissen wollen, welche Bearbeiter (Spalte ASSIGNEE) eine Aufgabe in der Tabelle TASKS haben, dann können wir das ganz einfach ermitteln mit:

SELECT DISTINCT assignee
  FROM tasks

Aber es können natürlich auch Kombinationen ermittelt werden. Will man beispielsweise ermitteln welche Bearbeiter in welchem Projekt mitarbeiten, so erhält man mit der folgenden Abfrage die 132 auftretenden Kombinationen:

SELECT DISTINCT assignee, 
                project
  FROM tasks

Ohne DISTINCT ergibt die obige Abfrage 1000 Zeilen – für jede Aufgabe in der Tabelle eine.