0

外部結合を使用してクエリを実行しようとしています。以前は常にOraclePl/ SQLを使用していましたが、現在はMySQLを学習しようとしています。USERS、USER_TYPE、GRADEの3つのテーブルを結合しようとしています。USERSテーブルには、USER_TYPEの外部キーであるUSER_TYPE_ID列が含まれ、GRADEの外部キーであるGRADE_ID列も含まれています。ユーザータイプは学生、教職員などである可能性があり、教職員の場合、USERには成績がないため、USERテーブルのGRADE_IDがNULLになるため、外部結合が必要です。これは、外部結合に(+)を使用した過去のクエリの外観です。

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クエリに変換するのを手伝ってくれませんか?

前もって感謝します!

4

2 に答える 2

1
SELECT u.user_name, u.user_type_id, ut.user_type_desc, u.grade_id, g.grade_desc
FROM users u JOIN user_type ut ON (ut.user_type_id = u.user_type_id)
LEFT JOIN grade g ON (u.grade_id = g.grade_id);
于 2012-07-19T01:22:27.117 に答える
0
SELECT u.user_name, u.user_type_id, ut.user_type_desc, u.grade_id, g.grade_desc
FROM users u, user_type ut
LEFT OUTER JOIN grade g ON u.grade_id = g.grade_id
WHERE ut.user_type_id = u.user_type_id
于 2013-09-05T03:53:55.887 に答える