Kolejność zapytania można wymusić za pomocą klauzuli „Order by” w instrukcji. Baza danych SQL w rzeczywistości nie rozumie, w jakiej kolejności umieszczasz elementy lub przechowujesz dane w określonej kolejności. Oznacza to, że musisz powiedzieć SQL, w jakiej kolejności chcesz mieć elementy. Na przykład:
Select * from Table
order by column1 desc
Pomyśl o tym, jak wręczenie przyjaciółce kilku rzeczy do trzymania - później będzie miała to wszystko dla ciebie, ale w międzyczasie przechowuje je gdzieś. Może go przenosić, gdy nie chcesz zrobić miejsca na coś innego, lub może oddać go w tej samej kolejności, w jakiej jej go podałeś, ale nie powiedziałeś jej, aby utrzymywała go w porządku, więc nie .
Bazy danych muszą być w stanie przenosić rzeczy w tle, więc sposób, w jaki są zbudowane, nie zawiera informacji o żadnej kolejności - musisz znać kolejność, gdy przekazujesz ją do bazy danych, aby móc umieścić ją z powrotem w zamówienie chcesz później. Klauzula order umożliwia SQLowi narzucenie porządku na dane, ale nie pamięta lub nie ma go samodzielnie.
Ważny punkt :Nawet jeśli SQL zwrócił elementy we właściwej kolejności bez kolejności według instrukcji przez ostatni milion razy, nie gwarantuje, że to zrobi. Nawet jeśli w tabeli istnieje indeks klastrowy, nie ma gwarancji, że wyniki zostaną zwrócone w oczekiwanej kolejności. Zwłaszcza gdy zmieniają się wersje SQL, nieużywanie klauzuli order by może zepsuć programy, które zakładają, że zapytanie będzie w żądanej kolejności!