0001
0002
0003 create temporary view t1 as select * from values
0004 ("one", 1),
0005 ("two", 2),
0006 ("three", 3),
0007 ("one", NULL)
0008 as t1(k, v);
0009
0010 create temporary view t2 as select * from values
0011 ("one", 1),
0012 ("two", 22),
0013 ("one", 5),
0014 ("one", NULL),
0015 (NULL, 5)
0016 as t2(k, v);
0017
0018
0019
0020 SELECT udf(k), udf(v) FROM t1 EXCEPT SELECT udf(k), udf(v) FROM t2;
0021
0022
0023
0024 SELECT * FROM t1 EXCEPT SELECT * FROM t1 where udf(v) <> 1 and v <> udf(2);
0025
0026
0027
0028 SELECT * FROM t1 where udf(v) <> 1 and v <> udf(22) EXCEPT SELECT * FROM t1 where udf(v) <> 2 and v >= udf(3);
0029
0030
0031
0032 SELECT t1.* FROM t1, t2 where t1.k = t2.k
0033 EXCEPT
0034 SELECT t1.* FROM t1, t2 where t1.k = t2.k and t1.k != udf('one');
0035
0036
0037
0038 SELECT * FROM t2 where v >= udf(1) and udf(v) <> 22 EXCEPT SELECT * FROM t1;
0039
0040
0041
0042 SELECT (SELECT min(udf(k)) FROM t2 WHERE t2.k = t1.k) min_t2 FROM t1
0043 MINUS
0044 SELECT (SELECT udf(min(k)) FROM t2) abs_min_t2 FROM t1 WHERE t1.k = udf('one');
0045
0046
0047
0048 SELECT t1.k
0049 FROM t1
0050 WHERE t1.v <= (SELECT udf(max(udf(t2.v)))
0051 FROM t2
0052 WHERE udf(t2.k) = udf(t1.k))
0053 MINUS
0054 SELECT t1.k
0055 FROM t1
0056 WHERE udf(t1.v) >= (SELECT min(udf(t2.v))
0057 FROM t2
0058 WHERE t2.k = t1.k);