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