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

KDE vs MÍT

Proč musíte v MySQL umisťovat sloupce, které sami vytvoříte (například „vyberte 1 jako číslo“) po HAVING a ne KDE?

WHERE se použije před GROUP BY , HAVING se použije po (a může filtrovat podle agregátů).

Obecně platí, že na aliasy můžete odkazovat v žádné z těchto klauzulí, ale v MySQL umožňuje odkazování SELECT aliasy úrovní v GROUP BY , ORDER BY a HAVING .

A existují nějaké nevýhody namísto provádění "WHERE 1" (zapsání celé definice místo názvu sloupce)

Pokud váš vypočítaný výraz neobsahuje žádné agregáty, vložte jej do WHERE klauzule bude s největší pravděpodobností účinnější.



  1. Použití proměnné v klauzuli LIMIT v MySQL

  2. Jaký je výchozí název omezení v Oracle?

  3. Počítání DISTINCT ve více sloupcích

  4. Úprava plánu agenta SQL Server (T-SQL)