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