[前][次][番号順一覧][スレッド一覧]

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]