在MySQL中,为什么需要将自己创建的列(例如select 1 as "number"
)放在HAVING
之后而不是WHERE
之后?
如果不写WHERE 1
(写整个定义而不是列名),还有什么缺点吗?
在MySQL中,为什么需要将自己创建的列(例如select 1 as "number"
)放在HAVING
之后而不是WHERE
之后?
如果不写WHERE 1
(写整个定义而不是列名),还有什么缺点吗?
为什么在MySQL中,你需要把你自己创建的列(例如" Select 1作为数字")放在有了之后,而不是放在哪里?
WHERE
在GROUP BY
之前涂抹,HAVING
在GROUP BY
之后涂抹(并且可以过滤骨料).
通常,在这两个子句中都可以引用别名,但MySQL
允许在GROUP BY
、ORDER BY
和HAVING
中引用SELECT
级别名.
如果不使用"WHERE 1"(编写整个定义而不是列名),会有什么负面影响吗
如果您的计算表达式不包含任何聚合,那么将其放入WHERE
子句中可能会更有效.