PostgreSQL ในข้อ

Postgresql Ni Khx



มีหลายคำสั่งที่คุณสามารถใช้ใน PostgreSQL IN clause เป็นหนึ่งใน clause เหล่านี้ และมีประโยชน์มากมายเมื่อคุณเข้าใจวิธีใช้ โดยเฉพาะอย่างยิ่งเมื่อรวมกับ WHERE clause ส่วนคำสั่ง IN ทำงานกับคำสั่ง SELECT เป็นหลักเพื่อกรองวิธีที่คุณต้องการให้ดำเนินการคิวรี เมื่อดำเนินการ ส่วนคำสั่ง IN จะตรวจสอบรายการที่ระบุเพื่อดูว่าตรงกับเกณฑ์หรือไม่ และส่งออกค่าที่ตรงกัน

ทำความเข้าใจวิธีการทำงานกับ PostgreSQL IN Clause

ใน PostgreSQL คุณใช้ส่วนคำสั่ง IN ร่วมกับส่วนคำสั่ง WHERE เพื่อกรองเอาต์พุตโดยการตรวจสอบกับรายการค่า และผลลัพธ์จะเป็นค่าบูลีน

นี่คือไวยากรณ์ที่จะใช้:







ค่าใน (value1, value2, value_n);

ไวยากรณ์ที่กำหนดจะใช้ค่าและตรวจสอบกับค่า 1, ค่า 2 และค่า_n จากนั้นจะส่งกลับค่าบูลีนหากมีค่าที่ตรงกัน รายการค่าที่จะตรวจสอบอาจเป็นประเภทตัวอักษรใดๆ รวมถึงสตริงและจำนวนเต็ม นอกจากนี้ คุณสามารถสร้างแบบสอบถามย่อย เช่น คำสั่ง SELECT ได้



เรามาหารือเกี่ยวกับวิธีต่างๆ ในการใช้ตัวดำเนินการ PostgreSQL IN



1. การทำงานกับแบบสอบถามย่อย

ดังที่เราได้กล่าวไว้ข้างต้น ค่าที่จะตรวจสอบอาจเป็นแบบสอบถามย่อยที่แยกค่าโดยใช้คำสั่งแบบสอบถาม เช่น SELECT ด้วยวิธีนี้ คุณสามารถสืบค้นตารางเพื่อตรวจสอบค่าของคอลัมน์ที่ระบุได้ ลองใช้ตารางต่อไปนี้เป็นตัวอย่างของเรา:





สมมติว่าเราต้องการตรวจสอบลูกค้าทั้งหมดที่มี 'order_id' อาจเป็นค่าใดๆ ที่ระบุไว้ในส่วนแบบสอบถาม เราเพิ่มค่าเป้าหมายเป็นส่วนแรกของคำสั่งของเรา จากนั้นใช้ส่วนคำสั่ง WHERE ร่วมกับส่วนคำสั่ง IN เพื่อสร้างแบบสอบถาม



ข้อความค้นหาของเราปรากฏดังนี้:

PostgreSQL ตรวจสอบคอลัมน์ “order_id” ในตาราง “ลูกค้า” และส่งคืนบันทึกทั้งหมดที่มี “order_id” ตรงกับรายการใดๆ ที่เราระบุไว้ในวงเล็บ

สำหรับตัวอย่างแรก เราใช้กรณีของรายการค่าจำนวนเต็ม เรายังสามารถตรวจสอบกับสตริงได้อีกด้วย โปรดทราบว่าหากสตริงทั้งหมดที่คุณระบุไม่ตรงกับค่าเป้าหมาย จะไม่มีการส่งคืนสิ่งใด ตัวอย่างต่อไปนี้ประกอบด้วยสตริงบางส่วนที่ไม่มีอยู่ในตารางของเรา สตริงดังกล่าวจะถูกข้ามและเฉพาะสตริงที่ตรงกันเท่านั้นที่จะแสดงในเอาต์พุตต่อไปนี้:

2. การทำงานกับ IN (เลือก)

บางครั้ง การระบุรายการค่าด้วยตนเองอาจไม่ทำงาน คุณสามารถเลือกใช้คำสั่ง SELECT เพื่อดึงรายการค่าจากตารางของคุณ และใช้เพื่อตรวจสอบเทียบกับค่าเป้าหมายได้ การเพิ่มตารางต่อไปนี้ลงในฐานข้อมูลของเรา เราสามารถรวมเข้ากับตาราง “ลูกค้า” ก่อนหน้าเพื่อสร้างแบบสอบถามย่อยของเรา:

สมมติว่าเราต้องการแสดงบันทึกจากตาราง 'คำสั่งซื้อ' เท่านั้น หากค่าเป้าหมาย (order_id) อยู่ในตาราง 'ลูกค้า' คอลัมน์ 'customers.order_id' คือรายการค่าของเรา และเราตรวจสอบค่ากับคอลัมน์ 'orders.order_id'

ในกรณีนี้ มีเพียงสามรายการที่ตรงกับการค้นหา และนั่นคือสิ่งที่เราได้รับเป็นผลลัพธ์สำหรับคำสั่งย่อย IN(SELECT) PostgreSQL ของเรา

3. การทำงานกับคำสั่ง NOT IN PostgreSQL

การใช้คำสั่งก่อนหน้าทำให้เราสามารถเลือกแสดงค่าอื่นๆ ที่ไม่ตรงกับค่าเป้าหมายได้ เพื่อสิ่งนั้น เราจะทำสิ่งที่ตรงกันข้ามกับสิ่งที่ IN clause ทำ ดังนั้นเราจึงปฏิเสธคำสั่งไม่ให้เป็น NOT IN

ต่อไปนี้คือวิธีที่เราเขียนคำสั่งใหม่:

โปรดสังเกตว่าเราได้ผลลัพธ์ที่แตกต่างจากที่เราได้รับในตัวอย่างที่ 2 นั่นเป็นเพราะว่าเรากำลังทำงานกับ NOT IN แทนที่จะเป็นคำสั่งย่อย IN

ตามหลักการแล้ว คุณสามารถเพิ่ม NOT เมื่อใดก็ตามที่คุณต้องการลบล้างผลลัพธ์ที่คุณได้รับจากส่วนคำสั่ง PostgreSQL IN แอปพลิเคชั่นไม่มีที่สิ้นสุด เมื่อคุณต้องการตรวจสอบค่าและดูการจับคู่อย่างรวดเร็ว คำสั่งย่อย IN คือเพื่อนที่ดีที่สุดของคุณ

บทสรุป

ส่วนคำสั่ง IN ทำงานร่วมกับส่วนคำสั่ง WHERE เพื่อตรวจสอบค่าเป้าหมายเทียบกับรายการค่า ส่วนคำสั่ง IN ส่งคืนบูลีนซึ่งจะยืนยันว่าค่าเป้าหมายตรงกันในรายการค่าที่คุณระบุหรือไม่ คุณสามารถระบุค่าเป็นตัวอักษรหรือใช้คำสั่ง SELECT เพื่อสร้างแบบสอบถามย่อยที่จะใช้ เราได้ยกตัวอย่างวิธีการใช้ PostgreSQL IN clause ไว้ 3 กรณี หวังว่านั่นจะทำให้คุณมีข้อมูลเชิงลึกในการทำความเข้าใจวิธีการทำงานกับ PostgreSQL IN clause