- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- PostgreSQL/SQL/WITH句 へ行く。
- 1 (2011-12-26 (月) 18:24:33)
共通表式 WITH
前提
SELECT * FROM t1; id1 | id2 -----+----- 1 | 2 3 | 4 5 | 6 (3 rows)
SELECT * FROM t2; id ---- 1 3 (2 rows)
WITHを使わない
SELECT * FROM t1 WHERE id1 IN (SELECT id FROM t2 WHERE id > 1) OR id2 IN (SELECT id FROM t2 WHERE id > 1);
id1 | id2 -----+----- 1 | 2 3 | 4 (2 rows)
WITHを使う
WITH _t2 AS (SELECT id FROM t2 WHERE id > 1) SELECT * FROM t1 WHERE id1 IN (SELECT id FROM _t2) OR id2 IN (SELECT id FROM _t2);
id1 | id2 -----+----- 3 | 4 (1 row)