Защо трябва да поставяте колони, които създавате сами (например „изберете 1 като число“) след ИМАНЕ, а не WHERE в MySQL?
WHERE
се прилага преди GROUP BY
, HAVING
се прилага след (и може да филтрира върху агрегати).
По принцип можете да препратите псевдоними в нито една от тези клаузи, но MySQL
позволява препращане към SELECT
псевдоними на ниво в GROUP BY
, ORDER BY
и HAVING
.
И има ли някакви недостатъци, вместо да правите "WHERE 1" (написване на цялата дефиниция вместо име на колона)
Ако вашият изчислен израз не съдържа агрегати, поставете го в WHERE
клаузата най-вероятно ще бъде по-ефективна.