Lad os undersøge, hvordan denne funktion fungerer, og hvordan vi kan bruge den.
SQL IN operatør
Det følgende uddrag viser syntaksen for IN-operatoren.
søgeværdi [ IKKE ] I værdi_sæt
værdisæt:
{
( udtryk [ , ... ] )
| ( underforespørgsel )
| MED MINDRE ( array_expression )
}
Funktionen accepterer følgende parametre:
- søgeværdi – dette definerer et udtryk, der sammenlignes med det givne sæt værdier.
- værdisæt – det sæt værdier, som søgeværdien sammenlignes ud fra.
- underforespørgsel – beskriver en underforespørgsel, der returnerer en enkelt kolonne. Hvis der ikke returneres nogen værdier, er værdisættet tomt.
- UNNEST(matrix) – returnerer en kolonne med værdier fra en given matrixværdi.
Funktionen returnerer derefter en boolsk værdi. Det returnerer SAND, hvis der findes en ens værdi i det givne sæt og FALSK, hvis ellers.
Eksempler
Det følgende eksempel viser, hvordan man bruger IN-operatoren med kolonnedata. Antag, at vi har en tabel med eksempeldata som vist:
Vi kan bruge IN-operatøren til at vælge posterne, hvis landet er MySQL eller PostgreSQL.
VÆLG
*
FRA
DATABASER
HVOR
SERVER NAVN I ( 'MySQL' , 'PostgreSQL' ) ;
Forespørgslen ovenfor skal vise de matchende rækker som vist:
Ved hjælp af IN-operatoren kan vi også kontrollere, om der findes en værdi i en given kolonne. Et eksempel er vist nedenfor:
VÆLG*
FRA
DATABASER D
HVOR
'MySQL' I ( SERVER NAVN ) ;
I dette tilfælde kontrollerer vi, om værdien 'MySQL' findes i kolonnen server_name. Resultatet er som vist:
Det er godt at huske på, at hvis du har angivet duplikerede værdier med IN-operatøren. SQL vil kassere de identiske værdier og bruge en af dem.
Konklusion
I dette korte indlæg undersøgte vi brugen af IN-operatoren i Standard/ANSI SQL. IN-operatoren giver dig mulighed for at kontrollere, om der findes en værdi inden for et sæt værdier.
Tak fordi du læste med!!