[pgsql-jp: 39398] Re: NOT NULL 同士の外部結合

Nobuyasu Jinnai (Aset ITM) Nobuyasu.Jinnai @ aset.co.jp
2008年 6月 4日 (水) 17:24:07 JST


下記、ありがとうございます。

具体例がイメージできなかったもので。

code IS NOT NULL とかですかね。

ありがとうございます。


From: ゆむ <qqqz9b69 @ green.ocn.ne.jp>
Subject: [pgsql-jp: 39397] Re: NOT NULL 同士の外部結合
Date: Wed, 04 Jun 2008 17:41:27 +0900

> 
> table_a
> 
>  a_id | code
> ------+------
>     1 | abc
>     2 | def
> 
> 
> table_b
> 
>  b_id | code
> ------+------
>     1 | aaa
>     2 | abc
> 
> という2つのテーブルで 
> SELECT table_a.a_id, table_a.code, table_b.b_id, table_b.code
>  FROM table_a LEFT OUTER JOIN table_b USING(code);
> とすると、結果は以下のようになりますけど。
> 
>  a_id | code |  b_id  |  code
> ------+------+--------+--------
>     1 | abc  |      2 | abc
>     2 | def  | (null) | (null)
> 
> 当然のことながら、table_bでcodeにNOT NULL制約が付いていようと、
> 結合する行が存在しなければnullにしかならないわけです。
> 
> そんな行は要らん!!って言うのであれば、INNER JOINを使えば良いわけで、
> LEFT OUTER JOINってのは、そんな行でも要る人向けのやり方です。
> 
> -- 
> ゆむ
> 
> ↓↓↓↓↓↓↓↓↓ Original Message ↓↓↓↓↓↓↓↓↓
> From:    Nobuyasu Jinnai (Aset ITM) <Nobuyasu.Jinnai @ aset.co.jp>
> To:      pgsql-jp @ ml.postgresql.jp
> Date:    Wed, 04 Jun 2008 15:16:55 +0900 (JST)
> Subject: [pgsql-jp: 39396] NOT NULL 同士の外部結合
> - - - - - - - - - - - - - - - - - - - - 
> > すみません。こんがらがっていますのでご助言頂きたく存じます。
> > 
> > 例えばテーブルA,B を LEFT OUTER JOIN したような場合、
> > 該当カラムの定義が NOT NULL であっても、NULL な集合が
> > 生まれることがあるのでしょうか?
> > また、あるとしたらどのような場合でしょうか?
> > 
> > #もう一度ちゃんと勉強すべきだとは思いますが、、、
> > 
> > よろしくお願いします。
> ↑↑↑↑↑↑↑↑ Original Message Ends↑↑↑↑↑↑↑↑
> 



pgsql-jp メーリングリストの案内