gpt4 book ai didi

MySQL:连接中具有相同名称的重复列

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

关于 SO 的两个问题似乎是在询问等效 MySQL 查询的不同行为。在这两种情况下,都是对具有相同列名的表执行联接。 This poster询问如何从结果中消除具有相同名称的重复列和 this poster询问如何实现结果中同名列的重复。

为了测试这一点,我创建了玩具 table :

mysql> describe table_1;
+----------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| col_name | varchar(255) | YES | | NULL | |
+----------+--------------+------+-----+---------+-------+

mysql> describe table_2;
+----------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| col_name | varchar(255) | YES | | NULL | |
+----------+--------------+------+-----+---------+-------+

我将值“value”插入到两个表中,并执行这些连接,其中 JOIN_OP 是“join”或“left join”:

mysql> select * from table_1 as t1 JOIN_OP table_2 as t2 on t1.col_name = t2.col_name;
+----------+----------+
| col_name | col_name |
+----------+----------+
| value | value |
+----------+----------+

这个结果与第一篇文章中的结果一致。两次查询和两次结果有什么区别?为什么第二张海报没有看到任何重复?

最佳答案

默认情况下,如果您使用*,MySQL 将返回所有表的所有列。返回两列,一列用于 table_1,另一列用于 table_2。您需要在查询中显式输入列名称,才能按照您想要的方式检索它们。使用如下查询:

select t1.col_name from table_1 as t1 JOIN_OP table_2 as t2 on t1.col_name = t2.col_name;

关于MySQL:连接中具有相同名称的重复列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25613002/

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