PostgreSQL IN ไม่ใช่ IN พร้อมตัวอย่าง
⚡ สรุปอย่างชาญฉลาด
PostgreSQL ตัวดำเนินการ IN จะตรวจสอบว่าค่าปรากฏอยู่ในรายการหรือซับควอรีภายในเงื่อนไข WHERE หรือไม่ โดยจะแทนที่เงื่อนไข OR หลายรายการในคำสั่ง SELECT, UPDATE, INSERT และ DELETE เพื่อการกรองที่สะอาดกว่า เร็วกว่า และอ่านง่ายกว่า

ความหมายของ PostgreSQL ใน?
ตัวดำเนินการ IN ใช้ในส่วน WHERE เพื่อตรวจสอบว่าค่าหนึ่งๆ มีอยู่ในรายการค่าอื่นๆ หรือไม่ การดำเนินการ IN ช่วยลดความจำเป็นในการใช้เงื่อนไข OR หลายๆ เงื่อนไขในคำสั่ง SELECT, UPDATE, INSERT หรือ DELETE
วากยสัมพันธ์
ตัวดำเนินการ IN มีรูปแบบดังต่อไปนี้:
value IN (value_1, value_2, ...)
ค่าคือค่าที่คุณกำลังตรวจสอบในรายการ
value_1, value_2… คือค่ารายการ
หากพบค่าในรายการ ตัวดำเนินการจะส่งคืนค่าเป็นจริง
รายการดังกล่าวอาจเป็นชุดตัวเลขหรือสตริง หรือแม้กระทั่งผลลัพธ์ที่ได้จากการประมวลผล คำสั่ง SELECT ดังต่อไปนี้:
value IN (SELECT value FROM table-name);
คำสั่งที่อยู่ในวงเล็บเรียกว่าแบบสอบถามย่อย
PostgreSQL ด้วยบุคลิกที่โดดเด่น
ให้เราสาธิตวิธีการใช้ตัวดำเนินการ IN กับค่าอักขระ
พิจารณาตารางต่อไปนี้:
พนักงาน:
ให้เราลองรันแบบสอบถามต่อไปนี้กับตารางด้านบน:
SELECT * FROM Employees WHERE name IN ('James John', 'Mercy Bush', 'Kate Joel');
ผลลัพธ์ที่ได้มีดังนี้:
เรามีรายชื่ออยู่สามชื่อ เรากำลังค้นหาว่าเราสามารถพบชื่อใดชื่อหนึ่งในสามชื่อนี้ในคอลัมน์ชื่อของตารางพนักงานได้หรือไม่ ปรากฏว่า Kate Joel ตรงกับข้อมูลในตารางหนึ่ง และได้รับรายละเอียดของเธอแล้ว
PostgreSQL IN พร้อมตัวเลข
ตอนนี้มาดูกันว่าเราสามารถใช้ตัวดำเนินการ IN กับค่าตัวเลขได้อย่างไร
พิจารณาตารางราคาที่ระบุด้านล่าง:
ราคา:
เราสามารถรันแบบสอบถามต่อไปนี้กับตารางได้:
SELECT * FROM Price WHERE price IN (200, 308, 250, 550);
สิ่งนี้ส่งคืนสิ่งต่อไปนี้:
เราได้สร้างรายการที่มีค่าตัวเลข 4 ค่า เรากำลังตรวจสอบว่าสามารถจับคู่ค่าใด ๆ เหล่านี้กับค่าที่อยู่ในคอลัมน์ราคาของตารางราคาได้หรือไม่ โดยค่า XNUMX ค่าได้รับการจับคู่และรายละเอียดของค่าทั้งสองค่าได้รับการส่งคืน
การใช้ NOT OperaTor
ตัวดำเนินการ IN สามารถใช้ร่วมกับตัวดำเนินการ NOT ได้ โดยจะคืนค่าที่ไม่พบในคอลัมน์ที่ระบุ เราจะใช้ตารางราคาเพื่อสาธิต
SELECT * FROM Price WHERE price NOT IN (200, 400, 190, 230);
สิ่งนี้จะส่งคืนสิ่งต่อไปนี้:
เราได้สร้างรายการที่มีค่าตัวเลข 4 ค่า เรากำลังตรวจสอบคอลัมน์ราคาของตารางราคาสำหรับค่าที่ไม่อยู่ในรายการ ไม่พบค่า 250 และ 300 ดังนั้นจึงได้ส่งคืนรายละเอียดของค่าเหล่านี้
การใช้งาน pgAdmin
นอกเหนือจากการใช้ SQL shell แล้ว ยังสามารถเรียกใช้คำสั่ง IN และ NOT IN เดียวกันได้ผ่านทางอินเทอร์เฟซ pgAdmin ได้อีกด้วย
ด้วยตัวละคร
หากต้องการบรรลุผลเช่นเดียวกันผ่าน pgAdmin ให้ทำดังนี้:
ขั้นตอน 1) เข้าสู่ระบบบัญชี pgAdmin ของคุณ
ขั้นตอน 2)
- จากแถบนำทางด้านซ้าย คลิกฐานข้อมูล
- คลิกสาธิต
ขั้นตอน 3) พิมพ์แบบสอบถามในตัวแก้ไขแบบสอบถาม:
SELECT * FROM Employees WHERE name IN ('James John', 'Mercy Bush', 'Kate Joel');
ขั้นตอน 4) คลิกปุ่มดำเนินการ
ควรส่งคืนสิ่งต่อไปนี้:
ด้วยตัวเลข
หากต้องการบรรลุผลเช่นเดียวกันผ่าน pgAdmin ให้ทำดังนี้:
ขั้นตอน 1) เข้าสู่ระบบบัญชี pgAdmin ของคุณ
ขั้นตอน 2)
- จากแถบนำทางด้านซ้าย คลิกฐานข้อมูล
- คลิกสาธิต
ขั้นตอน 3) พิมพ์แบบสอบถามในตัวแก้ไขแบบสอบถาม:
SELECT * FROM Price WHERE price IN (200, 308, 250, 550);
ขั้นตอน 4) คลิกปุ่มดำเนินการ
ควรส่งคืนสิ่งต่อไปนี้:
การใช้ NOT OperaTor
หากต้องการบรรลุผลเช่นเดียวกันผ่าน pgAdmin ให้ทำดังนี้:
ขั้นตอน 1) เข้าสู่ระบบบัญชี pgAdmin ของคุณ
ขั้นตอน 2)
- จากแถบนำทางด้านซ้าย คลิกฐานข้อมูล
- คลิกสาธิต
ขั้นตอน 3) พิมพ์แบบสอบถามในตัวแก้ไขแบบสอบถาม:
SELECT * FROM Price WHERE price NOT IN (200, 400, 190, 230);
ขั้นตอน 4) คลิกปุ่มดำเนินการ
ควรส่งคืนสิ่งต่อไปนี้:
ดาวน์โหลดฐานข้อมูลที่ใช้ในบทช่วยสอนนี้














