为什么需要在MySQL select 1 as "number"之后HAVING而不是WHEREMySQL中放置自己创建的列(例如)?
select 1 as "number"
HAVING
WHERE
还有没有其他弊端WHERE 1(编写整个定义而不是列名)?
WHERE 1
为什么需要在HAVING之后放置自己创建的列(例如“ select 1 as number”),而不是在MySQL中放置WHERE?
WHERE被施加之前GROUP BY,HAVING被后应用(并且可以在聚集体筛选)。
GROUP BY
在一般情况下,你可以在没有这些条款的引用别名,但MySQL允许引用SELECT在级别别名GROUP BY,ORDER BY和HAVING。
MySQL
SELECT
ORDER BY
还有什么缺点,而不是做“ WHERE 1”(写整个定义而不是列名)
如果您计算出的表达式不包含任何聚合,则将其放入WHERE子句中可能会更有效率。