こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

JOINを使ったSQL文を作成しようとしています。

JOINを使ったSQL文を作成しようとしています。

以下の様な3つのテーブルがある場合のSQL文を教えて下さい
※勉強の為、適当なテーブルを作成しましたが、やりたい事は
 JOINの中に更にJOINさせたSQL文を作成したいと思ってます


表A
 USER_ID(プライマリキー)
 NAME

表B
 USER_ID(プライマリキー) ※表A.USER_IDと紐着く
 BUMON(プライマリキー)
 TERM(プライマリキー)

表C
 BUMON(プライマリキー) ※表B.BUMONと紐着く
 TERM(プライマリキー) ※表B.TERMと紐着く
 MEMBER

【取得したい項目】
 表A.USER_ID

【抽出条件】
 表CのMEMBERの値が'10','20'以外(である表AのNAMEを取得)

投稿日時 - 2010-06-03 22:59:45

QNo.5943063

困ってます

質問者が選んだベストアンサー

SELECT A.USER_ID,A.NAME FROM (表A A
INNER JOIN 表B B ON A.USER_ID=B.USER_ID)
INNER JOIN 表C C ON B.BUMON=C.BUMON AND B.TERM=C.TERM
WHERE C.MEMBER NOT IN ('10','20')

投稿日時 - 2010-06-03 23:26:17

補足

回答有難うございます!

ちなみにですが、
最初に処理するのは、表Aと表Bの結合の方でしょうか?
(表A A INNER JOIN 表B B ON A.USER_ID=B.USER_ID)

↑これによって抽出されたレコードに対して更に
INNER JOIN 表C C ON B.BUMON=C.BUMON AND B.TERM=C.TERM を行って
抽出されたレコードのうちMEMBERが'10','20'以外のレコードを抽出する

という解釈で合っています?

お時間があったら回答お願い致します。

投稿日時 - 2010-06-03 23:49:51

ANo.1

このQ&Aは役に立ちましたか?

21人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

かっこは必要ないですよ。
そのまんま、結合した順だとおもえばOKです。

投稿日時 - 2010-06-04 00:17:54

お礼

括弧は書かなくていいのですね、、
お返事有難うございます!

投稿日時 - 2010-06-04 00:30:36

あなたにオススメの質問