gpt4 book ai didi

mysql - 在查询条件语法中使用别名?

转载 作者:行者123 更新时间:2023-11-29 07:36:54 27 4
gpt4 key购买 nike

我想知道是否可以在 where 条件中使用别名

例如这个:

SELECT name AS NAMESS, age from user AS MEN where MEN.name LIKE '%Cortan%';

尝试看起来像这样:

SELECT name AS NAMESS, age from user AS MEN where MEN.NAMESS LIKE '%Cortan%';

正确的语法是什么?

最佳答案

(引用的重复项并不完全重复,因为它不是特定于 MySQL 的。)

你的问题的答案是你永远不能使用:

SELECT name AS NAMESS, age
from user AS MEN
where MEN.NAMESS LIKE '%Cortan%';

除非 NAMESSuser 中的一列。您可以执行子查询:

SELECT NAMESS, age
from (SELECT u.*, u.name as NAMESS FROM user u) MEN
where MEN.NAMESS LIKE '%Cortan%';

这会起作用。

您可以删除 MEN. 限定条件并使用 HAVING 子句(这是 MySQL 扩展):

SELECT name AS NAMESS, age
FROM user MEN
HAVING NAMESS LIKE '%Cortan%';

或者,您可以做无数其他人所做的事情,只需引用别名之前的列/表达式:

SELECT name AS NAMESS, age
FROM user MEN
WHERE MEN.names LIKE '%Cortan%';

MEN. 是可选的,但如果您有多个表,强烈建议使用限定列名称。

关于mysql - 在查询条件语法中使用别名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30447260/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com