SlideShare uma empresa Scribd logo
1 de 8
1	
Copyright (c) 株式会社HEART QUAKE. All rights reserved .	
複数のテーブルからの
データ取得
2	
Copyright (c) 株式会社HEART QUAKE. All rights reserved .	
テーブル構造
consumer_id
顧客ID
name
名前
email
メールアドレス
tel
電話番号
address
住所
1 千葉葉順 chiba@hea 0801292XX 東京都世⽥田
2 室⾕谷次郎郎 muroya@h 044542XX 神奈奈川県川
deal_id
取引ID
consumer_id
顧客ID
product_id
商品ID
count
個数
delivery_flg
配送フラグ
1 1 4 10 0
2 2 3 2 1
3 2 4 1 0
product_id
商品ID
product_name
商品名
price
単価
3 バスタオル 4,200
4 フェイスタオル 1,050
連番
連番
連番
0 = 未配送
1 = 配送済み
同じ意味の値
同じ意味の値
consumer_tbl (顧客テーブル)
deal_tbl (取引テーブル)
product_tbl (商品テーブル)
3	
Copyright (c) 株式会社HEART QUAKE. All rights reserved .	
複数テーブルからのレコードの抽出  (1/6)
l  ⾃自分が購⼊入をした
全ての製品の製品名を知りたいという場合
l  このSQLでは  ⾃自分が申込みした製品のproduct_idは取得でき
るが、製品名は取得できない。
-  製品名はproduct_tblで管理理されているため
product_id product_name price
1 XXX 3000
2 YYY 7000
product_tbl	
deal_id consumer_id product_id
1 1 2
3 2 3
deal_tbl	
SELECT  product_̲id  FROM  deal_̲tbl
WHERE  consumer_̲id  =  1;
ケーススタディ
4	
Copyright (c) 株式会社HEART QUAKE. All rights reserved .	
複数テーブルからのレコードの抽出  (2/6)
l  複数のテーブルからレコードの抽出する
SELECT  product_̲tbl.product_̲name  FROM  deal_̲tbl,  product_̲tbl
WHERE  deal_̲tbl.product_̲id  =  product_̲tbl.product_̲id
AND  deal_̲tbl.consumer_̲id  =  1;  
どこから
どんな条件で
抽出する
どこで連結するか
同じ製品を表す
product_id product_name price
1 XXX 3000
2 YYY 7000
product_tbl	
 deal_tbl	
deal_id consumer_id product_id
1 1 2
3 2 3
5	
Copyright (c) 株式会社HEART QUAKE. All rights reserved .	
複数テーブルからのレコードの抽出  (3/6)
1.  複数のテーブル(Excelでいうところのシート)にまたがって記録され
ているデータを
deal_̲tblのproduct_̲idとproduct_̲tblのproduct_̲idは、同じ製品を表しています。
SELECT  product_̲tbl.product_̲name  FROM  deal_̲tbl,  product_̲tbl
WHERE  deal_̲tbl.product_̲id  =  product_̲tbl.product_̲id
AND  deal_̲tbl.consumer_̲id  =  1;  
product_id product_name price
1 XXX 3000
2 YYY 7000
product_tbl	
deal_id consumer_id product_id
1 1 2
3 2 3
deal_tbl
6	
Copyright (c) 株式会社HEART QUAKE. All rights reserved .	
複数テーブルからのレコードの抽出  (4/6)
2.  ひとつのレコードを⽰示す列列を連結点にしてて合体させ、
ひとつのテーブルのようになりました。
deal_tbl.
deal_id
deal_tbl.
consumer_id
deal_tbl.
product_id
product_tbl.
product_id
product_tbl.
product_name
product_tbl.
price
1 1 2 2 YYY 7000
3 2 3 3 ZZZ 1000
deal_tbl + product_tbl	
SELECT  product_̲tbl.product_̲name  FROM  deal_̲tbl,  product_̲tbl
WHERE  deal_̲tbl.product_̲id  =  product_̲tbl.product_̲id
AND  deal_̲tbl.consumer_̲id  =  1;  
7	
Copyright (c) 株式会社HEART QUAKE. All rights reserved .	
複数テーブルからのレコードの抽出  (5/6)
3.  条件句句を追加して、⽬目的のレコードを抽出する
SELECT  product_̲tbl.product_̲name  FROM  deal_̲tbl,  product_̲tbl
WHERE  deal_̲tbl.product_̲id  =  product_̲tbl.product_̲id
AND  deal_̲tbl.consumer_̲id  =  1;  
deal_tbl.
deal_id
deal_tbl.
consumer_id
deal_tbl.
product_id
product_tbl.
product_id
product_tbl.
product_name
product_tbl.
price
1 1 2 2 YYY 7000
3 2 3 3 ZZZ 1000
deal_tbl + product_tbl
8	
Copyright (c) 株式会社HEART QUAKE. All rights reserved .	
SELECT  product_̲tbl.product_̲name  FROM  deal_̲tbl,  product_̲tbl
WHERE  deal_̲tbl.product_̲id  =  product_̲tbl.product_̲id
AND  deal_̲tbl.consumer_̲id  =  1;  
複数テーブルからのレコードの抽出  (6/6)
l  複数のテーブルにまたがったデータの抽出を⾏行行う場合の注意
-  列列を指定する際には、
「なんのテーブルの」(ドット)「なんの列列」と指定する
product_̲tbl「の」product_̲iddeal_̲tbl「の」product_̲id

Mais conteúdo relacionado

Destaque (20)

Img select hint_for_h
Img select hint_for_hImg select hint_for_h
Img select hint_for_h
 
Api twitter2
Api twitter2Api twitter2
Api twitter2
 
Youtube embedded
Youtube embeddedYoutube embedded
Youtube embedded
 
D
DD
D
 
System1 ajax
System1 ajaxSystem1 ajax
System1 ajax
 
Ppt pune partand_parcel
Ppt pune partand_parcelPpt pune partand_parcel
Ppt pune partand_parcel
 
Shindan
ShindanShindan
Shindan
 
System4 detail
System4 detailSystem4 detail
System4 detail
 
HEART QUAKEインターン
HEART QUAKEインターンHEART QUAKEインターン
HEART QUAKEインターン
 
Bootstrap
BootstrapBootstrap
Bootstrap
 
ゼロプロ3周年
ゼロプロ3周年ゼロプロ3周年
ゼロプロ3周年
 
Reservation
ReservationReservation
Reservation
 
System2 for h
System2 for hSystem2 for h
System2 for h
 
Reservation2
Reservation2Reservation2
Reservation2
 
Geolocation system
Geolocation systemGeolocation system
Geolocation system
 
Menu
MenuMenu
Menu
 
Php1
Php1Php1
Php1
 
System1 for h
System1 for hSystem1 for h
System1 for h
 
System1
System1System1
System1
 
Library login3
Library login3Library login3
Library login3
 

Mais de Jun Chiba

Mais de Jun Chiba (20)

セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』
セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』
セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』
 
答えのないコンセンサスゲーム「無人島での出来事」運営用パワーポイントスライド説明資料
答えのないコンセンサスゲーム「無人島での出来事」運営用パワーポイントスライド説明資料答えのないコンセンサスゲーム「無人島での出来事」運営用パワーポイントスライド説明資料
答えのないコンセンサスゲーム「無人島での出来事」運営用パワーポイントスライド説明資料
 
合意形成(コンセンサス)ゲーム「月での遭難 in 2025」(NASAゲーム2025)
合意形成(コンセンサス)ゲーム「月での遭難 in 2025」(NASAゲーム2025)合意形成(コンセンサス)ゲーム「月での遭難 in 2025」(NASAゲーム2025)
合意形成(コンセンサス)ゲーム「月での遭難 in 2025」(NASAゲーム2025)
 
システム思考、全体最適、SCMを体験から学ぶボードゲーム「ビールゲーム」概要説明資料
システム思考、全体最適、SCMを体験から学ぶボードゲーム「ビールゲーム」概要説明資料システム思考、全体最適、SCMを体験から学ぶボードゲーム「ビールゲーム」概要説明資料
システム思考、全体最適、SCMを体験から学ぶボードゲーム「ビールゲーム」概要説明資料
 
財務・会計を楽しく学ぶビジネスゲーム型財務・会計研修「財務の虎Lv.1」の概要説明資料
財務・会計を楽しく学ぶビジネスゲーム型財務・会計研修「財務の虎Lv.1」の概要説明資料財務・会計を楽しく学ぶビジネスゲーム型財務・会計研修「財務の虎Lv.1」の概要説明資料
財務・会計を楽しく学ぶビジネスゲーム型財務・会計研修「財務の虎Lv.1」の概要説明資料
 
プロジェクトマネジメントを疑似体験するボードゲーム型企業研修「プロジェクトテーマパーク」
プロジェクトマネジメントを疑似体験するボードゲーム型企業研修「プロジェクトテーマパーク」プロジェクトマネジメントを疑似体験するボードゲーム型企業研修「プロジェクトテーマパーク」
プロジェクトマネジメントを疑似体験するボードゲーム型企業研修「プロジェクトテーマパーク」
 
バルーンバ人文化を探れ!パワーポイント・動画マニュアル販売用のスライドシェア資料
バルーンバ人文化を探れ!パワーポイント・動画マニュアル販売用のスライドシェア資料バルーンバ人文化を探れ!パワーポイント・動画マニュアル販売用のスライドシェア資料
バルーンバ人文化を探れ!パワーポイント・動画マニュアル販売用のスライドシェア資料
 
内定者/新入社員向け ビジネスライティング研修用パワーポイントスライド販売用サンプル
内定者/新入社員向け ビジネスライティング研修用パワーポイントスライド販売用サンプル内定者/新入社員向け ビジネスライティング研修用パワーポイントスライド販売用サンプル
内定者/新入社員向け ビジネスライティング研修用パワーポイントスライド販売用サンプル
 
図形伝達ゲーム「グラコミ」
図形伝達ゲーム「グラコミ」図形伝達ゲーム「グラコミ」
図形伝達ゲーム「グラコミ」
 
傾聴力を高めるビジネスゲーム「傾聴チャレンジ」
傾聴力を高めるビジネスゲーム「傾聴チャレンジ」傾聴力を高めるビジネスゲーム「傾聴チャレンジ」
傾聴力を高めるビジネスゲーム「傾聴チャレンジ」
 
無料アイスブレイクスライドサンプル
無料アイスブレイクスライドサンプル無料アイスブレイクスライドサンプル
無料アイスブレイクスライドサンプル
 
ストレスマネジメント体験ゲーム「ストマネ」
ストレスマネジメント体験ゲーム「ストマネ」ストレスマネジメント体験ゲーム「ストマネ」
ストレスマネジメント体験ゲーム「ストマネ」
 
ベストチームオンライン説明スライド
ベストチームオンライン説明スライドベストチームオンライン説明スライド
ベストチームオンライン説明スライド
 
死の疑似体験ワーク 対面版
死の疑似体験ワーク 対面版死の疑似体験ワーク 対面版
死の疑似体験ワーク 対面版
 
地図作成ゲーム「ジグソータウン」説明資料
地図作成ゲーム「ジグソータウン」説明資料地図作成ゲーム「ジグソータウン」説明資料
地図作成ゲーム「ジグソータウン」説明資料
 
プロジェクトテーマパーク説明資料
プロジェクトテーマパーク説明資料プロジェクトテーマパーク説明資料
プロジェクトテーマパーク説明資料
 
死の疑似体験ワーク(対面版)説明資料
死の疑似体験ワーク(対面版)説明資料死の疑似体験ワーク(対面版)説明資料
死の疑似体験ワーク(対面版)説明資料
 
ヘリウムリング&フープリレー
ヘリウムリング&フープリレーヘリウムリング&フープリレー
ヘリウムリング&フープリレー
 
世界記録を目指すマシュマロチャレンジ
世界記録を目指すマシュマロチャレンジ世界記録を目指すマシュマロチャレンジ
世界記録を目指すマシュマロチャレンジ
 
相互理解ワークショップ、内定者懇親会で使えるワークスタイルトランプ
相互理解ワークショップ、内定者懇親会で使えるワークスタイルトランプ相互理解ワークショップ、内定者懇親会で使えるワークスタイルトランプ
相互理解ワークショップ、内定者懇親会で使えるワークスタイルトランプ
 

Multi table select

  • 1. 1 Copyright (c) 株式会社HEART QUAKE. All rights reserved . 複数のテーブルからの データ取得
  • 2. 2 Copyright (c) 株式会社HEART QUAKE. All rights reserved . テーブル構造 consumer_id 顧客ID name 名前 email メールアドレス tel 電話番号 address 住所 1 千葉葉順 chiba@hea 0801292XX 東京都世⽥田 2 室⾕谷次郎郎 muroya@h 044542XX 神奈奈川県川 deal_id 取引ID consumer_id 顧客ID product_id 商品ID count 個数 delivery_flg 配送フラグ 1 1 4 10 0 2 2 3 2 1 3 2 4 1 0 product_id 商品ID product_name 商品名 price 単価 3 バスタオル 4,200 4 フェイスタオル 1,050 連番 連番 連番 0 = 未配送 1 = 配送済み 同じ意味の値 同じ意味の値 consumer_tbl (顧客テーブル) deal_tbl (取引テーブル) product_tbl (商品テーブル)
  • 3. 3 Copyright (c) 株式会社HEART QUAKE. All rights reserved . 複数テーブルからのレコードの抽出  (1/6) l  ⾃自分が購⼊入をした 全ての製品の製品名を知りたいという場合 l  このSQLでは  ⾃自分が申込みした製品のproduct_idは取得でき るが、製品名は取得できない。 -  製品名はproduct_tblで管理理されているため product_id product_name price 1 XXX 3000 2 YYY 7000 product_tbl deal_id consumer_id product_id 1 1 2 3 2 3 deal_tbl SELECT  product_̲id  FROM  deal_̲tbl WHERE  consumer_̲id  =  1; ケーススタディ
  • 4. 4 Copyright (c) 株式会社HEART QUAKE. All rights reserved . 複数テーブルからのレコードの抽出  (2/6) l  複数のテーブルからレコードの抽出する SELECT  product_̲tbl.product_̲name  FROM  deal_̲tbl,  product_̲tbl WHERE  deal_̲tbl.product_̲id  =  product_̲tbl.product_̲id AND  deal_̲tbl.consumer_̲id  =  1;   どこから どんな条件で 抽出する どこで連結するか 同じ製品を表す product_id product_name price 1 XXX 3000 2 YYY 7000 product_tbl deal_tbl deal_id consumer_id product_id 1 1 2 3 2 3
  • 5. 5 Copyright (c) 株式会社HEART QUAKE. All rights reserved . 複数テーブルからのレコードの抽出  (3/6) 1.  複数のテーブル(Excelでいうところのシート)にまたがって記録され ているデータを deal_̲tblのproduct_̲idとproduct_̲tblのproduct_̲idは、同じ製品を表しています。 SELECT  product_̲tbl.product_̲name  FROM  deal_̲tbl,  product_̲tbl WHERE  deal_̲tbl.product_̲id  =  product_̲tbl.product_̲id AND  deal_̲tbl.consumer_̲id  =  1;   product_id product_name price 1 XXX 3000 2 YYY 7000 product_tbl deal_id consumer_id product_id 1 1 2 3 2 3 deal_tbl
  • 6. 6 Copyright (c) 株式会社HEART QUAKE. All rights reserved . 複数テーブルからのレコードの抽出  (4/6) 2.  ひとつのレコードを⽰示す列列を連結点にしてて合体させ、 ひとつのテーブルのようになりました。 deal_tbl. deal_id deal_tbl. consumer_id deal_tbl. product_id product_tbl. product_id product_tbl. product_name product_tbl. price 1 1 2 2 YYY 7000 3 2 3 3 ZZZ 1000 deal_tbl + product_tbl SELECT  product_̲tbl.product_̲name  FROM  deal_̲tbl,  product_̲tbl WHERE  deal_̲tbl.product_̲id  =  product_̲tbl.product_̲id AND  deal_̲tbl.consumer_̲id  =  1;  
  • 7. 7 Copyright (c) 株式会社HEART QUAKE. All rights reserved . 複数テーブルからのレコードの抽出  (5/6) 3.  条件句句を追加して、⽬目的のレコードを抽出する SELECT  product_̲tbl.product_̲name  FROM  deal_̲tbl,  product_̲tbl WHERE  deal_̲tbl.product_̲id  =  product_̲tbl.product_̲id AND  deal_̲tbl.consumer_̲id  =  1;   deal_tbl. deal_id deal_tbl. consumer_id deal_tbl. product_id product_tbl. product_id product_tbl. product_name product_tbl. price 1 1 2 2 YYY 7000 3 2 3 3 ZZZ 1000 deal_tbl + product_tbl
  • 8. 8 Copyright (c) 株式会社HEART QUAKE. All rights reserved . SELECT  product_̲tbl.product_̲name  FROM  deal_̲tbl,  product_̲tbl WHERE  deal_̲tbl.product_̲id  =  product_̲tbl.product_̲id AND  deal_̲tbl.consumer_̲id  =  1;   複数テーブルからのレコードの抽出  (6/6) l  複数のテーブルにまたがったデータの抽出を⾏行行う場合の注意 -  列列を指定する際には、 「なんのテーブルの」(ドット)「なんの列列」と指定する product_̲tbl「の」product_̲iddeal_̲tbl「の」product_̲id