PostgreSQL IN, nu IN cu exemple
⚡ Rezumat inteligent
PostgreSQL Operatorul IN verifică dacă o valoare apare într-o listă sau subinterogare în interiorul unei clauze WHERE, înlocuind mai multe condiții OR în instrucțiunile SELECT, UPDATE, INSERT și DELETE pentru o filtrare mai curată, mai rapidă și mai ușor de citit.
Ce Este PostgreSQL ÎN?
Operatorul IN este utilizat într-o clauză WHERE care permite verificarea dacă o valoare este prezentă într-o listă de alte valori. Operația IN ajută la reducerea necesității utilizării mai multor condiții OR în instrucțiunile SELECT, UPDATE, INSERT sau DELETE.
Sintaxă
Operatorul IN ia următoarea sintaxă:
value IN (value_1, value_2, ...)
Valoarea este valoarea pe care o căutați în listă.
Valoarea_1, valoarea_2... sunt valorile listei.
Dacă valoarea este găsită în listă, operatorul va returna un adevărat.
Lista poate fi un set de numere sau șiruri de caractere sau chiar rezultatul unei instrucțiunea SELECT după cum se arată mai jos:
value IN (SELECT value FROM table-name);
Declarația plasată în paranteză este cunoscută ca subinterogare.
PostgreSQL ÎNTR-UN CARACTER
Să demonstrăm cum puteți utiliza operatorul IN cu valori de caractere.
Luați în considerare următorul tabel:
Numar de angajati:
Să rulăm următoarea interogare în tabelul de mai sus:
SELECT * FROM Employees WHERE name IN ('James John', 'Mercy Bush', 'Kate Joel');
Acesta returnează următoarele:
Avem o listă cu trei nume. Căutăm dacă putem găsi vreunul dintre aceste nume în coloana nume din tabelul Angajați. Kate Joel a fost asociată cu una dintre înregistrările tabelului, iar detaliile acesteia au fost returnate.
PostgreSQL INTRARE cu numeric
Acum, să vedem cum putem folosi operatorul IN cu valori numerice.
Luați în considerare tabelul de prețuri de mai jos:
Preț:
Putem rula următoarea interogare pe tabel:
SELECT * FROM Price WHERE price IN (200, 308, 250, 550);
Aceasta returnează următoarele:
Am creat o listă cu 4 valori numerice. Verificăm dacă putem potrivi oricare dintre aceste valori cu valorile conținute în coloana de preț a tabelului de prețuri. Două valori au fost potrivite, iar detaliile lor au fost returnate.
Folosind NU OperaTdR
Operatorul IN poate fi utilizat împreună cu operatorul NOT. Returnează valorile care nu se găsesc în coloana specificată. Vom folosi tabelul de prețuri pentru a demonstra acest lucru.
SELECT * FROM Price WHERE price NOT IN (200, 400, 190, 230);
Aceasta va returna următoarele:
Am creat o listă cu 4 valori numerice. Verificăm coloana de preț a tabelului de prețuri pentru valori care nu fac parte din listă. Două valori, 250 și 300, nu au fost găsite. Prin urmare, detaliile lor au fost returnate.
Folosind pgAdmin
Dincolo de shell-ul SQL, aceleași interogări IN și NOT IN pot fi rulate vizual prin interfața pgAdmin.
Cu Caracter
Pentru a realiza același lucru prin pgAdmin, procedați astfel:
Pas 1) Conectați-vă la contul dvs. pgAdmin.
Pas 2)
- Din bara de navigare din stânga, faceți clic pe Baze de date.
- Faceți clic pe Demo.
Pas 3) Introduceți interogarea în editorul de interogări:
SELECT * FROM Employees WHERE name IN ('James John', 'Mercy Bush', 'Kate Joel');
Pas 4) Faceți clic pe butonul Execute.
Ar trebui să returneze următoarele:
Cu Numeric
Pentru a realiza același lucru prin pgAdmin, procedați astfel:
Pas 1) Conectați-vă la contul dvs. pgAdmin.
Pas 2)
- Din bara de navigare din stânga, faceți clic pe Baze de date.
- Faceți clic pe Demo.
Pas 3) Introduceți interogarea în editorul de interogări:
SELECT * FROM Price WHERE price IN (200, 308, 250, 550);
Pas 4) Faceți clic pe butonul Execute.
Ar trebui să returneze următoarele:
Folosind NU OperaTdR
Pentru a realiza același lucru prin pgAdmin, procedați astfel:
Pas 1) Conectați-vă la contul dvs. pgAdmin.
Pas 2)
- Din bara de navigare din stânga, faceți clic pe Baze de date.
- Faceți clic pe Demo.
Pas 3) Introduceți interogarea în editorul de interogări:
SELECT * FROM Price WHERE price NOT IN (200, 400, 190, 230);
Pas 4) Faceți clic pe butonul Execute.
Ar trebui să returneze următoarele:
Descărcați baza de date folosită în acest tutorial















