Middle
რა განსხვავებაა WHERE-სა და HAVING-ს შორის?
sobes.tech AI
პასუხი AI-სგან
SQL-ში WHERE ოპერატორი გამოიყენება ხაზების ფილტრაციისთვის ჯგუფის წინ, ანუ ის შეზღუდავს მონაცემთა ნაკრებს, რომელიც მონაწილეობს სვეტში.
HAVING გამოიყენება უკვე ჯგუფირებული მონაცემების ფილტრაციისთვის, ანუ შემდეგ აგრეგატული ფუნქციებისა და ჯგუფირების შესრულების შემდეგ.
მაგალითი:
SELECT department, COUNT(*) as employee_count
FROM employees
WHERE salary > 50000 -- ფილტრავს თანამშრომლებს, რომლებსაც ხელფასი მეტი 50000
GROUP BY department
HAVING COUNT(*) > 10 -- არჩევს განყოფილებებს, სადაც მეტი 10 ასეთი თანამშრომელია
აქ, პირველ რიგში WHERE ფილტრავს ხაზებს, სადაც ხელფასი 50000-ზე მეტი, შემდეგ მონაცემები ჯგუფდება განყოფილებებით, და HAVING ფილტრავს ჯგუფებს თანამშრომელთა რაოდენობის მიხედვით.