PostgreSQL IN, Inte IN med exempel
Vad är PostgreSQL I ?
IN-operatorn används i en WHERE-sats som gör det möjligt att kontrollera om ett värde finns i en lista med andra värden. I Operation hjälper till att minska behovet av flera OR-villkor i SELECT-, UPDATE-, INSERT- eller DELETE-satser.
syntax
IN-operatorn tar följande syntax:
value IN (value_1, value_2, ...)
Värdet är det värde som du letar efter i listan.
Värde_1, värde_2... är listvärdena.
Om värdet hittas i listan kommer operatören att returnera ett sant.
Listan kan vara en uppsättning antal strängar eller till och med resultatet av en SELECT-sats enligt nedanstående:
value IN (SELECT value FROM table-name);
Satsen placerad inom parentes kallas en underfråga.
Med karaktär
Låt oss visa hur du kan använda IN-operatorn med teckenvärden.
Tänk på följande tabell:
Anställda:
Låt oss köra följande fråga mot tabellen ovan:
SELECT * FROM Employees WHERE name IN ('James John', 'Mercy Bush', 'Kate Joel');
Den returnerar följande:
Vi har en lista med tre namn. Vi söker efter om vi kan hitta något av dessa namn i namnkolumnen i tabellen Anställda. Kate Joel matchades till ett av tabellens rekord, och dess uppgifter returnerades.
Med numerisk
Låt oss nu se hur vi kan använda IN-operatorn med numeriska värden.
Tänk på pristabellen nedan:
Pris:
Vi kan köra följande fråga mot tabellen:
SELECT * FROM Price WHERE price IN (200, 308, 250, 550);
Detta returnerar följande:
Vi har skapat en lista med 4 numeriska värden. Vi kontrollerar om vi kan matcha något av dessa värden med värdena i priskolumnen i pristabellen. Två värden matchades och deras uppgifter returnerades.
Använder NOT-operatorn
IN-operatorn kan användas tillsammans med NOT-operatorn. Den returnerar de värden som inte finns i den angivna kolumnen. Vi kommer att använda pristabellen för att visa detta.
SELECT * FROM Price WHERE price NOT IN (200, 400, 190, 230);
Detta kommer att returnera följande:
Vi har skapat en lista med 4 numeriska värden. Vi kontrollerar priskolumnen i pristabellen för värden som inte ingår i listan. Två värden, 250 och 300, hittades inte. Därför har deras uppgifter returnerats.
Använder pgAdmin
Låt oss nu se hur åtgärderna kan utföras med pgAdmin.
Med karaktär
För att åstadkomma samma sak genom pgAdmin, gör så här:
Steg 1) Logga in på ditt pgAdmin-konto.
Steg 2)
- Klicka på Databaser i navigeringsfältet till vänster.
- Klicka på Demo.
Steg 3) Skriv in frågan i frågeredigeraren:
SELECT * FROM Employees WHERE name IN ('James John', 'Mercy Bush', 'Kate Joel');
Steg 4) Klicka på knappen Kör.
Det bör returnera följande:
Med numerisk
För att åstadkomma samma sak genom pgAdmin, gör så här:
Steg 1) Logga in på ditt pgAdmin-konto.
Steg 2)
- Klicka på Databaser i navigeringsfältet till vänster.
- Klicka på Demo.
Steg 3) Skriv in frågan i frågeredigeraren:
SELECT * FROM Price WHERE price IN (200, 308, 250, 550);
Steg 4) Klicka på knappen Kör.
Det bör returnera följande:
Använder NOT-operatorn
För att åstadkomma samma sak genom pgAdmin, gör så här:
Steg 1) Logga in på ditt pgAdmin-konto.
Steg 2)
- Klicka på Databaser i navigeringsfältet till vänster.
- Klicka på Demo.
Steg 3) Skriv in frågan i frågeredigeraren:
SELECT * FROM Price WHERE price NOT IN (200, 400, 190, 230);
Steg 4) Klicka på knappen Kör.
Det bör returnera följande:
Sammanfattning
- IN-operatorn används med WHERE-operatorn. Det gör det möjligt att kontrollera om ett visst värde finns i en specifik tabell.
- IN-operatorn hjälper till att minska behovet av flera OR-operatorer i SELECT-, UPDATE-, INSERT- eller DELETE-satser.
- När du skapar en teckenlista för att kontrollera förekomsten av ett värde, bör varje värde i listan omges av enkla citattecken.
- IN-operatorn kan också användas med numeriska värden.
- När IN-operatorn används tillsammans med NOT-operatorn returnerar den alla värden som inte finns i den angivna kolumnen.
Ladda ner den databas som används i denna handledning