MW211 EXIT

devlog
Oracle/部分一致結合
2017年07月23日
┌──────────────────────────────────────┐
│SELECT *                                                                    │
│    FROM "表1"                                                              │
│        INNER JOIN "表2"                                                    │
│          ON  "表2"."列" = "表1"."列"                                       │
└──────────────────────────────────────┘
上記だと完全一致したものしか結合できない。

例えば表1が「ABC」で表2が「ABC2」の場合も結合したい場合、
「'ABC2' LIKE 'ABC%'」的なことをしたい場合、
「CONCAT()」で「%」を結合させてあげれば実現できる。
(「CONCAT()」の代わりに「||」でもOK)
┌──────────────────────────────────────┐
│SELECT *                                                                    │
│    FROM "表1"                                                              │
│        INNER JOIN "表2"                                                    │
│          ON  "表2"."列" LIKE CONCAT("表1"."列", '%');                      │
├──────────────────────────────────────┤
│SELECT *                                                                    │
│    FROM "表1"                                                              │
│        INNER JOIN "表2"                                                    │
│          ON  "表2"."列" LIKE "表1"."列" || '%';                            │
└──────────────────────────────────────┘
分類:Oracle