PHP SQL:2つのテーブル間で対応するデータを一致させ、1番目のテーブルでデータを除外せずに

StackOverflow https://stackoverflow.com/questions/2875835

  •  03-10-2019
  •  | 
  •  

質問

2つのテーブルがあります。単純化のために「u」には次の列があります
ユーザーID
divisionid

「D」には次のようなものがあります。
divisionid
名前

私はこのテーブルを作成しませんでした、さもなければこの問題はありません。 U.Division できる nullになります。 D.ディビジョン できません.

次のことを実行すると、適切なデータが作成されますが、除算に対してnullがあるすべてのユーザーIDを除外します。とにかく、師団に関係なく、すべてのユーザーIDを表示し、DivisionIDがnullでない場合は、部門の名前を表示しますか?

「userid、d.nameを選択します
uから、d
ここで、u.divisionid = d.divisionid
useridによる注文 "

役に立ちましたか?

解決

外側の結合を使用してください:

SELECT userid, d.NAME
FROM u
LEFT OUTER JOIN division d
ON u.divisionid = d.divisionid
ORDER BY userid

他のヒント

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

を使用して明示的な結合 JOIN 句を使用すると、結合のタイプを指定できます。

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

SELECT userid, d.NAME
FROM u
LEFT OUTER JOIN division d
ON d.divisionid = u.divisionid
ORDER BY userid
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top