SQL เข้าร่วมในหลายเงื่อนไข

Sql Khea Rwm Ni Hlay Ngeuxnkhi



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

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







ในบทช่วยสอนนี้ เราจะค้นพบวิธีดำเนินการรวม SQL ในหลายเงื่อนไข เราจะเรียนรู้การใช้ตัวดำเนินการเชิงตรรกะ 'AND' และ 'OR' เพื่อรวมข้อมูลตามเงื่อนไขต่างๆ



SQL รวมหลายเงื่อนไข

เราสามารถระบุหลายเงื่อนไขโดยใช้ตัวดำเนินการ AND หรือ OR ใน SQL ตัวดำเนินการเหล่านี้ช่วยให้เราสามารถกำหนดชุดของนิพจน์บูลีนซึ่งจะถูกประเมินและเปรียบเทียบกับชุดผลลัพธ์



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





ในทางกลับกัน เราใช้ตัวดำเนินการ OR เมื่อเราต้องการให้เงื่อนไขอย่างน้อยหนึ่งเงื่อนไขเป็นจริง สิ่งนี้ทำให้เป็นวิธีการกรองข้อมูลที่ 'หลวม' มากขึ้น เนื่องจากเร็กคอร์ดผลลัพธ์ต้องเป็นไปตามพารามิเตอร์ที่กำหนดไว้อย่างน้อยหนึ่งตัวเท่านั้น

ฟังก์ชันการทำงานของตัวดำเนินการ AND และ OR จะไม่เปลี่ยนแปลงแม้ในกรณีของการรวม SQL



ตัวอย่างการรวมหลายรายการของ SQL

เพื่อให้เข้าใจวิธีการทำงานกับการรวมในหลายเงื่อนไข วิธีที่ดีที่สุดคือการทำงานกับตัวอย่าง

สำหรับการสาธิตนี้ เราใช้ฐานข้อมูล Sakila ซึ่งพัฒนาขึ้นเพื่อสำรวจความสามารถทั้งหมดของ SQL

สมมติว่าเราต้องการดึงข้อมูลจากภาพยนตร์และตาราง film_actor อันดับแรก เราต้องการค้นหานักแสดงทุกคนที่แสดงในภาพยนตร์เรื่องนี้ที่มีเรต PG หรือ PG-13 และมีความยาวระหว่าง 90 ถึง 120

ในสถานการณ์เช่นนี้ เราจำเป็นต้องทำการรวมด้วยหลายเงื่อนไขดังที่แสดงต่อไปนี้:

เลือกนักแสดงชื่อแรก, นักแสดงชื่อสุดท้าย, ชื่อภาพยนตร์, ปีภาพยนตร์ที่วางจำหน่าย, การจัดอันดับภาพยนตร์
จากนักแสดง
เข้าร่วม film_actor บน Actor.actor_id = film_actor.actor_id
เข้าร่วมภาพยนตร์บน film_actor.film_id = film.film_id
WHERE film.length ระหว่าง 90 และ 120
และ เรทติ้งภาพยนตร์ IN ( 'พีจี' , 'พีจี-13' ) ;


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

ตารางผลลัพธ์มีดังนี้:


เรายังสามารถระบุหลายเงื่อนไขตามตัวดำเนินการ OR ดังที่แสดงในตัวอย่างข้อความค้นหาต่อไปนี้:

เลือก film.title, film.rental_rate, category.name
จากภาพยนตร์
เข้าร่วม film_category ใน film.film_id = film_category.film_id
เข้าร่วมหมวดหมู่บน film_category.category_id = category.category_id
ที่ หมวดหมู่.ชื่อ ใน ( 'การกระทำ' , 'ตลก' )
และ film.rental_rate > 3.00 น ;


ตารางผลลัพธ์มีดังนี้:

บทสรุป

บทช่วยสอนนี้สำรวจวิธีการทำงานกับการรวม SQL ตามเงื่อนไขหลายข้อโดยใช้ตัวดำเนินการ AND และ OR สิ่งนี้ให้การกรองข้อมูลที่ละเอียดยิ่งขึ้น