0

私は2つのテーブルを持っています。簡単にするために、「u」には次の列があります
userid
divisionid

「d」には次のものがあり
ます

私はこのテーブルを作成しませんでした。そうでなければ、この問題は発生しませんでした。u.DIVISIONNULL にすることができます。d.DIVISIONはできません

以下を実行すると、適切なデータが作成されますが、その部門 ID が NULL であるすべてのユーザー ID も除外されます。部門IDに関係なくすべてのユーザーIDを表示し、部門IDがnullでない場合は、部門の名前を表示する方法はありますか?

"SELECT userid, d.NAME
FROM u,d
WHERE u.divisionid = d.divisionid
ORDER BY userid"

4

2 に答える 2

1

外部結合を使用します。

SELECT userid, d.NAME
FROM u
LEFT OUTER JOIN division d
ON u.divisionid = d.divisionid
ORDER BY userid
于 2010-05-20T16:32:18.313 に答える
-1

Oracleまたは暗黙の結合構文を使用することは、を意味しINNER JOINます。内部結合は、基準を満たさないレコードを削除します。

JOIN句を使用した明示的な結合により、結合のタイプを指定できます。

ALEFT OUTER JOINは、2番目のテーブルに一致する行があるかどうかに関係なく、最初のテーブルのすべての行を保持します。

SELECT userid, d.NAME
FROM u
LEFT OUTER JOIN division d
ON d.divisionid = u.divisionid
ORDER BY userid
于 2010-05-20T16:42:18.337 に答える