Řazení v ORDER BY
se provádí prvním sloupcem a poté každým dalším sloupcem v zadaném příkazu.
Zvažte například následující údaje:
Column1 Column2
======= =======
1 Smith
2 Jones
1 Anderson
3 Andrews
Dotaz
SELECT Column1, Column2 FROM thedata ORDER BY Column1, Column2
se nejprve seřadí podle všech hodnot v Column1
a poté seřaďte sloupce podle Column2
vytvořit toto:
Column1 Column2
======= =======
1 Anderson
1 Smith
2 Jones
3 Andrews
Jinými slovy, data se nejprve třídí ve Column1
pořadí a poté každou podmnožinu (Column1
řádky, které mají 1
jako jejich hodnota) jsou seřazeny v pořadí podle druhého sloupce.
Rozdíl mezi dvěma prohlášeními, které jste zveřejnili, je ten, že řádky v prvním by byly seřazeny jako první podle prod_price
(pořadí cen, od nejnižší po nejvyšší) a poté podle názvu (to znamená, že pokud mají dvě položky stejnou cenu, jako první bude uvedena ta s nižší alfa hodnotou pro název), zatímco druhá by se seřadila podle názvu pouze (to znamená, že ceny se zobrazí v pořadí podle prod_name
bez ohledu na cenu).