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

SQL Server 2005 - Order of Indre Joins

SQL er deklarativ, det vil sige, at JOIN-rækkefølgen er ligegyldig.

Men det kan i praksis, f.eks. hvis det er en kompleks forespørgsel, når optimeringsværktøjet ikke udforsker alle muligheder (hvilket i teorien kan tage måneder).

En anden mulighed er, at det er en meget anderledes forespørgsel, hvis du genbestiller, og du får andre resultater, men det er normalt med OUTER JOINs.

Og det kan også være måden ON-klausulen er angivet på. Den skal ændres, hvis du omarrangerer FROM-klausulen. Medmindre du bruger den ældre (og dårlige) JOIN-in-the-WHERE-klausul.

Endelig, hvis det er et problem, kan du bruge parentes til at ændre evalueringsrækkefølgen for at gøre dine hensigter klare, f.eks. filtrere på en stor tabel først for at generere en afledt tabel.



  1. Hvordan krypterer jeg adgangskoder med PostgreSQL?

  2. Sådan ignorerer du spørgsmålstegn som pladsholder, når du bruger PDO med PostgreSQL

  3. PDO/MySQL hukommelsesforbrug med stort resultatsæt

  4. MySQL-forespørgselsorden efter værdi i JSON-kolonnen