SQL เป็นภาษามาตรฐานสำหรับการทำงานกับฐานข้อมูลเชิงสัมพันธ์ เขามีคลังแสงอยู่ในเครื่องมือที่มีประสิทธิภาพมากมายสำหรับจัดการข้อมูลที่จัดเก็บในรูปแบบของตาราง
ไม่ต้องสงสัยความสามารถในการจัดกลุ่มข้อมูลด้วยการสุ่มตัวอย่างของพวกเขาโดยคุณลักษณะบางอย่างเป็นเครื่องมือดังกล่าว คำสั่ง SQL HAVING พร้อมกับคำสั่ง WHERE ช่วยให้คุณสามารถกำหนดเงื่อนไขการสุ่มตัวอย่างสำหรับข้อมูลที่จัดกลุ่มไว้แล้วอย่างใดอย่างหนึ่ง
ประการแรกควรสังเกตว่าพารามิเตอร์นี้เป็นตัวเลือกและใช้เฉพาะร่วมกับพารามิเตอร์ GROUP BY ตามที่คุณจำ GROUP BY ถูกใช้เมื่อ SELECT ใช้ฟังก์ชันรวมและผลการคำนวณของพวกเขาจะต้องได้รับจากบางกลุ่ม ถ้า WHERE อนุญาตให้คุณตั้งเงื่อนไขสำหรับการเลือกก่อนที่ข้อมูลจะถูกจัดกลุ่ม HAVING มีเงื่อนไขเกี่ยวกับข้อมูลที่มีอยู่ในกลุ่มแล้ว เพื่อความเข้าใจที่ดียิ่งขึ้นลองมาดูตัวอย่างด้วยแผนภาพที่แสดงในรูปด้านล่าง
นี่เป็นตัวอย่างที่ดีให้คำอธิบาย SQL ที่มี ตารางจะได้รับพร้อมกับรายการชื่อผลิตภัณฑ์ บริษัท ที่ผลิตผลิตภัณฑ์เหล่านี้และสาขาอื่น ๆ ในแบบสอบถามที่มุมบนขวาเรากำลังพยายามหาข้อมูลเกี่ยวกับจำนวนผลิตภัณฑ์ที่ บริษัท แต่ละ บริษัท ผลิตในขณะที่เราต้องการส่งออกเฉพาะ บริษัท ที่ผลิตมากกว่า 2 ชื่อเท่านั้น พารามิเตอร์ GROUP BY ได้จัดกลุ่มไว้สามกลุ่มตามชื่อของ บริษัท ซึ่งแต่ละผลิตภัณฑ์มีการคำนวณจำนวนแถว (แถว) แต่พารามิเตอร์ HAVING ตามสภาพของมันตัดกลุ่มหนึ่งออกจากตัวอย่างที่ได้เนื่องจากไม่เป็นไปตามเงื่อนไข เป็นผลให้เราได้รับสองกลุ่มที่สอดคล้องกับ บริษัท ที่มีจำนวนผลิตภัณฑ์ 5 และ 3
คำถามอาจเกิดขึ้นเกี่ยวกับเหตุผลที่ใช้มีถ้ามีที่ไหนใน SQL ถ้าเราใช้ WHERE จะดูจำนวนแถวทั้งหมดในตารางไม่ใช่กลุ่มและเงื่อนไขจะไม่สมเหตุสมผลในกรณีนี้ อย่างไรก็ตามค่อนข้างบ่อยครั้งที่พวกเขาอยู่ร่วมกันอย่างสมบูรณ์ในคำขอหนึ่งครั้ง
ในตัวอย่างข้างต้นเราสามารถดูวิธีแรกมีการเลือกข้อมูลเกี่ยวกับชื่อของพนักงานที่ระบุไว้ในพารามิเตอร์ WHERE แล้วผลลัพธ์ที่จัดกลุ่มใน GROUP BY จะผ่านการตรวจสอบเพิ่มเติมเกี่ยวกับจำนวนเงินเดือนสำหรับพนักงานแต่ละคน
ลองพิจารณาคุณสมบัติบางอย่างของไวยากรณ์มี SQL คำอธิบายของพารามิเตอร์นี้ค่อนข้างง่าย อันดับแรกตามที่ระบุไว้แล้วจะใช้เฉพาะร่วมกับพารามิเตอร์ GROUP BY และระบุไว้ในทันทีหลังจากที่ก่อนหน้านี้และก่อน ORDER BY ถ้ามีคำในแบบสอบถาม เป็นที่เข้าใจได้เนื่องจากกำหนดเงื่อนไขสำหรับข้อมูลที่จัดกลุ่มไว้แล้ว ประการที่สองในเงื่อนไขของพารามิเตอร์นี้คุณสามารถใช้ฟังก์ชันและฟิลด์รวมที่ระบุในพารามิเตอร์ GROUP BY เท่านั้น เงื่อนไขทั้งหมดในพารามิเตอร์นี้จะระบุในลักษณะเดียวกับในกรณีของ WHERE
อย่างที่คุณเห็นไม่มีอะไรซับซ้อนในโอเปอเรเตอร์นี้ไม่ ความหมายจะใช้ในลักษณะเดียวกับที่ WHERE สิ่งสำคัญคือต้องเข้าใจว่า WHERE ใช้กับข้อมูลที่เลือกได้ทั้งหมดและ HAVING จะสัมพันธ์กับกลุ่มที่กำหนดไว้ในพารามิเตอร์ GROUP BY เท่านั้น เราได้นำเสนอคำอธิบายแบบครบวงจรสำหรับการมี SQL ซึ่งเพียงพอสำหรับการทำงานด้วยความมั่นใจ
</ p>