[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

[PostgreSQL] よく使う基本コマンド

PostgreSQLでpsqlのコマンド入力をする場合の一般的SQL以外のコマンドを列挙します。

記事を読む

no image

[PostgreSQL] csvでSQL結果を出力する方法(psqlコマンド)

SQLエディタ、接続ツールなどを使うと簡単に行える CSVファイルでの出力 について、コ

記事を読む

no image

[SQLServer] SQLServerでSplitを実装!

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

記事を読む

no image

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

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

記事を読む

no image

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

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

記事を読む

no image

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

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

記事を読む

no image

[SQL] case when文

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

記事を読む

no image

[SQL] primary keyの追加・削除

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

記事を読む

no image

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

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

記事を読む

no image

[PostgreSQL][SQL] 日付関連

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

記事を読む

スポンサードリンク

Message

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

スポンサードリンク

no image
[python] 日付の取り扱い(datetime) 現在日付、計算、文字列変換(format)

現在日付 日付の計算 [crayon-59c4c180160f

no image
[python] 文字列結合

pythonでの文字列結合 サンプル

no image
[python] 配列の扱い方

pythonでの配列の扱い方 python 配列の作成

no image
[python] ファイルの読み込み

pythonでのファイルの読み込み方法 基本サンプル

no image
[PHP] 文字列の置換(str_replace)

文字列中の特定文字列を置換する方法 str_replace サ

→もっと見る

  • 2017年9月
    « 8月    
     123
    45678910
    11121314151617
    18192021222324
    252627282930  
  • 2017年9月
    « 8月    
     123
    45678910
    11121314151617
    18192021222324
    252627282930