關於SO的兩個問題似乎在詢問關於等價MySQL查詢的不同行爲。在這兩種情況下,正在對具有相同列名稱的表執行聯接。 This poster詢問如何從結果中刪除具有相同名稱的重複列,並且this poster詢問如何實現結果中具有相同名稱的列的重複。MySQL:在連接中具有相同名稱的重複列
爲了測試這一點,我創建玩具表:
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是任一「加入」或「左連接」:
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 |
+----------+----------+
此結果符合第一篇文章中的結果。兩個查詢和兩個結果之間有什麼區別?爲什麼第二張海報沒有看到任何重複?
我只是重新兩個表,以包括COL_NAME值「獨一無二」的約束,我也得到了相同的結果兩者加入和離開加入。你能澄清一下嗎? – Schemer 2014-09-01 21:27:26