【发布时间】:2014-06-08 17:20:32
【问题描述】:
所以我正在玩一些连接查询,我注意到一些不寻常的行为,当我将查询从内部连接切换到外部连接,并保持其他所有内容相同时,我收到一个错误,下面是两个查询正在运行。
SELECT Staff.Fname AS "First Name", Staff.Lname AS "Second Name", Booking_ID
FROM Staff INNER JOIN Booking ON Staff.StaffID = Booking.StaffID;
然后当我切换它时,
SELECT Staff.Fname AS "First Name", Staff.Lname AS "Second Name", Booking_ID
FROM Staff OUTER JOIN Booking ON Staff.StaffID = Booking.StaffID;
我收到Error ORA-00904 Invalid identifier "Staff"."StaffID"。
我认为上面的查询应该返回所有已经预订的员工以及 bookingid,以及所有没有预订的员工。
有什么想法吗?
【问题讨论】:
-
如果切换回INNER JOIN,查询还能用吗?
-
您是否有理由为此数据需要外部联接?同时查看两个表的表结构可能会有所帮助
-
是的,当切换回 Joseph 时,查询仍然有效。
-
我想还有其他方法可以询问此查询,但我对为什么此特定查询无法使用 Marshall 感兴趣。
-
另外,为了清楚起见,您应该在 Booking_ID 前面放一张桌子
标签: oracle inner-join outer-join