Beispiel wird.
Beziehung Kunde (ssnum, Name, Postleitzahl, Adresse) PK (ssnum). ssnum ist Sozialversicherungsnummer.
SQL:
Select DISTINCT ssnum from customer where zipcode=1234 group by name
Diese SQL-Anweisung gibt eindeutige Datensätze für diejenigen Kunden, die zipcode haben 1234. Am Ende Ergebnisse nach Namen gruppiert sind.
Hier DISTINCT ist nicht notwendig. weil Sie ssnum auswählen, das bereits eindeutig ist, weil ssnun der Primärschlüssel ist. zwei Personen können nicht die selbe ssnum haben.
In diesem Fall gibt Select ssnum from customer where zipcode=1234 group by name
bessere Leistung als "... DISTINCT .......".
DISTINCT ist eine teure Operation in einem DBMS.
Diese beiden Abfragen sind nicht gleich, oder? In der zweiten wählen Sie nur eindeutige IDs aus, nicht auch eindeutige Namen. – DisgruntledGoat
Dies funktioniert nicht mit anderen T-SQL, oder es wird nicht schneller mit anderen T-SQL? –
Nun, der zweite funktioniert nicht !!! Jede Spalte, die nicht in der GROUP BY-Klausel enthalten ist, erfordert eine Aggregationsfunktion. –