Heim >tägliche Programmierung >MySQL-Kenntnisse >keine Verwendung vorhanden

keine Verwendung vorhanden

anonymity
anonymityOriginal
2019-04-26 09:37:0085744Durchsuche

nicht vorhanden ist eine Syntax in SQL. Sie wird häufig zur bedingten Beurteilung verwendet. Sie gibt einen booleschen Wert zurück, um zu bestimmen, wie die nächste Operation ausgeführt werden soll Das Gleiche gilt für nicht vorhanden. Das Gegenteil von existiert oder in.

keine Verwendung vorhanden

nicht existiert ist das Gegenteil von existiert. Um die Verwendung von nicht vorhanden zu verstehen, verstehen wir zunächst die Unterschiede und Eigenschaften von existiert und in:

exists: Der Schwerpunkt liegt darauf, ob die Ergebnismenge zurückgegeben werden soll, ohne zu wissen, was zurückgegeben werden soll. Zum Beispiel:

select name from student where sex = 'm' and mark exists(select 1 from grade where ...)

Solange die Exits-Guide-Klausel die Ergebnismenge zurückgibt, ist die Existiert-Bedingung festgelegt . Bitte achten Sie auf die zurückgegebenen Felder. Es ist immer 1. Wenn es in „Wählen Sie 2 aus Klasse, wo...“ geändert wird, ist das zurückgegebene Feld 2, und diese Zahl ist bedeutungslos. Der Existes-Klausel ist es also nicht wichtig, was zurückgegeben wird, sondern ob eine Ergebnismenge zurückgegeben wird.

Der größte Unterschied zwischen exist und in besteht darin, dass die durch in eingeführte Klausel nur ein Feld zurückgeben kann, zum Beispiel:

select name from student where sex = 'm' and mark in (select 1,2,3 from grade where ...)

Die in-Klausel gibt drei Felder zurück, was falsch ist, existiert Die Klausel ist zulässig, erlaubt aber nur die Rückgabe eines Feldes. Entfernen Sie einfach zwei beliebige Felder in 1, 2 und 3.

Und nicht existiert und nicht in sind jeweils die Gegensätze von existiert und in.

exists     (sql       返回结果集,为真)

Hängt hauptsächlich davon ab, ob das Ergebnis der SQL-Anweisung in existenten Klammern ein Ergebnis hat. Wenn es ein Ergebnis gibt, wird die Where-Bedingung weiterhin ausgeführt Bedingung ist nicht gegeben.

not exists   (sql       不返回结果集,为真)

Hängt hauptsächlich davon ab, ob die SQL-Anweisung in den Klammern „nicht existiert“ ein Ergebnis hat. Wenn es kein Ergebnis gibt: wird die Where-Bedingung weiterhin ausgeführt, wenn es ein Ergebnis gibt: die Where-Bedingung gilt als nicht um wahr zu sein.

nicht vorhanden: Wenn nach dem Testen die Unterabfrage und die Hauptabfrage verwandte Bedingungen haben, entspricht dies dem Entfernen der Unterabfragedaten aus der Hauptabfrage.

keine Verwendung vorhanden

Zum Beispiel:

Testdaten: ID-Name

1 1 Zhang San

2 Li Si

select * from test c where  not exists
(select 1 from test t where t.id= '1' )
--无结果
rrree

Das obige ist der detaillierte Inhalt vonkeine Verwendung vorhanden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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