Sobes.tech
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 ფილტრავს ჯგუფებს თანამშრომელთა რაოდენობის მიხედვით.