sql >> Databáze >  >> RDS >> Sqlserver

Pokud není zadáno „Pořadí podle“, jaké pořadí vybere dotaz pro vaši sadu záznamů?

Pokud nezadáte ORDER BY , pak je zde ŽÁDNÁ OBJEDNÁVKA definováno.

Výsledky lze vrátit v libovolném pořadí – a to se může časem také změnit.

V relační databázi neexistuje žádný "přirozený řád" ani nic podobného (alespoň ve všem, o čem vím). Jediný způsob, jak získat spolehlivé objednávky, je explicitně zadáním ORDER BY doložka.

Aktualizace: pro ty, kteří mi stále nevěří - zde jsou dva vynikající blogové příspěvky, které tento bod ilustrují (s ukázkami kódu!) :

  • Conor Cunningham (architekt v týmu Core SQL Server Engine):Bez bezpečnostního pásu – očekávám objednávku bez ORDER BY
  • Alexander Kuzněcov:Bez ORDER BY neexistuje žádné výchozí pořadí řazení (příspěvek ve webovém archivu)


  1. Oracle RAC VIP a ARP Primer

  2. Vytváření názvů tabulek, které jsou vyhrazenými slovy/klíčovými slovy v MS SQL Server

  3. Příklad hromadného shromažďování Oracle pomocí objektu typu typ řádku kurzoru

  4. Příklad připojení JavaFX MySQL prosím