sql >> Database teknologi >  >> RDS >> Sqlserver

Når der ikke er angivet nogen 'Bestil efter', hvilken rækkefølge vælger en forespørgsel for dit rekordsæt?

Hvis du ikke angiver en ORDER BY , så er der INGEN ORDRE defineret.

Resultaterne kan returneres i en vilkårlig rækkefølge - og det kan også ændre sig over tid.

Der er ingen "naturlig orden" eller noget lignende i en relationel database (i hvert fald i alt, hvad jeg kender til). Den eneste måde at få en pålidelig bestilling på er ved eksplicit angivelse af en ORDER BY klausul.

Opdatering: for dem, der stadig ikke tror mig - her er to fremragende blogindlæg, der illustrerer dette punkt (med kodeeksempler!) :

  • Conor Cunningham (arkitekt på Core SQL Server Engine-teamet):Ingen sikkerhedssele - Forventer ordre uden BESTILLING AF
  • Alexander Kuznetsov:Uden ORDER BY er der ingen standard sorteringsrækkefølge (indlæg i webarkivet)


  1. Arbejder med Salesforce.com i Alpha Anywhere

  2. Trin for trin opgraderingsproces til R12.2 Upgrade part -2 (Main Upgrade Driver for R12.2.0)

  3. Implementering af en Percona-server til en hybridsky

  4. Kan jeg gendanne en enkelt tabel fra en fuld mysql mysqldump-fil?