我想學習加入。但是,當我嘗試完全加入員工和工資表時,它失敗了。爲什麼失敗?完全加入Mysql失敗
我已添加解決方案的結果,僅供參考。
mysql> select * from employee;
+-----+---------+
| eid | ename |
+-----+---------+
| 1 | sampath |
| 2 | maclean |
| 3 | sudheer |
+-----+---------+
3 rows in set (0.00 sec)
mysql> select * from Salary;
+------+--------+------+
| sid | salary | eid |
+------+--------+------+
| 1001 | 5000 | 2 |
| 1002 | 70000 | 3 |
| 1003 | 70000 | 3 |
+------+--------+------+
3 rows in set (0.00 sec)
mysql> select employee.eid, employee.ename, Salary.salary from employee JOIN Salary on employee.eid=Salary.eid;
+-----+---------+--------+
| eid | ename | salary |
+-----+---------+--------+
| 2 | maclean | 5000 |
| 3 | sudheer | 70000 |
| 3 | sudheer | 70000 |
+-----+---------+--------+
3 rows in set (0.00 sec)
mysql> select employee.eid, employee.ename, Salary.salary from employee LEFT JOIN Salary ON employee.eid=Salary.eid;
+-----+---------+--------+
| eid | ename | salary |
+-----+---------+--------+
| 1 | sampath | NULL |
| 2 | maclean | 5000 |
| 3 | sudheer | 70000 |
| 3 | sudheer | 70000 |
+-----+---------+--------+
4 rows in set (0.00 sec)
mysql> select employee.eid, employee.ename, Salary.salary from employee RIGHT JOIN Salary ON employee.eid=Salary.eid;
+------+---------+--------+
| eid | ename | salary |
+------+---------+--------+
| 2 | maclean | 5000 |
| 3 | sudheer | 70000 |
| 3 | sudheer | 70000 |
+------+---------+--------+
3 rows in set (0.00 sec)
的MySQL>選擇employee.eid,employee.ename,Salary.salary從僱員FULL JOIN薪水employee.eid = Salary.eid; ERROR 1054(42S22):在 '字段列表' 的mysql>
更新未知列 'employee.eid':以下是左派的結果加入聯盟右鍵加入
mysql> SELECT * FROM employee e
-> LEFT JOIN Salary s ON e.eid = s.eid
-> UNION
-> SELECT * FROM employee e
-> RIGHT JOIN Salary s ON e.eid = s.eid;
+------+---------+------+--------+------+
| eid | ename | sid | salary | eid |
+------+---------+------+--------+------+
| 1 | Rai | NULL | NULL | NULL |
| 2 | pinto | 1001 | 50000 | 2 |
| 3 | sudheer | 1002 | 70000 | 3 |
| 3 | sudheer | 1003 | 70000 | 3 |
+------+---------+------+--------+------+
4 rows in set (0.00 sec)
MySQL不支持全外連接。 – 2015-02-07 07:12:50
[MySQL中的完全外連接]的可能重複(http://stackoverflow.com/questions/4796872/full-outer-join-in-mysql) – 2015-02-07 07:13:21