PostgreSQLでカラムを結合する
ID等で紐づけできる2つのテーブルのカラムを,PostgreSQLで結合する方法について扱います.
目次
両方揃ったデータについて結合する(INNER JOIN)
結合しようとするテーブルで,いずれのテーブルでもそれらのデータに欠損した部分がないものを抽出することができます(内部結合).
次は,Table1
とTable2
のそれぞれに含まれるid
というカラムにより2つのテーブルを紐付け,「id
カラム」・「Table1
のcol1
カラム」・「Table2
のcol2
カラム」の3カラムを抽出する内部結合の例です.
SELECT T1.id, T1.col1, T2.col2 |
一方をマスタとして結合する(OUTER JOIN)
FROM
句で左側にくる始めのテーブルをマスタとして,右側のテーブルに欠損値があったとしても結合しようとするなら,
SELECT T1.id, T1.col1, T2.col2 |
とします(外部結合).
この場合,左側のテーブルのデータは元の通り入りますが,右側のテーブルからは確認できないデータについてNULL
が入ります.
直積はCROSS JOIN
で得られます.
参考文献
SQLの方言に配慮しつつ,リレーショナルデータベースの操作を一から説明している入門書です.
- ミック (2016)「SQL」第2版,翔泳社.