PostgreSQL SA Clause

Postgresql Sa Clause



Maraming mga clause na maaari mong gamitin sa PostgreSQL. Ang sugnay na IN ay isa sa mga sugnay na ito, at mayroon itong maraming benepisyo kapag naiintindihan mo kung paano ito gamitin lalo na kapag pinagsama sa sugnay na WHERE. Ang IN clause ay pangunahing gumagana sa SELECT statement upang i-filter kung paano mo gustong isagawa ang query. Kapag naisakatuparan, sinusuri ng sugnay na IN ang tinukoy na listahan upang makita kung tumutugma ito sa pamantayan at naglalabas ng mga katumbas na halaga.

Pag-unawa sa Paano Gumagana sa PostgreSQL IN Clause

Sa PostgreSQL, ginagamit mo ang IN clause kasama ang WHERE clause upang i-filter ang output sa pamamagitan ng pagsuri laban sa isang listahan ng mga value, at ang resulta ay Boolean value.

Narito ang syntax na gagamitin:







value IN (value1, value2, value_n);

Kinukuha ng ibinigay na syntax ang value at sinusuri ito laban sa value1, value2, at value_n. Pagkatapos ay ibinabalik nito ang isang Boolean kung mayroong tugma. Ang listahan ng mga value na susuriin ay maaaring maging anumang literal na uri kabilang ang mga string at integer. Bukod, maaari kang lumikha ng isang subquery tulad ng isang SELECT statement.



Talakayin natin ang iba't ibang paraan ng paggamit ng operator ng PostgreSQL IN.



1. Paggawa gamit ang isang Subquery

Gaya ng nabanggit namin kanina, ang value na susuriin ay maaaring isang subquery na kumukuha ng mga value gamit ang query statement gaya ng SELECT. Sa ganitong paraan, maaari kang mag-query sa isang talahanayan upang suriin ang mga halaga ng isang naibigay na column. Gamitin natin ang sumusunod na talahanayan para sa ating halimbawa:





Ipagpalagay na gusto naming suriin ang lahat ng mga customer na ang 'order_id' ay maaaring alinman sa mga halaga na tinukoy sa seksyon ng query. Idinaragdag namin ang target na halaga bilang unang bahagi ng aming pahayag at pagkatapos ay ginagamit ang sugnay na WHERE na may sugnay na IN upang lumikha ng query.



Narito kung paano lumalabas ang aming query:

Sinusuri ng PostgreSQL ang column na 'order_id' sa talahanayan ng 'mga customer' at ibinabalik ang lahat ng record na ang 'order_id' ay tumutugma sa alinman sa mga tinukoy namin sa mga bracket.

Para sa unang pagkakataon, gumamit kami ng isang kaso ng isang integer na listahan ng mga halaga. Maaari din naming suriin laban sa mga string. Tandaan na kung ang lahat ng mga string na iyong tinukoy ay hindi tumutugma sa target na halaga, walang ibabalik. Ang sumusunod na halimbawa ay naglalaman ng ilang mga string na wala sa aming talahanayan. Ang mga naturang string ay lalaktawan at ang mga tumutugmang string lamang ang ipapakita sa sumusunod na output:

2. Nagtatrabaho sa IN(SELECT)

Minsan, maaaring hindi gumana ang manu-manong pagtukoy sa listahan ng mga halaga. Maaari mong piliing gumamit ng SELECT statement para kumuha ng listahan ng mga value mula sa iyong table at gamitin ang mga ito para suriin ang target na value. Ang pagdaragdag ng sumusunod na talahanayan sa aming database, maaari naming pagsamahin ito sa nakaraang talahanayan ng 'mga customer' upang gawin ang aming subquery:

Sabihin nating gusto lang nating ipakita ang mga tala mula sa talahanayan ng 'mga order' kung ang target na halaga (order_id) ay nasa talahanayan ng 'mga customer.' Dito, ang column na 'customers.order_id' ay ang aming listahan ng mga value at sinusuri namin ang mga value nito sa mga nasa column na 'orders.order_id'.

Para sa kasong ito, tatlong entry lang ang tumutugma sa paghahanap at iyon ang makukuha namin bilang output para sa aming IN(SELECT) PostgreSQL clause.

3. Paggawa gamit ang NOT IN PostgreSQL Clause

Gamit ang nakaraang command, mapipili nating ipakita ang iba pang value na hindi tumutugma sa target na value. Para diyan, ginagawa namin ang kabaligtaran ng ginagawa ng IN clause. Kaya naman, tinatanggihan namin ang utos na HINDI SA.

Narito kung paano namin isinusulat ang aming bagong command:

Pansinin na nakakakuha kami ng ibang output kaysa sa nakuha namin sa halimbawa 2. Iyon ay dahil nagtatrabaho kami sa NOT IN sa halip na IN clause.

Sa isip, maaari kang magdagdag ng HINDI sa tuwing nais mong tanggihan ang mga resulta na makukuha mo sa sugnay na PostgreSQL IN. Ang mga aplikasyon ay walang katapusan. Kapag gusto mong suriin ang mga halaga at makita ang mga tumutugma nang mabilis, ang IN clause ay ang iyong matalik na kaibigan.

Konklusyon

Gumagana ang IN clause sa WHERE clause upang suriin ang isang target na halaga laban sa isang listahan ng mga halaga. Ang IN clause ay nagbabalik ng Boolean na nagkukumpirma kung ang target na value ay may tugma sa listahan ng mga value na iyong tinukoy. Maaari mong tukuyin ang mga halaga bilang mga literal o gamitin ang SELECT statement para gumawa ng subquery na gagamitin. Nagbigay kami ng tatlong pagkakataon kung paano mo magagamit ang sugnay na PostgreSQL IN. Sana, nagbigay iyon sa iyo ng mga insight sa pag-unawa kung paano magtrabaho kasama ang PostgreSQL IN clause.