Heim > Datenbank > MySQL-Tutorial > So führen Sie eine Unterabfrage in einer MySQL-Datenbank durch

So führen Sie eine Unterabfrage in einer MySQL-Datenbank durch

黄舟
Freigeben: 2017-08-03 10:20:27
Original
2473 Leute haben es durchsucht

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:

So führen Sie eine Unterabfrage in einer MySQL-Datenbank durch

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);
Nach dem Login kopieren

Wie unten gezeigt:

So führen Sie eine Unterabfrage in einer MySQL-Datenbank durch

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);
Nach dem Login kopieren

wie unten gezeigt:

So führen Sie eine Unterabfrage in einer MySQL-Datenbank durch

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);
Nach dem Login kopieren

wie unten gezeigt:

So führen Sie eine Unterabfrage in einer MySQL-Datenbank durch

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);
Nach dem Login kopieren

Wie in der Abbildung unten gezeigt:

So führen Sie eine Unterabfrage in einer MySQL-Datenbank durch

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);
Nach dem Login kopieren

wie unten gezeigt:

So führen Sie eine Unterabfrage in einer MySQL-Datenbank durch

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 = &#39;Afghanistan&#39;);
SELECT * FROM city WHERE Population <=  (SELECT Population FROM country WHERE Name = &#39;Afghanistan&#39;);
SELECT * FROM city WHERE Population !=  (SELECT Population FROM country WHERE Name = &#39;Afghanistan&#39;);
Nach dem Login kopieren

Wie in der folgenden Abbildung gezeigt:

So führen Sie eine Unterabfrage in einer MySQL-Datenbank durch

So führen Sie eine Unterabfrage in einer MySQL-Datenbank durch

So führen Sie eine Unterabfrage in einer MySQL-Datenbank durch

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 = &#39;Afghanistan&#39;);
Nach dem Login kopieren

Wie unten gezeigt:

So führen Sie eine Unterabfrage in einer MySQL-Datenbank durch

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage