Was MySQL zuerst tut, benutzt es seinen Parser, um die SQL-Anweisung zu lesen und sie in ihre logischen Teile zu trennen. Ein Parser (der nicht nur von MySQL, sondern sehr oft in der Programmierung verwendet wird) ist nur ein Codeblock, der unformatierte Informationen abruft und sie in etwas verwandelt, das das Programm verwenden kann.
Im Fall von MySQL, wird es
SELECT 50+2 FROM employees
In SELECT 50+2
und FROM employees
So können getrennt analysieren, was jeder dieser beiden tun. Das reservierte Wort SELECT
wird verwendet, um zu identifizieren, was ein Benutzer von der Operation erhalten möchte. Es enthält normalerweise einen Spaltennamen. Wenn Sie jedoch eine Zeichenfolge mit dem Namen "Hallo" einfügen, interpretiert MySQL, dass Sie "Hallo" auswählen möchten. In diesem Fall möchten Sie eine Zahl auswählen, die das Ergebnis 50+2
ist.
Nun, was FROM employees
tut ist, dass es MySQL informiert, aus welcher Tabelle Sie diese Informationen auswählen möchten. Es spielt keine Rolle, dass 50+2
keine Spalte oder gar etwas in der Tabelle ist. MySQL ist kein KI-System und stellt Ihnen keine Fragen darüber, warum Sie sich dafür entschieden haben. Es führt nur Befehle aus, die den festgelegten Regeln entsprechen.
Nun durchsucht MySQL die gesamte Tabelle und gibt die ausgewählten Spalten jeder Zeile zurück, die mit der Bedingung übereinstimmen, die im Abschnitt WHERE ...
einer Abfrage vorhanden ist. Wenn eine Abfrage den Abschnitt WHERE ...
nicht enthält, wird davon ausgegangen, dass Sie alle Zeilen zurückgeben möchten.
Das Ergebnis Ihrer Abfrage wird dann eine Spalte mit dem Wert 52
mit der gleichen Anzahl von Zeilen wie Ihre Tabelle hat. Wenn Ihre Tabelle 5 Zeilen hat, wird das Ergebnis sein:
52
52
52
52
52
Dies funktioniert auch: '1 wählen,‚a‘von employees' –
Wenn die dualen nicht für Sie arbeiten, dann brauchen wir mehr wissen über dein Problem und was versuchst du zu erreichen, warum musst du manchmal vorhandene Tabellen verwenden und andere nicht. (Was ist die Situation)? – Mocas
Hat meine Antwort Ihre Frage korrekt beantwortet? – Webeng