พวกเราหลายคนสังเกตเห็นว่าในขณะที่ศึกษาคีย์เวิร์ด sql เช่น “where” และ “having” ทีละคำ มันจะต้องเข้าใจได้ง่ายโดยไม่ต้องสงสัย แต่เมื่อเราเริ่มเขียนคำสั่งและเมื่อสองคีย์เวิร์ดนี้ใช้ร่วมกันจะทำให้เกิดความสับสน หากคุณสับสน ไม่ต้องกังวล ฉันก็ประสบสถานการณ์เดียวกัน แต่อย่างที่คุณเห็นตอนนี้ ฉันได้เข้าใจและเขียนบล็อกในเรื่องเดียวกันแล้ว ไม่ต้องกังวลว่าแนวคิดจะชัดเจนด้วยการฝึกฝน ;)

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

คุณสามารถดูตัวอย่างวิธีการเขียนคำสั่ง "where" เพื่อรับผู้สมัครที่มีประสบการณ์มากกว่าหรือเท่ากับ 2 ในแบบสอบถามด้านล่าง

select c.candidate_id
from Candidates c
inner join Rounds r on c.interview_id = r.interview_id
where c.years_of_exp >= 2

ส่วนคำสั่ง SQLHAVING นั้นคล้ายคลึงกับส่วนคำสั่ง WHERE ซึ่งทั้งสองส่วนใช้เพื่อกรองแถวในตารางตามเงื่อนไข

อย่างไรก็ตาม ส่วนคำสั่ง HAVING ใช้เพื่อกรองแถวที่ จัดกลุ่ม แทนที่จะเป็นแถวเดียว แถวเหล่านี้ถูกจัดกลุ่มเข้าด้วยกันโดย GROUP BY clause ดังนั้น "having" จะต้องตามหลังด้วย "group by" เสมอ

ดูว่าคำหลัก “having” ถูกใช้หลัง “group by” อย่างไรเพื่อให้ได้ผลรวมของคะแนนที่มากกว่า 15 คำหลักนี้ใช้กับ ฟังก์ชันรวมโดยส่วนใหญ่..

select c.candidate_id
from Candidates c
inner join Rounds r on c.interview_id = r.interview_id
where c.years_of_exp >= 2
group by r.interview_id
having sum(r.score) > 15

ตัวอย่างของฟังก์ชันรวม ได้แก่ COUNT(), AVG(), SUM() หากต้องการทำความเข้าใจเกี่ยวกับฟังก์ชันเหล่านี้โดยละเอียด โปรดดูลิงก์ด้านล่าง



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