我有一個表稱爲employeee(三聯E公司):MySql的自聯接子內連接返回交叉連接
+------------+------------+---------------+--------------+
| employeeid | lastname | country | departmentid |
+------------+------------+---------------+--------------+
| 123 | Rafferty | Australia | 31 |
| 124 | Jones | Australia | 33 |
| 145 | Heisenberg | Australia | 33 |
| 201 | Robinson | United States | 34 |
| 305 | Smith | Germany | 34 |
| 306 | Williams | Germany | NULL |
+------------+------------+---------------+--------------+
我的目的是配對(自聯接)同一國家內的人並把他們一邊側。
於是我想出了與同事一些幫助下面的查詢:
SELECT f.employeeid, f.lastname, s.employeeid, s.lastname, f.country
FROM employeee f INNER JOIN employeee s ON f.country = s.country
結果是不是100%,我打算。交叉連接似乎是在結果:
+------------+------------+------------+------------+---------------+
| employeeid | lastname | employeeid | lastname | country |
+------------+------------+------------+------------+---------------+
| 123 | Rafferty | 123 | Rafferty | Australia |
| 124 | Jones | 123 | Rafferty | Australia |
| 145 | Heisenberg | 123 | Rafferty | Australia |
| 123 | Rafferty | 124 | Jones | Australia |
| 124 | Jones | 124 | Jones | Australia |
| 145 | Heisenberg | 124 | Jones | Australia |
| 123 | Rafferty | 145 | Heisenberg | Australia |
| 124 | Jones | 145 | Heisenberg | Australia |
| 145 | Heisenberg | 145 | Heisenberg | Australia |
| 201 | Robinson | 201 | Robinson | United States |
| 305 | Smith | 305 | Smith | Germany |
| 306 | Williams | 305 | Smith | Germany |
| 305 | Smith | 306 | Williams | Germany |
| 306 | Williams | 306 | Williams | Germany |
+------------+------------+------------+------------+---------------+
而且爲什麼沒有做f.employeeid, s.employeeid
當使用AS
別名關鍵字?我認爲這些都是必需的。
你想要什麼樣的結果? –
你的問題是什麼? – HaveNoDisplayName
我的意圖是將同一個國家的人員(自我加入)並排放在一起。 –