sammanfattning: i den här handledningen lär du dig hur du använder PostgreSQL in-operatören i WHERE
– satsen för att kontrollera om ett värde matchar något värde i en lista.
PostgreSQL i operatorsyntax
du använder IN
operator i WHERE
– satsen för att kontrollera om ett värde matchar något värde i en lista med värden.
syntaxen för IN
– operatören är som följer:
Code language: SQL (Structured Query Language) (sql)
operatorn IN
returnerar true om value
matchar något värde i listan, dvs., value1
, value2
, …
listan över värden kan vara en lista med bokstavliga värden som tal, strängar eller ett resultat av ett SELECT
– uttalande så här:
Code language: SQL (Structured Query Language) (sql)
frågan inom parenteserna kallas en underfråga, som är en fråga kapslad i en annan fråga. Observera att du kommer att lära dig mer om underfrågan i den efterföljande handledningen
PostgreSQL i operatörsexempel
Antag att du vill veta hyresinformationen för kund-id 1 och 2, Du kan använda IN
– operatören i WHERE
– klausulen enligt följande:
följande fråga använder operatorerna equal (=
) och OR
istället för in-operatorn. Det motsvarar frågan ovan:
frågan som använder operatören IN
är kortare och mer läsbar än frågan som använder lika (=
) och OR
operatörer. Dessutom utför PostgreSQL frågan med operatören IN
mycket snabbare än samma fråga som använder en lista med OR
operatörer.
PostgreSQL inte i operator
du kan kombinera operatorn IN
med operatorn NOT
för att välja rader vars värden inte matchar värdena i listan.
till exempel, följande uttalande finner alla hyror med kund-id är inte 1 eller 2.
i likhet med operatornIN
kan du använda operatorerna not equal (<>
) och AND
för att skriva operatornNOT IN
:
den här frågan returnerar samma utdata som ovan fråga som använder operatorn NOT IN
.
PostgreSQL IN med en underfråga
följande fråga returnerar en lista med kund-ID från tabellen rental
med returdatumet är 2005-05-27
:
eftersom den här frågan returnerar en lista med värden kan du använda den som inmatning av IN
– operatören så här:
för mer information om subquery, kolla in det underquery handledning.
i denna handledning har du lärt dig hur du använder PostgreSQL IN
– operatören för att kontrollera om ett värde matchar något värde i en lista med värden.
- var denna handledning till hjälp ?
- Janej