MW211 EXIT

devlog
PostgreSQL/表結合のUSING句
2013年06月24日
┌──────────────────────────────────────┐
│SELECT 列                                                                   │
│    FROM 表1                                                                │
│        LEFT JOIN 表2                                                       │
│          ON 表2.キー = 表1.キー                                            │
└──────────────────────────────────────┘
こんな場合…
┌──────────────────────────────────────┐
│SELECT 列                                                                   │
│    FROM 表1                                                                │
│        LEFT JOIN 表2                                                       │
│          USING (キー);                                                     │
└──────────────────────────────────────┘
こんな風に書ける。

列名が同じなら、USING句が使える(括弧も忘れずに)。

ちなみにこんな風に…
┌──────────────────────────────────────┐
│SELECT 列                                                                   │
│    FROM 表1                                                                │
│        LEFT JOIN 表2                                                       │
│          USING (キー1, キー2);                                             │
└──────────────────────────────────────┘
複数指定も可能。

これは、以下相当となる。
┌──────────────────────────────────────┐
│SELECT 列                                                                   │
│    FROM 表1                                                                │
│        LEFT JOIN 表2                                                       │
│          ON  表2.キー1 = 表1.キー1                                         │
│          AND 表2.キー2 = 表1.キー2;                                        │
└──────────────────────────────────────┘
条件が「AND」なのか「OR」なのか一瞬悩んでしまうが
「OR」で結合してもほとんど意味をなさないので(かなり無秩序な結果)、
おのずと「AND」相当だということがわかる(わかってくる)。
分類:PostgreSQL