mysql:7448
From: <enim2@xxxxxxxxxx>
Date: Thu, 10 Apr 2003 15:30:10 +0900
Subject: [mysql 07448] Re: JOIN を含む SQL 文(長文すみません)
Enimです。 近藤さん---------------------------------------------- > また、ON と WHERE の使い分けがいまいち分かりません。 > LEFT JOIN の条件式の場合のみ WHERE ではなく ON を > 使用すると言う捕らえ方でよろしいのでしょうか。 ------------------------------------------------------ 外部結合のときにONとWHEREで結果が変わってきます。 たとえば売上明細テーブルと商品テーブルがあるとします. 商品テーブルの対象外区分=1の場合は商品名を表示したくない といった場合に… 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]