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

mysql:14614

From: nobu <nobu <mininobu@xxxxxxxxxx>>
Date: Wed, 30 Jul 2008 12:57:20 +0900
Subject: [mysql 14614] Re: 2段階以上の外部結合のやり方

近藤(nobu)です。

わたなべさん、ご回答ありがとうございます。
ご提示いただいた「単純に次のように・・・」の内容で期待通りの結果を得ることが
できました。Oracleの(+)で慣れてしまったために、MySQLのやり方には若干
違和感がありますが・・・。MySQLの結合条件の書き方は基底テーブルにぶら下
げるような書き方をするんですね。

>結合条件はFROM句にまとめてしまって、

私も混在は気持ち悪いなーと思ってました。FROM句一本でまとめる方向に
したいと思います。

> ※Oracleどっぷりの人とよくぶつかりますけど、(+)は嫌い・・・

結合"条件"なのでWHERE句で宣言できるべきだ!ということなんでしょうか。
このような基本的な作法がDBによって異なるというのもちょっと考えものです
よね。個人的には、"JOIN句"というように結合条件を明示的に記述する句が
あってもいいのになーと思いました。

以上、ありがとうございました。


2008/07/30 12:44 Shuji Watanabe <shuji.w6e@xxxxxxxxxx>:
> わたなべです。
>
> 単純に次のように外部結合するのではマズイんでしょうか?
> FROM
>   recipe_header rh1
>   left outer join category cg
>   on (
>     rh1.category = cg.id
>   )
>   left outer join recipe_material rm
>   on (
>     rh1.id = rm.id
>   )
>   left outer join unit ut
>   on (
>     rm.unit_id = ut.id
>   )
>
> ちなみに最初のSQLですけど、
> FROM
>   recipe_header rh1
>   left outer join category cg on (rh1.category = cg.id)
>   left outer join recipe_material rm on (rh1.id = rm.id)
>   inner join  unit ut on (rm.unit_id = ut.id)
> というように、結合条件はFROM句にまとめてしまって、
> WHERE句に結合条件的な抽出条件は混ぜない方がいいと思います。
> ※Oracleどっぷりの人とよくぶつかりますけど、(+)は嫌い・・・
>
>

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

     14608 2008-07-30 11:30 [nobu <mininobu@xxxxx] 2段階以上の外部結合のやり方             
     14609 2008-07-30 11:44 ┗[岡本 基 <okamoto@xx]                                       
     14610 2008-07-30 11:53  ┗[IIDA Yosiaki <y-iida]                                     
     14611 2008-07-30 11:59   ┣[岡本 基 <okamoto@xx]                                   
     14612 2008-07-30 12:02   ┗[nobu <mininobu@xxxxx]                                   
     14613 2008-07-30 12:44    ┗["Shuji Watanabe" <sh]                                 
->   14614 2008-07-30 12:57     ┗[nobu <mininobu@xxxxx]                               
     14615 2008-07-30 13:51      ┗[IIDA Yosiaki <y-iida]                             
     14616 2008-07-30 14:30       ┗["Shuji Watanabe" <sh]                           
     14617 2008-07-30 14:51        ┣[nobu <mininobu@xxxxx]                         
     14618 2008-07-30 14:58        ┃┗[岡本 基 <okamoto@xx]                       
     14619 2008-07-30 17:19        ┗[chuuken kenkou <ken_]