[RDB][SQL] JOINについて

公開日: : DB, SQL , , ,

JOINについて説明します。

まず、以下の2つのテーブルがあります。
簡単なテーブルなので、定義は割愛です。

商品マスタと、売上明細というよくあるパターンです。

PostgreSQL_JOIN_01 PostgreSQL_JOIN_02

●内部結合(inner join)
内部結合は、2つのテーブルのうち、一致する行のみ抽出します。

(例)商品マスタと売上明細を「id」で内部結合するSQL

select
  *
from
  商品マスタ T1
inner join
  売上明細 T2
on
  T1.id = T2.id

●外部結合(outer join)
外部結合は、片方のテーブルにしか無いデータも表示します。

殆どの場合、left outer joinを使用することが多いので、左外部結合を例にあげます。
left outer joinの場合は、左側のテーブルは全量出力し、
右側のテーブルは、左側テーブルと結合できたものが表示されます。

(例)売上明細と商品マスタを「id」で左外部結合するSQL

select
  *
from
  商品マスタ T1
left outer join
  売上明細 T2
on
  T1.id = T2.id

最後に、実践的な活用として、以下の情報を抽出してみます。
「売上明細の商品毎の総売上を抽出する。」

select
  T1.id
  , T2.name
  , sum(T2.price)
from
  売上明細 T1
inner join
  商品マスタ T2
on
  T1.id = T2.id
group by
  T1.id
  , T2.name

スポンサードリンク

関連記事

no image

[SQL] 副問い合わせのin句に指定できるワードの数について

副問い合わせのin句に指定できるワードの数について ●Oracle 1000個が上限のようで

記事を読む

no image

[SQL] 割合を計算するときの定石(割られる数をCASTする)

なんとか率などの割合を計算するときのメモ。 割られるほうの数値を浮動小数点にCASTする 割られ

記事を読む

no image

[SQLServer] 当日0時や月初0時の取得方法

当日0時や月初0時の取得方法です。 当日0時 DATEADD関数の2番目の引数にDATEDI

記事を読む

no image

[SQL] case when文

select結果を条件で振り分けるSQL 通常はjoinとかwhere句で振り分けたりしますが

記事を読む

no image

[PostgreSQL][SQL] 日付関連

●interval tbl_Aから、tbl_Bの日付で7日前~現在に当てはまるレコードを抽出す

記事を読む

no image

[SQL][集計関数] 行数をカウントするcount関数の解説

count関数について説明します。 count関数は、グループ化した単位での件数をカウントしま

記事を読む

no image

[PostgreSQL][SQL] csvファイルのインポート

PostgreSQLでcsvファイルをインポートする際の方法を解説します。 例題として、以下の

記事を読む

no image

[SQLServer] 日付の加算・減算

SQLServerでの日付の加算・減算方法をまとめます。 現在時刻の取得方法 現在時刻は「GET

記事を読む

no image

[SQL] primary keyの追加・削除

テーブル作成後にprimary keyを付与する方法です。 ALTER TABLE テーブ

記事を読む

no image

[SQLServer] SQLServerでSplitを実装!

SQLServerでSplitを実装してみます。 最新のSQLServerには組み込み関数があ

記事を読む

スポンサードリンク

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

スポンサードリンク

no image
[git] Windowsへのインストール(Git for Windows)

概要 Windows環境にGitをインストールします。 インストー

no image
[Fluentd] WindowsにFluentdをインストールする

WindowsにFluentdをインストールしたときのメモ 参考にさ

no image
[Re:dash] BigQuery接続で日本語タイトルを出す(v2.0.0)

BigQueryは現在マルチバイトを含むSQLを発行することができない

no image
[Python] Nullの判定方法(None)

Nullの判定方法(None) 表記方法 Pythonでは、Nul

no image
[Python] 型の検査・判定

Pythonでの型の検査・判定方法 isinstance サン

→もっと見る

  • 2018年8月
    « 6月    
     12345
    6789101112
    13141516171819
    20212223242526
    2728293031  
  • 2018年8月
    « 6月    
     12345
    6789101112
    13141516171819
    20212223242526
    2728293031