Can';t进程MySQL完全连接查询
我想Can';t进程MySQL完全连接查询,mysql,sql,database,Mysql,Sql,Database,我想完全连接以下两个表 表1:人员 P_Id Name 1 A 2 B 3 C 4 D 5 E 表2:发票 Id P_Id 111 3 112 3 113 1 114 1 115 15 我使
完全连接
以下两个表
表1:人员
P_Id Name
1 A
2 B
3 C
4 D
5 E
表2:发票
Id P_Id
111 3
112 3
113 1
114 1
115 15
我使用了这个查询:
SELECT Persons.Name, Persons.P_Id, Invoice.Id
FROM Persons
FULL JOIN Invoice
ON Persons.P_Id=Invoice.P_Id
ORDER BY Persons.Name
但这会产生一个错误
“字段列表”中的未知列“Persons.Name”
MySQL服务器版本是5.5.19,我在MicrosoftWindows7中使用了命令行客户端
内部联接、右联接和左联接对我有效,但我不能执行完全联接。有什么错误请告诉我我还是个学生。我如何在这里执行完全联接
谢谢大家! 为了在mysql中模拟
完全连接
,您需要UNION
两个表的右连接和左连接的结果
SELECT Persons.Name, Persons.P_Id, Invoice.Id
FROM Persons
LEFT JOIN Invoice
ON Persons.P_Id=Invoice.P_Id
UNION
SELECT Persons.Name, Persons.P_Id, Invoice.Id
FROM Invoice
LEFT JOIN Persons
ON Persons.P_Id=Invoice.P_Id
LEFT
join而不是LEFT和right join。请参见柱的互换<代码>:D