Eine Unterabfrage ist eine in einer anderen Abfrageanweisung verschachtelte Abfrageanweisung. Die Abfrageergebnisse der inneren Abfrageanweisung können als äußere Abfrageanweisung zur Bereitstellung von Abfragebedingungen verwendet werden. Die Unterabfrage kann Schlüsselwörter wie IN, NOT IN, ANY, ALL, EXISTS und NOT EXISTS sowie Vergleichsoperatoren wie „=", „!=" usw. enthalten. Wie führt man eine Unterabfrage aus? wie folgt:
1 Zunächst wird das Abfrageergebnis in einer Abfrage als Bedingung für die äußere Abfrage verwendet, und das Schlüsselwort IN kann verwendet werden Der Code lautet wie folgt:
SELECT * FROM city WHERE CountryCode IN (SELECT Code FROM country);
Wie unten gezeigt:
2 Die äußere Abfrage ist nicht das Ergebnis der inneren Abfrage. Sie können das Schlüsselwort NOT IN verwenden. Der Code lautet wie folgt:
SELECT * FROM city WHERE CountryCode NOT IN (SELECT Code FROM country);
wie unten gezeigt:
3. Bei Verwendung des EXISTS-Schlüsselworts gibt die innere Abfrageanweisung nicht den Abfragedatensatz zurück, sondern einen booleschen Wert, wenn der von der inneren Abfrage zurückgegebene Wert wahr ist Führen Sie die Abfrage aus. Wenn false zurückgegeben wird, wird die Abfrage nicht ausgeführt oder das Abfrageergebnis ist leer. Der Code lautet wie folgt:
SELECT * FROM city WHERE EXISTS (SELECT Name FROM country);
wie unten gezeigt:
4. Aus dem dritten Schritt ist ersichtlich, dass bei EXISTS das Gegenteil der Fall ist: NOT EXISTS Wenn der von der inneren Abfrage zurückgegebene Wert falsch ist, wird die äußere Abfrageanweisung abgefragt . Wenn true zurückgegeben wird, wird die Abfrage nicht ausgeführt oder das Abfrageergebnis ist leer:
SELECT * FROM city WHERE NOT EXISTS (SELECT Name FROM country);
Wie in der Abbildung unten gezeigt:
5. Wenn eine der Bedingungen erfüllt ist, kann die äußere Abfrageanweisung über diese Bedingung ausgeführt werden. Verwenden Sie das Schlüsselwort ANY. Der Code lautet wie folgt:
SELECT * FROM city WHERE Population >= ANY (SELECT Population FROM country);
wie unten gezeigt:
6. Unterabfrage enthält auch Vergleichsoperatoren, einschließlich „>=", „<=". ", "!=" und andere Schlüsselwörter lautet der Code wie folgt:
SELECT * FROM city WHERE Population >= (SELECT Population FROM country WHERE Name = 'Afghanistan'); SELECT * FROM city WHERE Population <= (SELECT Population FROM country WHERE Name = 'Afghanistan'); SELECT * FROM city WHERE Population != (SELECT Population FROM country WHERE Name = 'Afghanistan');
Wie in der folgenden Abbildung gezeigt:
7. Wenn alle Bedingungen erfüllt sind, werden alle Ergebnisse nur zurückgegeben, wenn die innere Abfrageanweisung erfüllt ist:
SELECT * FROM city WHERE Population >= ALL (SELECT Population FROM country WHERE Name = 'Afghanistan');
Wie unten gezeigt:
Hinweise
Achten Sie auf die Verwendung von Unterabfragen
Achten Sie auf den Unterschied zwischen den einzelnen Schlüsselwörtern in der Unterabfrage
Das obige ist der detaillierte Inhalt vonSo führen Sie eine Unterabfrage in einer MySQL-Datenbank durch. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!