Sortieren in einem ORDER BY erfolgt durch die erste Spalte und dann durch jede weitere Spalte in der angegebenen Anweisung.
Betrachten Sie beispielsweise die folgenden Daten:
Column1 Column2
======= =======
1 Smith
2 Jones
1 Anderson
3 Andrews
Die Abfrage
SELECT Column1, Column2 FROM thedata ORDER BY Column1, Column2
zuerst nach allen Werten in Column1 sortieren
und dann die Spalten nach Column2 sortieren um dies zu produzieren:
Column1 Column2
======= =======
1 Anderson
1 Smith
2 Jones
3 Andrews
Das heißt, die Daten werden zuerst in Column1 sortiert Reihenfolge und dann jede Teilmenge (Column1 Zeilen mit 1 als Wert) werden in der Reihenfolge der zweiten Spalte sortiert.
Der Unterschied zwischen den beiden von Ihnen geposteten Anweisungen besteht darin, dass die Zeilen in der ersten zuerst nach prod_price sortiert werden (Preisreihenfolge, vom niedrigsten zum höchsten) und dann nach Namen (d. h., wenn zwei Artikel denselben Preis haben, wird der mit dem niedrigeren Alpha-Wert für den Namen zuerst aufgeführt), während der zweite nach Namen sortiert wird nur (was bedeutet, dass die Preise basierend auf dem prod_name in der Reihenfolge angezeigt würden ohne Rücksicht auf den Preis).