sql >> Databáze >  >> RDS >> Mysql

Jaký je sémantický rozdíl mezi WHERE a HAVING?

HAVING funguje na souhrnném řádku - WHERE pracuje na celé tabulce před GROUP BY je použito. (Nemůžete vložit GROUP BY stranou, HAVING je klauzule vyhrazená pro použití s ​​GROUP BY - vynechání GROUP BY nemění implicitní akci, která se odehrává v zákulisí).

Je také důležité poznamenat, že z tohoto důvodu WHERE můžete použít index při HAVING nemůže. (V super triviálních neseskupených sadách výsledků byste teoreticky mohli použít index pro HAVING , ale nikdy jsem neviděl optimalizátor dotazů skutečně implementovaný tímto způsobem).



  1. Co je STATISTICKÝ PROFIL na serveru SQL Server?

  2. Jak sledovat změny ve více sloupcích v databázové tabulce pro účely auditu?

  3. více instancí mysql

  4. Jak mohu dosáhnout funkčnosti initcap v MySQL?