Sobes.tech
Junior — Middle

Ինչ է HAVING օպերատորի գործառույթը SQL-ում և ինչպե՞ս է այն տարբերվում WHERE-ից։

sobes.tech AI

Պատասխան AI-ից

SQL-ում HAVING արտահայտությունը օգտագործվում է տվյալների խմբագրման հետո արդյունքները ֆիլտրելու համար՝ GROUP BY-ի միջոցով։ Այն թույլ է տալիս սահմանել պայմաններ ամփոփված տվյալների համար։

Տարբերությունը WHERE-ից.

  • WHERE նախքան խմբավորումը ֆիլտրում է տողերը, աշխատում է առանձին գրառումների հետ։
  • HAVING ֆիլտրում է խմբերը խմբագրման հետո։

Օրինակ՝

SELECT բաժին, COUNT(*) AS աշխատակիցների_համար
FROM աշխատակիցներ
GROUP BY բաժին
HAVING COUNT(*) > 10;

Այստեղ, WHERE-ը չի կարող օգտագործվել COUNT(*)-ի համար ֆիլտրելու համար, քանի որ դա ամփոփիչ ֆունկցիա է, իսկ HAVING-ը թույլ է տալիս ընտրել միայն այն բաժինները, որտեղ աշխատակիցների թիվը գերազանցում է 10։