我正在尝试使用外部联接进行查询,并且过去我一直使用Oracle Pl/SQL,但现在正在尝试学习MySQL。我试图加入3个表格,USERS,USER_TYPE和GRADE。 USERS表包含列USER_TYPE_ID,它是USER_TYPE的外键,还包含列GRADE_ID,它是GRADE的外键。我需要外部连接,因为用户类型可能是学生,教师等,如果它是教员,那么USER没有等级,因此USER表中的NULL GRADE_ID。以下是我的查询在过去使用(+)外连接的样子。MySQL将Oracle Pl/SQL(+)转换为MySQL
SELECT A.USER_NAME
, A.USER_TYPE_ID
, B.USER_TYPE_DESC
, A.GRADE_ID
, C.GRADE_DESC
FROM USERS A
, USER_TYPE B
, GRADE C
WHERE A.USER_TYPE_ID = B.USER_TYPE_ID
AND A.GRADE_ID = C.GRADE_ID (+);
有人能帮我把这个翻译成MySQL查询吗?
在此先感谢!
感谢您的输入RC,但该查询仍然只抓住有一个等级(学生)的用户,并抛出了所有的教师和管理人员,因为他们根本不在一个档次,并为此他们GRADE_ID是空值。我需要查询来获取所有用户,即使他们没有GRADE_ID。 – Ryan 2012-07-19 01:27:55
哦....对不起,我误解了你的问题。对不起...我会更新 – 2012-07-19 02:02:09
非常感谢RC,工作就像一个魅力。这将是我继续使用MySQL时未来参考的一个很好的例子。 – Ryan 2012-07-19 02:14:15