プロが教える店舗&オフィスのセキュリティ対策術

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を取得)

A 回答 (2件)

かっこは必要ないですよ。


そのまんま、結合した順だとおもえばOKです。
    • good
    • 0
この回答へのお礼

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

お礼日時:2010/06/04 00:30

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')

この回答への補足

回答有難うございます!

ちなみにですが、
最初に処理するのは、表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
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!