mysql:7470
From: "Kondo Tatsuya" <"Kondo Tatsuya" <konet@xxxxxxxxxx>>
Date: Fri, 11 Apr 2003 03:27:19 +0900
Subject: [mysql 07470] Re: JOIN を含む SQL 文(長文すみません)
近藤です。 > たとえば売上明細テーブルと商品テーブルがあるとします. > 商品テーブルの対象外区分=1の場合は商品名を表示したくない > といった場合に… (以下省略) この説明を聞いてカンマ区切りとの違いが分かりました。 詳しく解説して頂きありがとうございます。 また、JOINは結構活躍する場があると思いました。 # ソース修正しようかな^^; ついでにもうちょっとお付き合い下さい。 私は5個のテーブルに対してリレーションを張ってるのですが、 JOINでは基本文法では2つしか指定出来ませんよね?3つ 以上のテーブルを指定する場合は、私なりに括弧を付けて SQL文を作るとは理解出来るのですが、書き方がいまいち 分かりません。 グーグルで探しても括弧なしの文法しか見当たらなく求めてる 情報に行けないでいます。また、[mysql 07435]の「ACCESSで 自動生成したSQL」と言っているSQL文を読んでも理解出来ません。 # 勉強しなさい!と言われればそれまでなのですが・・・。 どなたか教えて下さいm(__)m 出来ればEnimさんの様にサンプルも交えて解説して頂けると 助かります。 よろしくお願い致します。 > > FROM 売上明細 U > LEFT JOIN 商品 S > ON U.商品コード=S.商品コード > AND S.対象外区分<>1 > > と書くと対象外区分=1の商品コードを使用していても > 売上明細のレコードを取得しますが、 > > FROM 売上明細 U > LEFT JOIN 商品 S > ON U.商品コード=S.商品コード > WHERE S.対象外区分<>1 > > と書くと対象外区分=1の商品コードを使用している > 売上明細はレコードを取得しません。 > > 内部結合は結果は変わりませんが > 根来さんの言うように処理する順番が違うので > 条件によってはレスポンスに影響するかもしれません。 > > ------------------------------------------------------- > Name: Enim > Home(PC): http://game6.ncs.gr.jp/~enim/ > Home(i): http://game6.ncs.gr.jp/~enim/i/ > Mail: enim2@xxxxxxxxxx > ------------------------------------------------------- >
7435 2003-04-10 02:23 [tamura <zai91210@xxx] JOIN を含む SQL 文(長文すみません) 7436 2003-04-10 03:02 ┣["Kondo Tatsuya" <kon] 7440 2003-04-10 13:33 ┃┗[tamura <zai91210@xxx] 7441 2003-04-10 13:42 ┃ ┗[Koji KUSANAGI <kusan] Off-topic (was: Re: JOIN を含む SQL 文) 7437 2003-04-10 05:27 ┣[Shinya Kawaji <kawaj] 7444 2003-04-10 15:00 ┃┗["Kondo Tatsuya" <kon] 7445 2003-04-10 15:15 ┃ ┣[Michiaki Negoro <m-n] 7448 2003-04-10 15:30 ┃ ┗[<enim2@xxxxxxxxxx> ] -> 7470 2003-04-11 03:27 ┃ ┗["Kondo Tatsuya" <kon] 7471 2003-04-11 03:49 ┃ ┣[Tomohiro 'Tomo-p' KA] 7472 2003-04-11 04:10 ┃ ┗[Shinya Kawaji <kawaj] 7474 2003-04-11 14:45 ┃ ┗["Kondo Tatsuya" <kon] 7475 2003-04-11 18:27 ┃ ┗[<enim2@xxxxxxxxxx> ] 7478 2003-04-12 02:36 ┃ ┗["Kondo Tatsuya" <kon] 7438 2003-04-10 11:14 ┗[UNO Shintaro <uno@xx]