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