123456789101112131415161718192021222324252627 |
- /* postgres can not */
- USE plato;
- $r4_20 = (SELECT optkey FROM Input WHERE optkey BETWEEN 4 AND 20);
- $r6_20 = (SELECT key FROM Input WHERE optkey BETWEEN 6 AND 20);
- $r8_20 = (SELECT key FROM Input WHERE optkey BETWEEN 8 AND 20);
- $r10_20 = (SELECT optkey FROM Input WHERE optkey BETWEEN 10 AND 20);
- $r1_16 = (SELECT optkey FROM Input WHERE optkey BETWEEN 1 AND 16);
- $r1_12 = (SELECT key FROM Input WHERE optkey BETWEEN 1 AND 12);
- SELECT key FROM Input WHERE
- (key + 1) IN $r4_20 AND -- key = [3, 19] -- 2 joinable
- optkey IN $r6_20 AND -- key = [6, 19]
- key IN /*+ COMPACT() */ $r8_20 AND -- key = [8, 19] -- 1 nonjoinable (due to COMPACT)
- (optkey + 3) IN $r10_20 AND -- key = [8, 17] -- 3 joinable
- (key + 4) NOT IN $r1_12 AND -- key = [9, 17]
- key IN $r10_20 AND -- key = [10, 17]
- (optkey IN $r1_16 OR key IN $r1_16) AND -- key = [10, 16] -- 1 nonjoinable (not SqlIn)
- (key - 1) IN $r1_12 AND -- key = [10, 13] -- 2 joinable
- (key - 3) NOT IN $r8_20 -- key = [10]
|