suit: In welcher Reihenfolge erfolgen die Abfragen in einem SELECT Bef

Beitrag lesen

Wenn eine WHERE Abfrage stattfindet, in der

WHERE a=1 AND b=1 AND c=1 AND d=1.

steht, wird dann wenn a=1 schon mal nicht zutrifft, trotzdem noch die weiteren WHERE Abfragen durchgegangen, oder bei der ersten falschen Abfrage abgebrochen.

Es gibt nur eine WHERE-Klausel, hier können nicht mehrere durchlaufen werden.

In der WHERE-Klausel ist eine Logische Verkettung enthalten, die binäre Arithmetik folgt.

Natürlich wird man bei der Implementierung eine Sprache die Verknüpfung auflösen und wenn sich schon am Anfang ergibt, dass sie niemals zutreffen kann, kann man sie gleich als "falsch" werten.

Wenn also bei einem AND-Gatter der erste Eingang bereits "falsch" ist, braucht man den zweiten garnicht erst zu prüfen. Bei einer OR-Verknüpfung hingegen ist das etwas anderes.

Bei XOR hingegen muss ich den zweiten Teil nicht überprüfen, wenn der erste bereits zutrifft.

Weiter noch, wenn in dem vorderem Bereich, also zwischen

SELECT. FROM

eine Berechnung steht, wird diese zuerst ausgeführt, oder nur wenn die anschließenden WHERE Abfragen zutreffen?

Wenn die Bedingung nicht zutrifft, gibt es keine Ergebnismenge - es wäre absurd, wenn jemand eine SQL-Dialekt so implementiet, dass er dann trotzdem performancelastig irgendwelche Berechnungen durchführt.