PostgreSQL IN sąlyga

Postgresql In Salyga



Yra daugybė sąlygų, kurias galite naudoti „PostgreSQL“. IN sąlyga yra viena iš šių sąlygų, ir ji turi daug privalumų, kai suprantate, kaip jį naudoti, ypač kai jis derinamas su WHERE sąlyga. IN sąlyga daugiausia veikia su SELECT sakiniu, kad būtų galima filtruoti, kaip norite vykdyti užklausą. Įvykdžius sąlyga IN patikrina nurodytą sąrašą, ar jis atitinka kriterijus, ir išveda atitinkamas reikšmes.

Supratimas, kaip dirbti su PostgreSQL IN sąlyga

PostgreSQL naudojate sakinį IN su sąlyga WHERE, kad filtruotumėte išvestį, patikrindami pagal reikšmių sąrašą, ir rezultatas yra Būlio reikšmė.

Štai naudotina sintaksė:







reikšmė IN (reikšmė1, vertė2, vertė_n);

Nurodyta sintaksė paima reikšmę ir patikrina ją su value1, value2 ir value_n. Tada jis grąžina Būlio vertę, jei yra atitiktis. Vertybių, kurias reikia patikrinti, sąrašas gali būti bet kokio tipo, įskaitant eilutes ir sveikuosius skaičius. Be to, galite sukurti antrinę užklausą, pvz., SELECT teiginį.



Aptarkime įvairius PostgreSQL IN operatoriaus naudojimo būdus.



1. Darbas su papildoma užklausa

Kaip minėjome anksčiau, vertė, kurią reikia patikrinti, gali būti antrinė užklausa, kuri ištraukia reikšmes naudojant užklausos sakinį, pvz., SELECT. Tokiu būdu galite pateikti lentelės užklausą, kad patikrintumėte nurodyto stulpelio reikšmes. Pavyzdžiui naudokime šią lentelę:





Tarkime, kad norime patikrinti visus klientus, kurių „order_id“ gali būti bet kuri iš užklausos skyriuje nurodytų reikšmių. Pridedame tikslinę reikšmę kaip pirmąją savo teiginio dalį ir tada naudojame WHERE sąlygą su IN sąlyga, kad sukurtume užklausą.



Štai kaip atrodo mūsų užklausa:

PostgreSQL patikrina stulpelį „order_id“ lentelėje „klientai“ ir pateikia visus įrašus, kurių „order_id“ atitinka bet kurį iš tų, kuriuos nurodėme skliausteliuose.

Pirmiausia naudojome sveikojo skaičiaus reikšmių sąrašo atvejį. Taip pat galime patikrinti pagal eilutes. Atminkite, kad jei visos jūsų nurodytos eilutės neatitinka tikslinės vertės, nieko negrąžinama. Šiame pavyzdyje yra keletas eilučių, kurių nėra mūsų lentelėje. Tokios eilutės bus praleistos ir tik tos atitinkančios eilutės bus rodomos šioje išvestyje:

2. Darbas su IN(SELECT)

Kartais rankiniu būdu nurodant reikšmių sąrašą gali nepavykti. Galite pasirinkti naudoti teiginį SELECT, kad gautumėte verčių sąrašą iš savo lentelės ir patikrintumėte, ar jos atitinka tikslinę vertę. Pridėję šią lentelę į savo duomenų bazę, galime ją sujungti su ankstesne „klientų“ lentele, kad pateiktume antrinę užklausą:

Tarkime, kad norime rodyti įrašus iš lentelės „užsakymai“, jei tikslinė vertė (order_id) yra lentelėje „klientai“. Čia stulpelis „customers.order_id“ yra mūsų reikšmių sąrašas ir mes palyginame jo reikšmes su stulpelyje „orders.order_id“ esančiomis vertėmis.

Šiuo atveju tik trys įrašai atitinka paiešką ir būtent tai gauname kaip IN(SELECT) PostgreSQL sąlygos išvestį.

3. Darbas su NOT IN PostgreSQL sąlyga

Naudodami ankstesnę komandą, galime pasirinkti rodyti kitas reikšmes, kurios neatitinka tikslinės vertės. Tam mes darome priešingai nei IN sąlyga. Taigi mes paneigiame komandą NE IN.

Štai kaip rašome naują komandą:

Atkreipkite dėmesį, kad gauname kitokią išvestį nei ta, kurią gavome 2 pavyzdyje. Taip yra todėl, kad dirbame su NOT IN vietoj IN sąlyga.

Idealiu atveju galite pridėti NOT, kai norite paneigti rezultatus, kuriuos gaunate naudodami PostgreSQL IN sąlygą. Programų yra begalė. Kai norite patikrinti vertes ir greitai jas sutapti, IN sąlyga yra geriausias jūsų draugas.

Išvada

IN sąlyga veikia su sąlyga WHERE, kad būtų galima patikrinti tikslinę vertę, palyginti su reikšmių sąrašu. IN sąlyga grąžina Būlio reikšmę, kuri patvirtina, ar tikslinė reikšmė atitinka jūsų nurodytame reikšmių sąraše. Galite nurodyti reikšmes kaip literalus arba naudoti SELECT teiginį, kad sukurtumėte naudotiną antrinę užklausą. Pateikėme tris atvejus, kaip galite naudoti PostgreSQL IN sąlygą. Tikimės, kad tai leido suprasti, kaip dirbti su PostgreSQL IN sąlyga.