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 กับค่าอักขระ

พิจารณาตารางต่อไปนี้:

พนักงาน:

PostgreSQL ด้วยตัวละคร

ให้เราลองรันแบบสอบถามต่อไปนี้กับตารางด้านบน:

SELECT *
FROM Employees
WHERE name IN ('James John', 'Mercy Bush', 'Kate Joel');

มันกลับมาดังต่อไปนี้:

PostgreSQL ด้วยตัวละคร

เรามีรายชื่อสามชื่อ เรากำลังค้นหาว่าเราสามารถค้นหาชื่อเหล่านี้ในคอลัมน์ชื่อของตารางพนักงานได้หรือไม่ Kate Joel ถูกจับคู่กับระเบียนหนึ่งของตาราง และรายละเอียดของระเบียนดังกล่าวก็ถูกส่งคืนมา

ด้วยตัวเลข

ตอนนี้มาดูกันว่าเราสามารถใช้ตัวดำเนินการ IN กับค่าตัวเลขได้อย่างไร

พิจารณาตารางราคาที่ระบุด้านล่าง:

ราคา:

PostgreSQL ด้วยตัวเลข

เราสามารถรันแบบสอบถามต่อไปนี้กับตารางได้:

SELECT *
FROM Price
WHERE price IN (200, 308, 250, 550);

สิ่งนี้ส่งคืนสิ่งต่อไปนี้:

PostgreSQL ด้วยตัวเลข

เราได้สร้างรายการที่มีค่าตัวเลข 4 ค่า เรากำลังตรวจสอบว่าสามารถจับคู่ค่าใด ๆ เหล่านี้กับค่าที่อยู่ในคอลัมน์ราคาของตารางราคาได้หรือไม่ โดยค่า XNUMX ค่าได้รับการจับคู่และรายละเอียดของค่าทั้งสองค่าได้รับการส่งคืน

การใช้ตัวดำเนินการ NOT

ตัวดำเนินการ IN สามารถใช้ร่วมกับตัวดำเนินการ NOT ได้ โดยจะคืนค่าที่ไม่พบในคอลัมน์ที่ระบุ เราจะใช้ตารางราคาเพื่อสาธิต

SELECT *
FROM Price
WHERE price NOT IN (200, 400, 190, 230);

สิ่งนี้จะส่งคืนสิ่งต่อไปนี้:

PostgreSQL ในการใช้ตัวดำเนินการ NOT

เราได้สร้างรายการที่มีค่าตัวเลข 4 ค่า เรากำลังตรวจสอบคอลัมน์ราคาของตารางราคาสำหรับค่าที่ไม่อยู่ในรายการ ไม่พบค่า 250 และ 300 ดังนั้นจึงได้ส่งคืนรายละเอียดของค่าเหล่านี้

การใช้งาน pgAdmin

ตอนนี้เรามาดูกันว่าการดำเนินการสามารถทำได้โดยใช้ pgAdmin อย่างไร

ด้วยตัวละคร

หากต้องการบรรลุผลเช่นเดียวกันผ่าน pgAdmin ให้ทำดังนี้:

ขั้นตอน 1) เข้าสู่ระบบบัญชี pgAdmin ของคุณ

ขั้นตอน 2)

  1. จากแถบนำทางทางด้านซ้ายให้คลิกฐานข้อมูล
  2. คลิกสาธิต

การใช้ pgAdmin พร้อมอักขระ

ขั้นตอน 3) พิมพ์แบบสอบถามในตัวแก้ไขแบบสอบถาม:

SELECT *
FROM Employees
WHERE name IN ('James John', 'Mercy Bush', 'Kate Joel');

ขั้นตอน 4) คลิกปุ่มดำเนินการ

การใช้ pgAdmin พร้อมอักขระ

ควรส่งคืนสิ่งต่อไปนี้:

การใช้ pgAdmin พร้อมอักขระ

ด้วยตัวเลข

หากต้องการบรรลุผลเช่นเดียวกันผ่าน pgAdmin ให้ทำดังนี้:

ขั้นตอน 1) เข้าสู่ระบบบัญชี pgAdmin ของคุณ

ขั้นตอน 2)

  1. จากแถบนำทางทางด้านซ้ายให้คลิกฐานข้อมูล
  2. คลิกสาธิต

การใช้ pgAdmin ด้วยตัวเลข

ขั้นตอน 3) พิมพ์แบบสอบถามในตัวแก้ไขแบบสอบถาม:

SELECT *
FROM Price
WHERE price IN (200, 308, 250, 550);

ขั้นตอน 4) คลิกปุ่มดำเนินการ

การใช้ pgAdmin ด้วยตัวเลข

ควรส่งคืนสิ่งต่อไปนี้:

การใช้ pgAdmin ด้วยตัวเลข

การใช้ตัวดำเนินการ NOT

หากต้องการบรรลุผลเช่นเดียวกันผ่าน pgAdmin ให้ทำดังนี้:

ขั้นตอน 1) เข้าสู่ระบบบัญชี pgAdmin ของคุณ

ขั้นตอน 2)

  1. จากแถบนำทางทางด้านซ้ายให้คลิกฐานข้อมูล
  2. คลิกสาธิต

การใช้ตัวดำเนินการ NOT

ขั้นตอน 3) พิมพ์แบบสอบถามในตัวแก้ไขแบบสอบถาม:

SELECT *
FROM Price
WHERE price NOT IN (200, 400, 190, 230);

ขั้นตอน 4) คลิกปุ่มดำเนินการ

การใช้ตัวดำเนินการ NOT

ควรส่งคืนสิ่งต่อไปนี้:

การใช้ตัวดำเนินการ NOT

สรุป

  • ตัวดำเนินการ IN ใช้ร่วมกับตัวดำเนินการ WHERE ช่วยให้ตรวจสอบได้ว่าค่าใดค่าหนึ่งมีอยู่ในตารางที่ระบุหรือไม่
  • ตัวดำเนินการ IN ช่วยลดความจำเป็นในการใช้ตัวดำเนินการ OR หลายตัวในคำสั่ง SELECT, UPDATE, INSERT หรือ DELETE
  • เมื่อสร้างรายการอักขระเพื่อตรวจสอบการมีอยู่ของค่า แต่ละค่าในรายการควรอยู่ในเครื่องหมายคำพูดเดี่ยว
  • ตัวดำเนินการ IN ยังสามารถใช้กับค่าตัวเลขได้
  • เมื่อใช้ตัวดำเนินการ IN ร่วมกับตัวดำเนินการ NOT ระบบจะส่งคืนค่าทั้งหมดที่ไม่พบในคอลัมน์ที่ระบุ

ดาวน์โหลดฐานข้อมูลที่ใช้ในบทช่วยสอนนี้