Middle
Ստանդարտ հարց SQL-ի մասին. ինչն է տարբերությունը WHERE և HAVING-ի միջև?
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՝ վերջնական խմբերը։