Sobes.tech
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՝ վերջնական խմբերը։