佐藤です。フリーランスになって10ヶ月が経ちました。
今月はSQL備忘録の続きとして結合について。
結合(JOIN句)
・等価結合
結合条件として、等価演算子 (=) を用いる結合。
結合するカラムにnull値が存在しない場合に用いる。
SELECT [カラム名1] (, [カラム名2])
FROM [テーブル名A]
[INNER] JOIN [テーブル名B] ON [テーブル名A].[共通カラム名] = [テーブル名B].[共通カラム名]
・非等価結合
結合条件として、等価演算子を用いない場合の結合。
例としては、>, <, <>(不一致), BETWEEN などがある。
SELECT [カラム名1] (, [カラム名2])
FROM [テーブル名A]
[INNER] JOIN [テーブル名B] ON [テーブル名A].[共通カラム名] <> [テーブル名B].[共通カラム名]
・外部結合
一方、あるいは双方の値にnull値を含む場合に用いられる。
全ての行を抽出したい側にその方向を記述する。
例えば、左の表が完全《null値が存在しない》ならば、LEFT、その逆ならばRIGHT、双方にnull値が存在する場合はFULL。
SELECT [カラム名1] (, [カラム名2])
FROM [テーブル名A]
LEFT [OUTER] JOIN [テーブル名B] ON [テーブル名A].[共通カラム名] <> [テーブル名B].[共通カラム名]