我試圖創建一個演示來解釋如何加入並遇到一些困難。mysql按名稱將列分組在一起
CREATE TABLE sample (
id INT
);
INSERT INTO sample VALUES (1),(2),(3),(4);
這是我的模式。
SELECT *
FROM sample AS s1
JOIN sample AS s2;
如果你這樣做,你會得到這樣的:
1,1
1,2
1,3
1,4
2,1
2,2
...
4,3
4,4
至少這是什麼JOIN看到。如果您嘗試運行它,但您會得到一列值等於第一列的列。我不想那樣 - 我想要兩列。
我可以做s1.*, s2.*
而不是*
但是我希望SQL使用它自己的分組。原因是左和右連接不關心你如何讓數據出現在輸出中 - 他們自己關心與右和左連接的表。再加上那並不能很好地擴展。我只想看看JOIN看到了什麼。
任何想法?
你想看什麼? – 2013-02-23 02:46:29
你期望什麼結果? – Oliver 2013-02-23 02:48:05
我想看到兩行 - 不是一行。我可以做s1。*,s2。*但我不想像我在最後一段中解釋的那樣。戈登答案解釋說,MySQL結合具有相同名稱的列。 – neubert 2013-02-23 03:15:34