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

Kan skalarfunktioner anvendes før filtrering, når der udføres en SQL-sætning?

Martin gav dette link, der stort set forklarer, hvad der foregår - forespørgselsoptimeringsværktøjet har frie tøjler til at omarrangere tingene, som den vil. Jeg medtager dette som et svar, så jeg kan acceptere noget. Martin, hvis du opretter et svar med dit link i, vil jeg gerne acceptere det i stedet for dette.

Jeg vil gerne efterlade mit spørgsmål her, fordi jeg synes, det er svært at søge efter, og min særlige formulering af problemet kan være lettere for en anden at finde i fremtiden.

TSQL divider med nul på trods af ingen kolonner indeholdende 0

EDIT:Efterhånden som der er kommet flere svar, er jeg igen forvirret. Det ser ikke ud til at være klart endnu, hvornår præcist optimizeren får lov til at evaluere tingene i select-klausulen. Jeg tror, ​​jeg bliver nødt til selv at finde SQL-standarden og se, om jeg kan forstå den.



  1. Kører MySQL *.sql-filer i PHP

  2. Hent alle sekventielle blokeringer fra en liste

  3. vælg kolonne som sand/falsk, hvis id findes i en anden tabel

  4. MySQL rækkefølge efter alternative værdier