ZSBD-2st-1.2-w10.tresc-1.4-Slajd17
Klauzula ORDER BY
Zadaniem klauzuli ORDER BY jest uszeregowanie strumienia krotek wg określonego porządku. Porządek ten definiuje się w sposób bardzo podobny jak to jest przypadku klauzuli ORDER BY w języku SQL.
Klauzula ORDER BY może zawierać definicje porządku opartą na jednym lub wielu wyrażeniach.
Porządek wyznaczany jest poprzez sortowanie krotek w oparciu o wyrażenia kolejno od lewej do prawej.
Słowa kluczowe, jakie mogą wystąpić przy wyrażeniach znajdujących się w klauzuli ORDER BY to:
descending – ustala porządek sortowania malejący, domyślnym porządkiem jest porządek rosnący
empty least – powoduje, że wartości puste ustawiane są na końcu
empty greatest – w tym przypadku wartości puste traktowane są jako największe
stable – gwarantuje zachowanie oryginalnego porządku krotek (wynikającego z przetwarzania klauzul FOR i LET) w przypadku takiej samej wartości wyrażenia. W przeciwnym wypadku kolejność może być dowolna np.. zależna od sposobu realizacji operacji sortowania.
Przykładowo zapytanie przedstawione na slajdzie jako pierwsze, uszereguje strumień krotek generowany przez klauzule FOR i LET zgodnie z malejącymi wartościami elementów placa_pod. Natomiast zapytanie przedstawione na slajdzie jako drugie, uszereguje strumień krotek alfabetycznie względem elementu adres, przy czym wartości puste zostaną potraktowane jako największe.