gpt4 book ai didi

mysql - 为什么 MySQL union all 对 "practically"相同的查询显示不同的结果?

转载 作者:行者123 更新时间:2023-11-29 04:16:49 25 4
gpt4 key购买 nike

我正在查询,但我的结果是错误的,我进行了修改并且它有效,但是查询与原始查询非常相似,看吧:

原创:(无效)

select username, password from tbl_user
union all
select username as password, password as username from tbl_user

结果:

user1 | pass1
userUnion1 | passUnion1

解决方案:(有效)

select username, password from tbl_user
union all
select password as username , username as password from tbl_user

结果:

user1 | pass1
passUnion1 | userUnion1

查询的目的是合并相同的结果,但将列反转,在原始查询中它不会反转列,但在 SOLUTION 查询中它会反转 ¿为什么?

(请注意,在原始查询中,我要将密码作为用户名,将用户名作为密码),您能解释一下吗?

最佳答案

在第一个查询中:

select username, password from tbl_user
union all
select username as password, password as username from tbl_user

您只是将 tbl_user 与其自身结合起来。并集后半部分的别名将被忽略。此查询与执行相同:

select username, password from tbl_user
union all
select username, password from tbl_user

同样,您的第二个工作查询与:

select username, password from tbl_user
union all
select password, username from tbl_user

MySQL 和大多数数据库中联合查询的一般经验法则是每个选择列表中的类型列数相同。

关于mysql - 为什么 MySQL union all 对 "practically"相同的查询显示不同的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40571472/

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