PostgreSQL IN klauzula

Postgresql In Klauzula



PostgreSQL varat izmantot daudz klauzulu. IN klauzula ir viena no šīm klauzulām, un tai ir daudz priekšrocību, ja jūs saprotat, kā to izmantot, īpaši kombinācijā ar WHERE klauzulu. IN klauzula galvenokārt darbojas ar SELECT priekšrakstu, lai filtrētu, kā vēlaties vaicājumu izpildīt. Izpildot, IN klauzula pārbauda norādīto sarakstu, lai redzētu, vai tas atbilst kritērijiem, un izvada atbilstošās vērtības.

Izpratne par to, kā strādāt ar PostgreSQL IN klauzulu

Programmā PostgreSQL jūs izmantojat klauzulu IN ar klauzulu WHERE, lai filtrētu izvadi, salīdzinot ar vērtību sarakstu, un rezultāts ir Būla vērtība.

Šeit ir jāizmanto sintakse:







vērtība IN (vērtība1, vērtība2, vērtība_n);

Dotā sintakse ņem vērtību un salīdzina to ar vērtību1, value2 un value_n. Pēc tam tas atgriež Būla vērtību, ja ir atbilstība. Pārbaudāmo vērtību saraksts var būt jebkura veida burts, ieskaitot virknes un veselus skaitļus. Turklāt varat izveidot apakšvaicājumu, piemēram, SELECT priekšrakstu.



Apspriedīsim dažādus PostgreSQL IN operatora izmantošanas veidus.



1. Darbs ar apakšvaicājumu

Kā jau minējām iepriekš, pārbaudāmā vērtība var būt apakšvaicājums, kas izvelk vērtības, izmantojot vaicājuma priekšrakstu, piemēram, SELECT. Tādā veidā jūs varat veikt vaicājumu tabulā, lai pārbaudītu noteiktās kolonnas vērtības. Mūsu piemēram izmantosim šādu tabulu:





Pieņemsim, ka mēs vēlamies pārbaudīt visus klientus, kuru “order_id” varētu būt jebkura no vaicājuma sadaļā norādītajām vērtībām. Mēs pievienojam mērķa vērtību kā mūsu priekšraksta pirmo daļu un pēc tam izmantojam WHERE klauzulu ar IN klauzulu, lai izveidotu vaicājumu.



Lūk, kā parādās mūsu vaicājums:

PostgreSQL pārbauda tabulas “klienti” kolonnu “order_id” un atgriež visus ierakstus, kuru “order_id” atbilst kādam no tiem, ko norādījām iekavās.

Pirmkārt, mēs izmantojām veselu vērtību saraksta gadījumu. Mēs varam arī pārbaudīt pret virknēm. Ņemiet vērā: ja visas jūsu norādītās virknes neatbilst mērķa vērtībai, nekas netiek atgriezts. Nākamajā piemērā ir ietvertas dažas virknes, kuras nav mūsu tabulā. Šādas virknes tiks izlaistas, un tikai atbilstošās virknes tiks parādītas šādā izvadā:

2. Darbs ar IN(SELECT)

Dažreiz vērtību saraksta manuāla norādīšana var nedarboties. Varat izvēlēties izmantot priekšrakstu SELECT, lai no tabulas iegūtu vērtību sarakstu un izmantotu tos, lai pārbaudītu atbilstību mērķa vērtībai. Pievienojot mūsu datubāzei šādu tabulu, mēs varam to apvienot ar iepriekšējo “klientu” tabulu, lai veiktu apakšvaicājumu:

Pieņemsim, ka mēs vēlamies parādīt ierakstus no tabulas “pasūtījumi” tikai tad, ja mērķa vērtība (order_id) ir tabulā “klienti”. Šeit sleja “customers.order_id” ir mūsu vērtību saraksts, un mēs salīdzinām tās vērtības ar slejā “orders.order_id” esošajām vērtībām.

Šajā gadījumā meklēšanai atbilst tikai trīs ieraksti, un to mēs iegūstam kā mūsu IN(SELECT) PostgreSQL klauzulas izvadi.

3. Darbs ar NOT IN PostgreSQL klauzulu

Izmantojot iepriekšējo komandu, mēs varam izvēlēties parādīt citas vērtības, kas neatbilst mērķa vērtībai. Šim nolūkam mēs rīkojamies pretēji tam, ko dara IN klauzula. Tādējādi mēs noliedzam komandu būt NOT IN.

Lūk, kā mēs rakstām savu jauno komandu:

Ievērojiet, ka mēs iegūstam citu izvadi nekā tie, kas iegūti 2. piemērā. Tas ir tāpēc, ka mēs strādājam ar NOT IN, nevis klauzulu IN.

Ideālā gadījumā varat pievienot NOT ikreiz, kad vēlaties noliegt rezultātus, ko iegūstat ar PostgreSQL IN klauzulu. Pieteikumu skaits ir bezgalīgs. Ja vēlaties pārbaudīt vērtības un ātri redzēt to atbilstību, IN klauzula ir jūsu labākais draugs.

Secinājums

IN klauzula darbojas kopā ar WHERE klauzulu, lai pārbaudītu mērķa vērtību ar vērtību sarakstu. IN klauzula atgriež Būla vērtību, kas apstiprina, vai mērķa vērtība atbilst jūsu norādītajā vērtību sarakstā. Varat norādīt vērtības kā literāļus vai izmantot priekšrakstu SELECT, lai izveidotu lietojamu apakšvaicājumu. Mēs esam snieguši trīs gadījumus, kā izmantot PostgreSQL IN klauzulu. Cerams, ka tas ļāva jums saprast, kā strādāt ar PostgreSQL IN klauzulu.