WITH句を使うと副問合せの定義に名前をつけて使用できます。
副問合せをつかったSQLはごちゃごちゃしがちですが、スッキリさせることができます。
サンプル
例)PRICEが100以上のM_ITEMへの副問合せをWITH句で外出しする
1 2 3 4 |
WITH m AS (SELECT * FROM m_item WHERE price >= 100) SELECT * FROM t_sale LEFT JOIN m_item ON t_sale.cd = m.cd |
m_itemとWITHに指定した副問合せmを結合しています。
解説
- WITH句の事を、共通テーブル式と呼ぶこともあります。
- WITH句は標準のSQLでも定義されている書式なので、オラクル以外のDBでも基本的に使用できます。
- WITH句の箇所に副問合せの内容を記述して、以降のSQL文ではWITH句に指定した名称でアクセスできます。
- 同じ条件の副問合せを複数結合する場合など便利です。