Sobes.tech
Junior — Middle

გთხოვთ, ახსნათ HAVING ოპერატორის და WHERE პირობის განსხვავებები SQL-ში და რომელ შემთხვევებში უნდა გამოიყენოთ.

sobes.tech AI

პასუხი AI-სგან

SQL-ში, WHERE პირობა ფილტრავს სვეტებს გაერთიანებამდე, ხოლო HAVING — შემდეგ.

  • WHERE გამოიყენება ცალკეული სვეტებისთვის და محدودავს მონაცემთა ნაკადს, რომელიც გაერთიანდება.
  • HAVING გამოიყენება აგრეგატული ფუნქციების შედეგებზე და ფილტრავს ჯგუფებს, რომლებიც შეიქმნა GROUP BY ბრძანებით.

მაგალითი:

SELECT განყოფილება, COUNT(*) როგორც თანამშრომლების_სულელი
FROM თანამშრომლები
WHERE ხელფასი > 50000  -- ფილტრავს თანამშრომლებს, რომლებსაც ხელფასი აღემატება 50000
GROUP BY განყოფილება
HAVING COUNT(*) > 10    -- არჩევს განყოფილებებს, სადაც მეტი ვიდრე 10 თანამშრომელია

გამოიყენეთ WHERE თავდაპირველი მონაცემების ფილტრებისთვის და HAVING — გაერთიანებული შედეგების ფილტრებისთვის.