มีคำสั่งใน SQL

Mi Kha Sang Ni Sql



บทช่วยสอนนี้มีจุดมุ่งหมายเพื่อช่วยให้คุณเข้าใจและใช้ HAVING clause ในคำสั่ง SQL

ให้เราดำดิ่งลงไป







SQL มีข้อ

HAVING clause ใน SQL อนุญาตให้คุณตั้งเงื่อนไขในกลุ่มที่กำหนดใน SQL GROUP BY clause



คุณสามารถใช้ GROUP BY clause เพื่อจัดระเบียบข้อมูลเป็นพาร์ติชันต่างๆ ใน ​​SQL คุณสามารถดำเนินการหลายอย่างกับกลุ่ม เช่น ฟังก์ชันการรวม



การใช้ HAVING clause คุณสามารถระบุเงื่อนไขสำหรับกลุ่มได้ อย่างไรก็ตาม คุณสามารถใช้คำสั่ง HAVING ได้โดยไม่ต้องจับคู่ GROUP BY ในกรณีเช่นนี้ ส่วนคำสั่ง HAVING จะทำงานคล้ายกับส่วนคำสั่ง WHERE ซึ่งช่วยให้คุณค้นหาระเบียนที่ตรงกันได้





ข้อมูลโค้ดต่อไปนี้กำหนดไวยากรณ์สำหรับส่วนคำสั่ง SQL HAVING:

เลือกสี
จาก table_name
จัดกลุ่มตาม group_by_clause
มี group_condition;



ตัวอย่างที่ 1: การใช้คำสั่ง HAVING กับตารางภาพยนตร์

เพื่อให้เข้าใจวิธีใช้ HAVING clause ใน SQL ได้ดีที่สุด เราจะใช้ฐานข้อมูลตัวอย่างจาก MySQL

คุณสามารถตรวจสอบแหล่งข้อมูลที่ให้ไว้ต่อไปนี้สำหรับข้อมูลเพิ่มเติม:

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

เราสามารถค้นหาภาพยนตร์ที่มีเรตการเช่า 2.99 ขึ้นไปโดยใช้คำสั่ง HAVING ดังที่แสดงในแบบสอบถามต่อไปนี้:

เลือก ชื่อ, release_year, เรทติ้ง, rental_rate
จากภาพยนตร์
จัดกลุ่มตามการให้คะแนน
มีrental_rate > = 2.99 ;


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


ในกรณีนี้ แบบสอบถามพบระเบียนที่ตรงกัน 4 รายการตามที่แสดงในตารางก่อนหน้า

ตัวอย่างที่ 2: การใช้ HAVING Clause กับฟังก์ชัน Aggregate

นอกจากนี้ เรายังสามารถใช้ฟังก์ชัน sum() เพื่อกำหนดภาพยนตร์ด้วยผลรวมของเรทติ้งภาพยนตร์ด้วยช่วงของ rental_rate ที่เจาะจง

เลือก ชื่อ, release_year, เรทติ้ง, rental_rate, ผลรวม ( ค่าเช่า_rate )
จากภาพยนตร์
จัดกลุ่มตามการให้คะแนน
มี ผลรวม ( ค่าเช่า_rate ) ระหว่าง 500 และ 600 ;


ในกรณีนี้ คิวรีควรส่งคืนตารางดังนี้: