samenvatting: in deze tutorial leert u hoe u de SQL Server EXISTS
operator kunt gebruiken om te testen of er rijen in een subquery bestaan.
SQL Server EXISTS operator overview
de EXISTS
operator is een logische operator waarmee u kunt controleren of een subquery een Rij retourneert. DeEXISTS
operator geeftTRUE
als de subquery een of meer rijen retourneert.,
het volgende toont de syntaxis van de SQL Server EXISTS
operator:
Code language: SQL (Structured Query Language) (sql)
in deze syntaxis is de subquery alleen een SELECT
statement. Zodra de subquery rijen retourneert, geeft de operatorEXISTS
TRUE
en stopt de verwerking onmiddellijk.
merk op dat hoewel de subquery een NULL
waarde retourneert, de EXISTS
operator nog steeds wordt geëvalueerd naar TRUE
.,
SQL Server bestaat operator voorbeelden
laten we enkele voorbeelden nemen om te begrijpen hoe EXISTS
operator werkt.
A) het gebruik van bestaat met een subquery geeft NULL voorbeeld
zie de volgende customers
tabel uit de voorbeelddatabase.,
in Het volgende voorbeeld retourneert alle rijen uit de customers
tabel:
In dit voorbeeld, de subquery heeft een resultaatset bevat NULL
waardoor de EXISTS
operator te evalueren TRUE
. Daarom retourneert de hele query alle rijen uit de customers
tabel.,
B) er BESTAAT een gecorreleerde subquery voorbeeld
Overweeg het volgende customers
en orders
tabellen:
in Het volgende voorbeeld vindt alle klanten die hebben meer dan twee bestellingen:
In dit voorbeeld, we hadden een gecorreleerde subquery retourneert klanten die meer dan twee orders.,
als het aantal door de klant geplaatste orders kleiner is dan of gelijk is aan twee, geeft de subquery een lege resultaatset terug die ervoor zorgt dat de operator EXISTS
evalueert tot FALSE
.
gebaseerd op het resultaat van de EXISTS
operator, wordt de klant opgenomen in de resultatenreeks.
C) bestaat vs., IN voorbeeld
De volgende instructie wordt het IN
operator om de bestellingen van de klanten uit San Jose:
De volgende instructie wordt het EXISTS
operator die geeft hetzelfde resultaat:
BESTAAT vs. JOIN
De EXISTS
operator terug TRUE
of FALSE
terwijl JOIN
component retourneert rijen in een andere tabel.,
u gebruikt de operator EXISTS
om te testen of een subquery een rij en kortsluiting retourneert zodra dit gebeurt. Aan de andere kant gebruikt u JOIN
om het resultaat uit te breiden door het te combineren met de kolommen uit gerelateerde tabellen.
in de praktijk gebruikt u de EXISTS
wanneer u alleen het bestaan van rijen uit gerelateerde tabellen hoeft te controleren zonder gegevens ervan te retourneren.
in deze tutorial hebt u geleerd hoe u de SQL Server EXISTS
operator kunt gebruiken om te testen of een subquery rijen retourneert.