123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296 |
- # 2008 June 24
- #
- # The author disclaims copyright to this source code. In place of
- # a legal notice, here is a blessing:
- #
- # May you do good and not evil.
- # May you find forgiveness for yourself and forgive others.
- # May you share freely, never taking more than you give.
- #
- #***********************************************************************
- # This file implements regression tests for SQLite library.
- #
- # The focus of this file is testing the compound-SELECT merge
- # optimization. Or, in other words, making sure that all
- # possible combinations of UNION, UNION ALL, EXCEPT, and
- # INTERSECT work together with an ORDER BY clause (with or w/o
- # explicit sort order and explicit collating secquites) and
- # with and without optional LIMIT and OFFSET clauses.
- #
- # $Id: selectA.test,v 1.6 2008/08/21 14:24:29 drh Exp $
- set testdir [file dirname $argv0]
- source $testdir/tester.tcl
- ifcapable !compound {
- finish_test
- return
- }
- do_test selectA-1.0 {
- execsql {
- CREATE TABLE t1(a,b,c COLLATE NOCASE);
- INSERT INTO t1 VALUES(1,'a','a');
- INSERT INTO t1 VALUES(9.9, 'b', 'B');
- INSERT INTO t1 VALUES(NULL, 'C', 'c');
- INSERT INTO t1 VALUES('hello', 'd', 'D');
- INSERT INTO t1 VALUES(x'616263', 'e', 'e');
- SELECT * FROM t1;
- }
- } {1 a a 9.9 b B {} C c hello d D abc e e}
- do_test selectA-1.1 {
- execsql {
- CREATE TABLE t2(x,y,z COLLATE NOCASE);
- INSERT INTO t2 VALUES(NULL,'U','u');
- INSERT INTO t2 VALUES('mad', 'Z', 'z');
- INSERT INTO t2 VALUES(x'68617265', 'm', 'M');
- INSERT INTO t2 VALUES(5.2e6, 'X', 'x');
- INSERT INTO t2 VALUES(-23, 'Y', 'y');
- SELECT * FROM t2;
- }
- } {{} U u mad Z z hare m M 5200000.0 X x -23 Y y}
- do_test selectA-1.2 {
- execsql {
- CREATE TABLE t3(a,b,c COLLATE NOCASE);
- INSERT INTO t3 SELECT * FROM t1;
- INSERT INTO t3 SELECT * FROM t2;
- INSERT INTO t3 SELECT * FROM t1;
- INSERT INTO t3 SELECT * FROM t2;
- INSERT INTO t3 SELECT * FROM t1;
- INSERT INTO t3 SELECT * FROM t2;
- SELECT count(*) FROM t3;
- }
- } {30}
- do_test selectA-2.1 {
- execsql {
- SELECT a,b,c FROM t1 UNION ALL SELECT x,y,z FROM t2
- ORDER BY a,b,c
- }
- } {{} C c {} U u -23 Y y 1 a a 9.9 b B 5200000.0 X x hello d D mad Z z abc e e hare m M}
- do_test selectA-2.1.1 { # Ticket #3314
- execsql {
- SELECT t1.a, t1.b, t1.c FROM t1 UNION ALL SELECT x,y,z FROM t2
- ORDER BY a,b,c
- }
- } {{} C c {} U u -23 Y y 1 a a 9.9 b B 5200000.0 X x hello d D mad Z z abc e e hare m M}
- do_test selectA-2.1.2 { # Ticket #3314
- execsql {
- SELECT a,b,c FROM t1 UNION ALL SELECT x,y,z FROM t2
- ORDER BY t1.a, t1.b, t1.c
- }
- } {{} C c {} U u -23 Y y 1 a a 9.9 b B 5200000.0 X x hello d D mad Z z abc e e hare m M}
- do_test selectA-2.2 {
- execsql {
- SELECT a,b,c FROM t1 UNION ALL SELECT x,y,z FROM t2
- ORDER BY a DESC,b,c
- }
- } {hare m M abc e e mad Z z hello d D 5200000.0 X x 9.9 b B 1 a a -23 Y y {} C c {} U u}
- do_test selectA-2.3 {
- execsql {
- SELECT a,b,c FROM t1 UNION ALL SELECT x,y,z FROM t2
- ORDER BY a,c,b
- }
- } {{} C c {} U u -23 Y y 1 a a 9.9 b B 5200000.0 X x hello d D mad Z z abc e e hare m M}
- do_test selectA-2.4 {
- execsql {
- SELECT a,b,c FROM t1 UNION ALL SELECT x,y,z FROM t2
- ORDER BY b,a,c
- }
- } {{} C c {} U u 5200000.0 X x -23 Y y mad Z z 1 a a 9.9 b B hello d D abc e e hare m M}
- do_test selectA-2.5 {
- execsql {
- SELECT a,b,c FROM t1 UNION ALL SELECT x,y,z FROM t2
- ORDER BY b COLLATE NOCASE,a,c
- }
- } {1 a a 9.9 b B {} C c hello d D abc e e hare m M {} U u 5200000.0 X x -23 Y y mad Z z}
- do_test selectA-2.6 {
- execsql {
- SELECT a,b,c FROM t1 UNION ALL SELECT x,y,z FROM t2
- ORDER BY b COLLATE NOCASE DESC,a,c
- }
- } {mad Z z -23 Y y 5200000.0 X x {} U u hare m M abc e e hello d D {} C c 9.9 b B 1 a a}
- do_test selectA-2.7 {
- execsql {
- SELECT a,b,c FROM t1 UNION ALL SELECT x,y,z FROM t2
- ORDER BY c,b,a
- }
- } {1 a a 9.9 b B {} C c hello d D abc e e hare m M {} U u 5200000.0 X x -23 Y y mad Z z}
- do_test selectA-2.8 {
- execsql {
- SELECT a,b,c FROM t1 UNION ALL SELECT x,y,z FROM t2
- ORDER BY c,a,b
- }
- } {1 a a 9.9 b B {} C c hello d D abc e e hare m M {} U u 5200000.0 X x -23 Y y mad Z z}
- do_test selectA-2.9 {
- execsql {
- SELECT a,b,c FROM t1 UNION ALL SELECT x,y,z FROM t2
- ORDER BY c DESC,a,b
- }
- } {mad Z z -23 Y y 5200000.0 X x {} U u hare m M abc e e hello d D {} C c 9.9 b B 1 a a}
- do_test selectA-2.10 {
- execsql {
- SELECT a,b,c FROM t1 UNION ALL SELECT x,y,z FROM t2
- ORDER BY c COLLATE BINARY DESC,a,b
- }
- } {mad Z z -23 Y y 5200000.0 X x {} U u abc e e {} C c 1 a a hare m M hello d D 9.9 b B}
- do_test selectA-2.11 {
- execsql {
- SELECT x,y,z FROM t2 UNION ALL SELECT a,b,c FROM t1
- ORDER BY a,b,c
- }
- } {{} C c {} U u -23 Y y 1 a a 9.9 b B 5200000.0 X x hello d D mad Z z abc e e hare m M}
- do_test selectA-2.12 {
- execsql {
- SELECT x,y,z FROM t2 UNION ALL SELECT a,b,c FROM t1
- ORDER BY a DESC,b,c
- }
- } {hare m M abc e e mad Z z hello d D 5200000.0 X x 9.9 b B 1 a a -23 Y y {} C c {} U u}
- do_test selectA-2.13 {
- execsql {
- SELECT x,y,z FROM t2 UNION ALL SELECT a,b,c FROM t1
- ORDER BY a,c,b
- }
- } {{} C c {} U u -23 Y y 1 a a 9.9 b B 5200000.0 X x hello d D mad Z z abc e e hare m M}
- do_test selectA-2.14 {
- execsql {
- SELECT x,y,z FROM t2 UNION ALL SELECT a,b,c FROM t1
- ORDER BY b,a,c
- }
- } {{} C c {} U u 5200000.0 X x -23 Y y mad Z z 1 a a 9.9 b B hello d D abc e e hare m M}
- do_test selectA-2.15 {
- execsql {
- SELECT x,y,z FROM t2 UNION ALL SELECT a,b,c FROM t1
- ORDER BY b COLLATE NOCASE,a,c
- }
- } {1 a a 9.9 b B {} C c hello d D abc e e hare m M {} U u 5200000.0 X x -23 Y y mad Z z}
- do_test selectA-2.16 {
- execsql {
- SELECT x,y,z FROM t2 UNION ALL SELECT a,b,c FROM t1
- ORDER BY b COLLATE NOCASE DESC,a,c
- }
- } {mad Z z -23 Y y 5200000.0 X x {} U u hare m M abc e e hello d D {} C c 9.9 b B 1 a a}
- do_test selectA-2.17 {
- execsql {
- SELECT x,y,z FROM t2 UNION ALL SELECT a,b,c FROM t1
- ORDER BY c,b,a
- }
- } {1 a a 9.9 b B {} C c hello d D abc e e hare m M {} U u 5200000.0 X x -23 Y y mad Z z}
- do_test selectA-2.18 {
- execsql {
- SELECT x,y,z FROM t2 UNION ALL SELECT a,b,c FROM t1
- ORDER BY c,a,b
- }
- } {1 a a 9.9 b B {} C c hello d D abc e e hare m M {} U u 5200000.0 X x -23 Y y mad Z z}
- do_test selectA-2.19 {
- execsql {
- SELECT x,y,z FROM t2 UNION ALL SELECT a,b,c FROM t1
- ORDER BY c DESC,a,b
- }
- } {mad Z z -23 Y y 5200000.0 X x {} U u hare m M abc e e hello d D {} C c 9.9 b B 1 a a}
- do_test selectA-2.20 {
- execsql {
- SELECT x,y,z FROM t2 UNION ALL SELECT a,b,c FROM t1
- ORDER BY c COLLATE BINARY DESC,a,b
- }
- } {mad Z z -23 Y y 5200000.0 X x {} U u abc e e {} C c 1 a a hare m M hello d D 9.9 b B}
- do_test selectA-2.21 {
- execsql {
- SELECT a,b,c FROM t1 UNION SELECT x,y,z FROM t2
- ORDER BY a,b,c
- }
- } {{} C c {} U u -23 Y y 1 a a 9.9 b B 5200000.0 X x hello d D mad Z z abc e e hare m M}
- do_test selectA-2.22 {
- execsql {
- SELECT a,b,c FROM t1 UNION SELECT x,y,z FROM t2
- ORDER BY a DESC,b,c
- }
- } {hare m M abc e e mad Z z hello d D 5200000.0 X x 9.9 b B 1 a a -23 Y y {} C c {} U u}
- do_test selectA-2.23 {
- execsql {
- SELECT a,b,c FROM t1 UNION SELECT x,y,z FROM t2
- ORDER BY a,c,b
- }
- } {{} C c {} U u -23 Y y 1 a a 9.9 b B 5200000.0 X x hello d D mad Z z abc e e hare m M}
- do_test selectA-2.24 {
- execsql {
- SELECT a,b,c FROM t1 UNION SELECT x,y,z FROM t2
- ORDER BY b,a,c
- }
- } {{} C c {} U u 5200000.0 X x -23 Y y mad Z z 1 a a 9.9 b B hello d D abc e e hare m M}
- do_test selectA-2.25 {
- execsql {
- SELECT a,b,c FROM t1 UNION SELECT x,y,z FROM t2
- ORDER BY b COLLATE NOCASE,a,c
- }
- } {1 a a 9.9 b B {} C c hello d D abc e e hare m M {} U u 5200000.0 X x -23 Y y mad Z z}
- do_test selectA-2.26 {
- execsql {
- SELECT a,b,c FROM t1 UNION SELECT x,y,z FROM t2
- ORDER BY b COLLATE NOCASE DESC,a,c
- }
- } {mad Z z -23 Y y 5200000.0 X x {} U u hare m M abc e e hello d D {} C c 9.9 b B 1 a a}
- do_test selectA-2.27 {
- execsql {
- SELECT a,b,c FROM t1 UNION SELECT x,y,z FROM t2
- ORDER BY c,b,a
- }
- } {1 a a 9.9 b B {} C c hello d D abc e e hare m M {} U u 5200000.0 X x -23 Y y mad Z z}
- do_test selectA-2.28 {
- execsql {
- SELECT a,b,c FROM t1 UNION SELECT x,y,z FROM t2
- ORDER BY c,a,b
- }
- } {1 a a 9.9 b B {} C c hello d D abc e e hare m M {} U u 5200000.0 X x -23 Y y mad Z z}
- do_test selectA-2.29 {
- execsql {
- SELECT a,b,c FROM t1 UNION SELECT x,y,z FROM t2
- ORDER BY c DESC,a,b
- }
- } {mad Z z -23 Y y 5200000.0 X x {} U u hare m M abc e e hello d D {} C c 9.9 b B 1 a a}
- do_test selectA-2.30 {
- execsql {
- SELECT a,b,c FROM t1 UNION SELECT x,y,z FROM t2
- ORDER BY c COLLATE BINARY DESC,a,b
- }
- } {mad Z z -23 Y y 5200000.0 X x {} U u abc e e {} C c 1 a a hare m M hello d D 9.9 b B}
- do_test selectA-2.31 {
- execsql {
- SELECT x,y,z FROM t2 UNION SELECT a,b,c FROM t1
- ORDER BY a,b,c
- }
- } {{} C c {} U u -23 Y y 1 a a 9.9 b B 5200000.0 X x hello d D mad Z z abc e e hare m M}
- do_test selectA-2.32 {
- execsql {
- SELECT x,y,z FROM t2 UNION SELECT a,b,c FROM t1
- ORDER BY a DESC,b,c
- }
- } {hare m M abc e e mad Z z hello d D 5200000.0 X x 9.9 b B 1 a a -23 Y y {} C c {} U u}
- do_test selectA-2.33 {
- execsql {
- SELECT x,y,z FROM t2 UNION SELECT a,b,c FROM t1
- ORDER BY a,c,b
- }
- } {{} C c {} U u -23 Y y 1 a a 9.9 b B 5200000.0 X x hello d D mad Z z abc e e hare m M}
- do_test selectA-2.34 {
- execsql {
- SELECT x,y,z FROM t2 UNION SELECT a,b,c FROM t1
- ORDER BY b,a,c
- }
- } {{} C c {} U u 5200000.0 X x -23 Y y mad Z z 1 a a 9.9 b B hello d D abc e e hare m M}
- do_test selectA-2.35 {
- execsql {
- SELECT x,y,z FROM t2 UNION SELECT a,b,c FROM t1
- ORDER BY y COLLATE NOCASE,x,z
- }
- } {1 a a 9.9 b B {} C c hello d D abc e e hare m M {} U u 5200000.0 X x -23 Y y mad Z z}
- do_test selectA-2.36 {
- execsql {
- SELECT x,y,z FROM t2 UNION SELECT a,b,c FROM t1
- ORDER BY y COLLATE NOCASE DESC,x,z
- }
- } {mad Z z -23 Y y 5200000.0 X x {} U u hare m M abc e e hello d D {} C c 9.9 b B 1 a a}
- do_test selectA-2.37 {
- execsql {
- SELECT x,y,z FROM t2 UNION SELECT a,b,c FROM t1
- ORDER BY c,b,a
- }
- } {1 a a 9.9 b B {} C c hello d D abc e e hare m M {} U u 5200000.0 X x -23 Y y mad Z z}
- do_test selectA-2.38 {
- execsql {
- SELECT x,y,z FROM t2 UNION SELECT a,b,c FROM t1
- ORDER BY c,a,b
- }
- } {1 a a 9.9 b B {} C c hello d D abc e e hare m M {} U u 5200000.0 X x -23 Y y mad Z z}
- do_test selectA-2.39 {
- execsql {
- SELECT x,y,z FROM t2 UNION SELECT a,b,c FROM t1
- ORDER BY c DESC,a,b
- }
- } {mad Z z -23 Y y 5200000.0 X x {} U u hare m M abc e e hello d D {} C c 9.9 b B 1 a a}
- do_test selectA-2.40 {
- execsql {
- SELECT x,y,z FROM t2 UNION SELECT a,b,c FROM t1
- ORDER BY z COLLATE BINARY DESC,x,y
- }
- } {mad Z z -23 Y y 5200000.0 X x {} U u abc e e {} C c 1 a a hare m M hello d D 9.9 b B}
- do_test selectA-2.41 {
- execsql {
- SELECT a,b,c FROM t1 EXCEPT SELECT a,b,c FROM t1 WHERE b>='d'
- ORDER BY a,b,c
- }
- } {{} C c 1 a a 9.9 b B}
- do_test selectA-2.42 {
- execsql {
- SELECT a,b,c FROM t1 INTERSECT SELECT a,b,c FROM t1 WHERE b>='d'
- ORDER BY a,b,c
- }
- } {hello d D abc e e}
- do_test selectA-2.43 {
- execsql {
- SELECT a,b,c FROM t1 WHERE b>='d' INTERSECT SELECT a,b,c FROM t1
- ORDER BY a,b,c
- }
- } {hello d D abc e e}
- do_test selectA-2.44 {
- execsql {
- SELECT a,b,c FROM t1 EXCEPT SELECT a,b,c FROM t1 WHERE b<'d'
- ORDER BY a,b,c
- }
- } {hello d D abc e e}
- do_test selectA-2.45 {
- execsql {
- SELECT a,b,c FROM t1 INTERSECT SELECT a,b,c FROM t1 WHERE b<'d'
- ORDER BY a,b,c
- }
- } {{} C c 1 a a 9.9 b B}
- do_test selectA-2.46 {
- execsql {
- SELECT a,b,c FROM t1 WHERE b<'d' INTERSECT SELECT a,b,c FROM t1
- ORDER BY a,b,c
- }
- } {{} C c 1 a a 9.9 b B}
- do_test selectA-2.47 {
- execsql {
- SELECT a,b,c FROM t1 EXCEPT SELECT a,b,c FROM t1 WHERE b>='d'
- ORDER BY a DESC
- }
- } {9.9 b B 1 a a {} C c}
- do_test selectA-2.48 {
- execsql {
- SELECT a,b,c FROM t1 INTERSECT SELECT a,b,c FROM t1 WHERE b>='d'
- ORDER BY a DESC
- }
- } {abc e e hello d D}
- do_test selectA-2.49 {
- execsql {
- SELECT a,b,c FROM t1 WHERE b>='d' INTERSECT SELECT a,b,c FROM t1
- ORDER BY a DESC
- }
- } {abc e e hello d D}
- do_test selectA-2.50 {
- execsql {
- SELECT a,b,c FROM t1 EXCEPT SELECT a,b,c FROM t1 WHERE b<'d'
- ORDER BY a DESC
- }
- } {abc e e hello d D}
- do_test selectA-2.51 {
- execsql {
- SELECT a,b,c FROM t1 INTERSECT SELECT a,b,c FROM t1 WHERE b<'d'
- ORDER BY a DESC
- }
- } {9.9 b B 1 a a {} C c}
- do_test selectA-2.52 {
- execsql {
- SELECT a,b,c FROM t1 WHERE b<'d' INTERSECT SELECT a,b,c FROM t1
- ORDER BY a DESC
- }
- } {9.9 b B 1 a a {} C c}
- do_test selectA-2.53 {
- execsql {
- SELECT a,b,c FROM t1 EXCEPT SELECT a,b,c FROM t1 WHERE b>='d'
- ORDER BY b, a DESC
- }
- } {{} C c 1 a a 9.9 b B}
- do_test selectA-2.54 {
- execsql {
- SELECT a,b,c FROM t1 INTERSECT SELECT a,b,c FROM t1 WHERE b>='d'
- ORDER BY b
- }
- } {hello d D abc e e}
- do_test selectA-2.55 {
- execsql {
- SELECT a,b,c FROM t1 WHERE b>='d' INTERSECT SELECT a,b,c FROM t1
- ORDER BY b DESC, c
- }
- } {abc e e hello d D}
- do_test selectA-2.56 {
- execsql {
- SELECT a,b,c FROM t1 EXCEPT SELECT a,b,c FROM t1 WHERE b<'d'
- ORDER BY b, c DESC, a
- }
- } {hello d D abc e e}
- do_test selectA-2.57 {
- execsql {
- SELECT a,b,c FROM t1 INTERSECT SELECT a,b,c FROM t1 WHERE b<'d'
- ORDER BY b COLLATE NOCASE
- }
- } {1 a a 9.9 b B {} C c}
- do_test selectA-2.58 {
- execsql {
- SELECT a,b,c FROM t1 WHERE b<'d' INTERSECT SELECT a,b,c FROM t1
- ORDER BY b
- }
- } {{} C c 1 a a 9.9 b B}
- do_test selectA-2.59 {
- execsql {
- SELECT a,b,c FROM t1 EXCEPT SELECT a,b,c FROM t1 WHERE b>='d'
- ORDER BY c, a DESC
- }
- } {1 a a 9.9 b B {} C c}
- do_test selectA-2.60 {
- execsql {
- SELECT a,b,c FROM t1 INTERSECT SELECT a,b,c FROM t1 WHERE b>='d'
- ORDER BY c
- }
- } {hello d D abc e e}
- do_test selectA-2.61 {
- execsql {
- SELECT a,b,c FROM t1 WHERE b>='d' INTERSECT SELECT a,b,c FROM t1
- ORDER BY c COLLATE BINARY, b DESC, c, a, b, c, a, b, c
- }
- } {hello d D abc e e}
- do_test selectA-2.62 {
- execsql {
- SELECT a,b,c FROM t1 EXCEPT SELECT a,b,c FROM t1 WHERE b<'d'
- ORDER BY c DESC, a
- }
- } {abc e e hello d D}
- do_test selectA-2.63 {
- execsql {
- SELECT a,b,c FROM t1 INTERSECT SELECT a,b,c FROM t1 WHERE b<'d'
- ORDER BY c COLLATE NOCASE
- }
- } {1 a a 9.9 b B {} C c}
- do_test selectA-2.64 {
- execsql {
- SELECT a,b,c FROM t1 WHERE b<'d' INTERSECT SELECT a,b,c FROM t1
- ORDER BY c
- }
- } {1 a a 9.9 b B {} C c}
- do_test selectA-2.65 {
- execsql {
- SELECT a,b,c FROM t3 INTERSECT SELECT a,b,c FROM t1 WHERE b<'d'
- ORDER BY c COLLATE NOCASE
- }
- } {1 a a 9.9 b B {} C c}
- do_test selectA-2.66 {
- execsql {
- SELECT a,b,c FROM t1 WHERE b<'d' INTERSECT SELECT a,b,c FROM t3
- ORDER BY c
- }
- } {1 a a 9.9 b B {} C c}
- do_test selectA-2.67 {
- execsql {
- SELECT a,b,c FROM t1 EXCEPT SELECT a,b,c FROM t3 WHERE b<'d'
- ORDER BY c DESC, a
- }
- } {abc e e hello d D}
- do_test selectA-2.68 {
- execsql {
- SELECT a,b,c FROM t1 EXCEPT SELECT a,b,c FROM t1 WHERE b<'d'
- INTERSECT SELECT a,b,c FROM t3
- EXCEPT SELECT b,c,a FROM t3
- ORDER BY c DESC, a
- }
- } {abc e e hello d D}
- do_test selectA-2.69 {
- execsql {
- SELECT a,b,c FROM t1 INTERSECT SELECT a,b,c FROM t1 WHERE b<'d'
- INTERSECT SELECT a,b,c FROM t3
- EXCEPT SELECT b,c,a FROM t3
- ORDER BY c COLLATE NOCASE
- }
- } {1 a a 9.9 b B {} C c}
- do_test selectA-2.70 {
- execsql {
- SELECT a,b,c FROM t1 WHERE b<'d' INTERSECT SELECT a,b,c FROM t1
- INTERSECT SELECT a,b,c FROM t3
- EXCEPT SELECT b,c,a FROM t3
- ORDER BY c
- }
- } {1 a a 9.9 b B {} C c}
- do_test selectA-2.71 {
- execsql {
- SELECT a,b,c FROM t1 WHERE b<'d'
- INTERSECT SELECT a,b,c FROM t1
- INTERSECT SELECT a,b,c FROM t3
- EXCEPT SELECT b,c,a FROM t3
- INTERSECT SELECT a,b,c FROM t1
- EXCEPT SELECT x,y,z FROM t2
- INTERSECT SELECT a,b,c FROM t3
- EXCEPT SELECT y,x,z FROM t2
- INTERSECT SELECT a,b,c FROM t1
- EXCEPT SELECT c,b,a FROM t3
- ORDER BY c
- }
- } {1 a a 9.9 b B {} C c}
- do_test selectA-2.72 {
- execsql {
- SELECT a,b,c FROM t3 UNION SELECT x,y,z FROM t2
- ORDER BY a,b,c
- }
- } {{} C c {} U u -23 Y y 1 a a 9.9 b B 5200000.0 X x hello d D mad Z z abc e e hare m M}
- do_test selectA-2.73 {
- execsql {
- SELECT a,b,c FROM t3 UNION SELECT x,y,z FROM t2
- ORDER BY a DESC,b,c
- }
- } {hare m M abc e e mad Z z hello d D 5200000.0 X x 9.9 b B 1 a a -23 Y y {} C c {} U u}
- do_test selectA-2.74 {
- execsql {
- SELECT a,b,c FROM t3 UNION SELECT x,y,z FROM t2
- ORDER BY a,c,b
- }
- } {{} C c {} U u -23 Y y 1 a a 9.9 b B 5200000.0 X x hello d D mad Z z abc e e hare m M}
- do_test selectA-2.75 {
- execsql {
- SELECT a,b,c FROM t3 UNION SELECT x,y,z FROM t2
- ORDER BY b,a,c
- }
- } {{} C c {} U u 5200000.0 X x -23 Y y mad Z z 1 a a 9.9 b B hello d D abc e e hare m M}
- do_test selectA-2.76 {
- execsql {
- SELECT a,b,c FROM t3 UNION SELECT x,y,z FROM t2
- ORDER BY b COLLATE NOCASE,a,c
- }
- } {1 a a 9.9 b B {} C c hello d D abc e e hare m M {} U u 5200000.0 X x -23 Y y mad Z z}
- do_test selectA-2.77 {
- execsql {
- SELECT a,b,c FROM t3 UNION SELECT x,y,z FROM t2
- ORDER BY b COLLATE NOCASE DESC,a,c
- }
- } {mad Z z -23 Y y 5200000.0 X x {} U u hare m M abc e e hello d D {} C c 9.9 b B 1 a a}
- do_test selectA-2.78 {
- execsql {
- SELECT a,b,c FROM t3 UNION SELECT x,y,z FROM t2
- ORDER BY c,b,a
- }
- } {1 a a 9.9 b B {} C c hello d D abc e e hare m M {} U u 5200000.0 X x -23 Y y mad Z z}
- do_test selectA-2.79 {
- execsql {
- SELECT a,b,c FROM t3 UNION SELECT x,y,z FROM t2
- ORDER BY c,a,b
- }
- } {1 a a 9.9 b B {} C c hello d D abc e e hare m M {} U u 5200000.0 X x -23 Y y mad Z z}
- do_test selectA-2.80 {
- execsql {
- SELECT a,b,c FROM t3 UNION SELECT x,y,z FROM t2
- ORDER BY c DESC,a,b
- }
- } {mad Z z -23 Y y 5200000.0 X x {} U u hare m M abc e e hello d D {} C c 9.9 b B 1 a a}
- do_test selectA-2.81 {
- execsql {
- SELECT a,b,c FROM t3 UNION SELECT x,y,z FROM t2
- ORDER BY c COLLATE BINARY DESC,a,b
- }
- } {mad Z z -23 Y y 5200000.0 X x {} U u abc e e {} C c 1 a a hare m M hello d D 9.9 b B}
- do_test selectA-2.82 {
- execsql {
- SELECT x,y,z FROM t2 UNION SELECT a,b,c FROM t3
- ORDER BY a,b,c
- }
- } {{} C c {} U u -23 Y y 1 a a 9.9 b B 5200000.0 X x hello d D mad Z z abc e e hare m M}
- do_test selectA-2.83 {
- execsql {
- SELECT x,y,z FROM t2 UNION SELECT a,b,c FROM t3
- ORDER BY a DESC,b,c
- }
- } {hare m M abc e e mad Z z hello d D 5200000.0 X x 9.9 b B 1 a a -23 Y y {} C c {} U u}
- do_test selectA-2.84 {
- execsql {
- SELECT x,y,z FROM t2 UNION SELECT a,b,c FROM t3
- ORDER BY a,c,b
- }
- } {{} C c {} U u -23 Y y 1 a a 9.9 b B 5200000.0 X x hello d D mad Z z abc e e hare m M}
- do_test selectA-2.85 {
- execsql {
- SELECT x,y,z FROM t2 UNION SELECT a,b,c FROM t3
- ORDER BY b,a,c
- }
- } {{} C c {} U u 5200000.0 X x -23 Y y mad Z z 1 a a 9.9 b B hello d D abc e e hare m M}
- do_test selectA-2.86 {
- execsql {
- SELECT x,y,z FROM t2 UNION SELECT a,b,c FROM t3
- ORDER BY y COLLATE NOCASE,x,z
- }
- } {1 a a 9.9 b B {} C c hello d D abc e e hare m M {} U u 5200000.0 X x -23 Y y mad Z z}
- do_test selectA-2.87 {
- execsql {
- SELECT x,y,z FROM t2 UNION SELECT a,b,c FROM t3
- ORDER BY y COLLATE NOCASE DESC,x,z
- }
- } {mad Z z -23 Y y 5200000.0 X x {} U u hare m M abc e e hello d D {} C c 9.9 b B 1 a a}
- do_test selectA-2.88 {
- execsql {
- SELECT x,y,z FROM t2 UNION SELECT a,b,c FROM t3
- ORDER BY c,b,a
- }
- } {1 a a 9.9 b B {} C c hello d D abc e e hare m M {} U u 5200000.0 X x -23 Y y mad Z z}
- do_test selectA-2.89 {
- execsql {
- SELECT x,y,z FROM t2 UNION SELECT a,b,c FROM t3
- ORDER BY c,a,b
- }
- } {1 a a 9.9 b B {} C c hello d D abc e e hare m M {} U u 5200000.0 X x -23 Y y mad Z z}
- do_test selectA-2.90 {
- execsql {
- SELECT x,y,z FROM t2 UNION SELECT a,b,c FROM t3
- ORDER BY c DESC,a,b
- }
- } {mad Z z -23 Y y 5200000.0 X x {} U u hare m M abc e e hello d D {} C c 9.9 b B 1 a a}
- do_test selectA-2.91 {
- execsql {
- SELECT x,y,z FROM t2 UNION SELECT a,b,c FROM t3
- ORDER BY z COLLATE BINARY DESC,x,y
- }
- } {mad Z z -23 Y y 5200000.0 X x {} U u abc e e {} C c 1 a a hare m M hello d D 9.9 b B}
- do_test selectA-2.92 {
- execsql {
- SELECT x,y,z FROM t2
- INTERSECT SELECT a,b,c FROM t3
- EXCEPT SELECT c,b,a FROM t1
- UNION SELECT a,b,c FROM t3
- INTERSECT SELECT a,b,c FROM t3
- EXCEPT SELECT c,b,a FROM t1
- UNION SELECT a,b,c FROM t3
- ORDER BY y COLLATE NOCASE DESC,x,z
- }
- } {mad Z z -23 Y y 5200000.0 X x {} U u hare m M abc e e hello d D {} C c 9.9 b B 1 a a}
- do_test selectA-2.93 {
- execsql {
- SELECT upper((SELECT c FROM t1 UNION SELECT z FROM t2 ORDER BY 1));
- }
- } {A}
- do_test selectA-2.94 {
- execsql {
- SELECT lower((SELECT c FROM t1 UNION ALL SELECT z FROM t2 ORDER BY 1));
- }
- } {a}
- do_test selectA-2.95 {
- execsql {
- SELECT lower((SELECT c FROM t1 INTERSECT SELECT z FROM t2 ORDER BY 1));
- }
- } {{}}
- do_test selectA-2.96 {
- execsql {
- SELECT lower((SELECT z FROM t2 EXCEPT SELECT c FROM t1 ORDER BY 1));
- }
- } {m}
- do_test selectA-3.0 {
- execsql {
- CREATE UNIQUE INDEX t1a ON t1(a);
- CREATE UNIQUE INDEX t1b ON t1(b);
- CREATE UNIQUE INDEX t1c ON t1(c);
- CREATE UNIQUE INDEX t2x ON t2(x);
- CREATE UNIQUE INDEX t2y ON t2(y);
- CREATE UNIQUE INDEX t2z ON t2(z);
- SELECT name FROM sqlite_master WHERE type='index'
- }
- } {t1a t1b t1c t2x t2y t2z}
- do_test selectA-3.1 {
- execsql {
- SELECT a,b,c FROM t1 UNION ALL SELECT x,y,z FROM t2
- ORDER BY a,b,c
- }
- } {{} C c {} U u -23 Y y 1 a a 9.9 b B 5200000.0 X x hello d D mad Z z abc e e hare m M}
- do_test selectA-3.1.1 { # Ticket #3314
- execsql {
- SELECT t1.a,b,t1.c FROM t1 UNION ALL SELECT x,y,z FROM t2
- ORDER BY a,t1.b,t1.c
- }
- } {{} C c {} U u -23 Y y 1 a a 9.9 b B 5200000.0 X x hello d D mad Z z abc e e hare m M}
- do_test selectA-3.2 {
- execsql {
- SELECT a,b,c FROM t1 UNION ALL SELECT x,y,z FROM t2
- ORDER BY a DESC,b,c
- }
- } {hare m M abc e e mad Z z hello d D 5200000.0 X x 9.9 b B 1 a a -23 Y y {} C c {} U u}
- do_test selectA-3.3 {
- execsql {
- SELECT a,b,c FROM t1 UNION ALL SELECT x,y,z FROM t2
- ORDER BY a,c,b
- }
- } {{} C c {} U u -23 Y y 1 a a 9.9 b B 5200000.0 X x hello d D mad Z z abc e e hare m M}
- do_test selectA-3.4 {
- execsql {
- SELECT a,b,c FROM t1 UNION ALL SELECT x,y,z FROM t2
- ORDER BY b,a,c
- }
- } {{} C c {} U u 5200000.0 X x -23 Y y mad Z z 1 a a 9.9 b B hello d D abc e e hare m M}
- do_test selectA-3.5 {
- execsql {
- SELECT a,b,c FROM t1 UNION ALL SELECT x,y,z FROM t2
- ORDER BY b COLLATE NOCASE,a,c
- }
- } {1 a a 9.9 b B {} C c hello d D abc e e hare m M {} U u 5200000.0 X x -23 Y y mad Z z}
- do_test selectA-3.6 {
- execsql {
- SELECT a,b,c FROM t1 UNION ALL SELECT x,y,z FROM t2
- ORDER BY b COLLATE NOCASE DESC,a,c
- }
- } {mad Z z -23 Y y 5200000.0 X x {} U u hare m M abc e e hello d D {} C c 9.9 b B 1 a a}
- do_test selectA-3.7 {
- execsql {
- SELECT a,b,c FROM t1 UNION ALL SELECT x,y,z FROM t2
- ORDER BY c,b,a
- }
- } {1 a a 9.9 b B {} C c hello d D abc e e hare m M {} U u 5200000.0 X x -23 Y y mad Z z}
- do_test selectA-3.8 {
- execsql {
- SELECT a,b,c FROM t1 UNION ALL SELECT x,y,z FROM t2
- ORDER BY c,a,b
- }
- } {1 a a 9.9 b B {} C c hello d D abc e e hare m M {} U u 5200000.0 X x -23 Y y mad Z z}
- do_test selectA-3.9 {
- execsql {
- SELECT a,b,c FROM t1 UNION ALL SELECT x,y,z FROM t2
- ORDER BY c DESC,a,b
- }
- } {mad Z z -23 Y y 5200000.0 X x {} U u hare m M abc e e hello d D {} C c 9.9 b B 1 a a}
- do_test selectA-3.10 {
- execsql {
- SELECT a,b,c FROM t1 UNION ALL SELECT x,y,z FROM t2
- ORDER BY c COLLATE BINARY DESC,a,b
- }
- } {mad Z z -23 Y y 5200000.0 X x {} U u abc e e {} C c 1 a a hare m M hello d D 9.9 b B}
- do_test selectA-3.11 {
- execsql {
- SELECT x,y,z FROM t2 UNION ALL SELECT a,b,c FROM t1
- ORDER BY a,b,c
- }
- } {{} C c {} U u -23 Y y 1 a a 9.9 b B 5200000.0 X x hello d D mad Z z abc e e hare m M}
- do_test selectA-3.12 {
- execsql {
- SELECT x,y,z FROM t2 UNION ALL SELECT a,b,c FROM t1
- ORDER BY a DESC,b,c
- }
- } {hare m M abc e e mad Z z hello d D 5200000.0 X x 9.9 b B 1 a a -23 Y y {} C c {} U u}
- do_test selectA-3.13 {
- execsql {
- SELECT x,y,z FROM t2 UNION ALL SELECT a,b,c FROM t1
- ORDER BY a,c,b
- }
- } {{} C c {} U u -23 Y y 1 a a 9.9 b B 5200000.0 X x hello d D mad Z z abc e e hare m M}
- do_test selectA-3.14 {
- execsql {
- SELECT x,y,z FROM t2 UNION ALL SELECT a,b,c FROM t1
- ORDER BY b,a,c
- }
- } {{} C c {} U u 5200000.0 X x -23 Y y mad Z z 1 a a 9.9 b B hello d D abc e e hare m M}
- do_test selectA-3.15 {
- execsql {
- SELECT x,y,z FROM t2 UNION ALL SELECT a,b,c FROM t1
- ORDER BY b COLLATE NOCASE,a,c
- }
- } {1 a a 9.9 b B {} C c hello d D abc e e hare m M {} U u 5200000.0 X x -23 Y y mad Z z}
- do_test selectA-3.16 {
- execsql {
- SELECT x,y,z FROM t2 UNION ALL SELECT a,b,c FROM t1
- ORDER BY b COLLATE NOCASE DESC,a,c
- }
- } {mad Z z -23 Y y 5200000.0 X x {} U u hare m M abc e e hello d D {} C c 9.9 b B 1 a a}
- do_test selectA-3.17 {
- execsql {
- SELECT x,y,z FROM t2 UNION ALL SELECT a,b,c FROM t1
- ORDER BY c,b,a
- }
- } {1 a a 9.9 b B {} C c hello d D abc e e hare m M {} U u 5200000.0 X x -23 Y y mad Z z}
- do_test selectA-3.18 {
- execsql {
- SELECT x,y,z FROM t2 UNION ALL SELECT a,b,c FROM t1
- ORDER BY c,a,b
- }
- } {1 a a 9.9 b B {} C c hello d D abc e e hare m M {} U u 5200000.0 X x -23 Y y mad Z z}
- do_test selectA-3.19 {
- execsql {
- SELECT x,y,z FROM t2 UNION ALL SELECT a,b,c FROM t1
- ORDER BY c DESC,a,b
- }
- } {mad Z z -23 Y y 5200000.0 X x {} U u hare m M abc e e hello d D {} C c 9.9 b B 1 a a}
- do_test selectA-3.20 {
- execsql {
- SELECT x,y,z FROM t2 UNION ALL SELECT a,b,c FROM t1
- ORDER BY c COLLATE BINARY DESC,a,b
- }
- } {mad Z z -23 Y y 5200000.0 X x {} U u abc e e {} C c 1 a a hare m M hello d D 9.9 b B}
- do_test selectA-3.21 {
- execsql {
- SELECT a,b,c FROM t1 UNION SELECT x,y,z FROM t2
- ORDER BY a,b,c
- }
- } {{} C c {} U u -23 Y y 1 a a 9.9 b B 5200000.0 X x hello d D mad Z z abc e e hare m M}
- do_test selectA-3.22 {
- execsql {
- SELECT a,b,c FROM t1 UNION SELECT x,y,z FROM t2
- ORDER BY a DESC,b,c
- }
- } {hare m M abc e e mad Z z hello d D 5200000.0 X x 9.9 b B 1 a a -23 Y y {} C c {} U u}
- do_test selectA-3.23 {
- execsql {
- SELECT a,b,c FROM t1 UNION SELECT x,y,z FROM t2
- ORDER BY a,c,b
- }
- } {{} C c {} U u -23 Y y 1 a a 9.9 b B 5200000.0 X x hello d D mad Z z abc e e hare m M}
- do_test selectA-3.24 {
- execsql {
- SELECT a,b,c FROM t1 UNION SELECT x,y,z FROM t2
- ORDER BY b,a,c
- }
- } {{} C c {} U u 5200000.0 X x -23 Y y mad Z z 1 a a 9.9 b B hello d D abc e e hare m M}
- do_test selectA-3.25 {
- execsql {
- SELECT a,b,c FROM t1 UNION SELECT x,y,z FROM t2
- ORDER BY b COLLATE NOCASE,a,c
- }
- } {1 a a 9.9 b B {} C c hello d D abc e e hare m M {} U u 5200000.0 X x -23 Y y mad Z z}
- do_test selectA-3.26 {
- execsql {
- SELECT a,b,c FROM t1 UNION SELECT x,y,z FROM t2
- ORDER BY b COLLATE NOCASE DESC,a,c
- }
- } {mad Z z -23 Y y 5200000.0 X x {} U u hare m M abc e e hello d D {} C c 9.9 b B 1 a a}
- do_test selectA-3.27 {
- execsql {
- SELECT a,b,c FROM t1 UNION SELECT x,y,z FROM t2
- ORDER BY c,b,a
- }
- } {1 a a 9.9 b B {} C c hello d D abc e e hare m M {} U u 5200000.0 X x -23 Y y mad Z z}
- do_test selectA-3.28 {
- execsql {
- SELECT a,b,c FROM t1 UNION SELECT x,y,z FROM t2
- ORDER BY c,a,b
- }
- } {1 a a 9.9 b B {} C c hello d D abc e e hare m M {} U u 5200000.0 X x -23 Y y mad Z z}
- do_test selectA-3.29 {
- execsql {
- SELECT a,b,c FROM t1 UNION SELECT x,y,z FROM t2
- ORDER BY c DESC,a,b
- }
- } {mad Z z -23 Y y 5200000.0 X x {} U u hare m M abc e e hello d D {} C c 9.9 b B 1 a a}
- do_test selectA-3.30 {
- execsql {
- SELECT a,b,c FROM t1 UNION SELECT x,y,z FROM t2
- ORDER BY c COLLATE BINARY DESC,a,b
- }
- } {mad Z z -23 Y y 5200000.0 X x {} U u abc e e {} C c 1 a a hare m M hello d D 9.9 b B}
- do_test selectA-3.31 {
- execsql {
- SELECT x,y,z FROM t2 UNION SELECT a,b,c FROM t1
- ORDER BY a,b,c
- }
- } {{} C c {} U u -23 Y y 1 a a 9.9 b B 5200000.0 X x hello d D mad Z z abc e e hare m M}
- do_test selectA-3.32 {
- execsql {
- SELECT x,y,z FROM t2 UNION SELECT a,b,c FROM t1
- ORDER BY a DESC,b,c
- }
- } {hare m M abc e e mad Z z hello d D 5200000.0 X x 9.9 b B 1 a a -23 Y y {} C c {} U u}
- do_test selectA-3.33 {
- execsql {
- SELECT x,y,z FROM t2 UNION SELECT a,b,c FROM t1
- ORDER BY a,c,b
- }
- } {{} C c {} U u -23 Y y 1 a a 9.9 b B 5200000.0 X x hello d D mad Z z abc e e hare m M}
- do_test selectA-3.34 {
- execsql {
- SELECT x,y,z FROM t2 UNION SELECT a,b,c FROM t1
- ORDER BY b,a,c
- }
- } {{} C c {} U u 5200000.0 X x -23 Y y mad Z z 1 a a 9.9 b B hello d D abc e e hare m M}
- do_test selectA-3.35 {
- execsql {
- SELECT x,y,z FROM t2 UNION SELECT a,b,c FROM t1
- ORDER BY y COLLATE NOCASE,x,z
- }
- } {1 a a 9.9 b B {} C c hello d D abc e e hare m M {} U u 5200000.0 X x -23 Y y mad Z z}
- do_test selectA-3.36 {
- execsql {
- SELECT x,y,z FROM t2 UNION SELECT a,b,c FROM t1
- ORDER BY y COLLATE NOCASE DESC,x,z
- }
- } {mad Z z -23 Y y 5200000.0 X x {} U u hare m M abc e e hello d D {} C c 9.9 b B 1 a a}
- do_test selectA-3.37 {
- execsql {
- SELECT x,y,z FROM t2 UNION SELECT a,b,c FROM t1
- ORDER BY c,b,a
- }
- } {1 a a 9.9 b B {} C c hello d D abc e e hare m M {} U u 5200000.0 X x -23 Y y mad Z z}
- do_test selectA-3.38 {
- execsql {
- SELECT x,y,z FROM t2 UNION SELECT a,b,c FROM t1
- ORDER BY c,a,b
- }
- } {1 a a 9.9 b B {} C c hello d D abc e e hare m M {} U u 5200000.0 X x -23 Y y mad Z z}
- do_test selectA-3.39 {
- execsql {
- SELECT x,y,z FROM t2 UNION SELECT a,b,c FROM t1
- ORDER BY c DESC,a,b
- }
- } {mad Z z -23 Y y 5200000.0 X x {} U u hare m M abc e e hello d D {} C c 9.9 b B 1 a a}
- do_test selectA-3.40 {
- execsql {
- SELECT x,y,z FROM t2 UNION SELECT a,b,c FROM t1
- ORDER BY z COLLATE BINARY DESC,x,y
- }
- } {mad Z z -23 Y y 5200000.0 X x {} U u abc e e {} C c 1 a a hare m M hello d D 9.9 b B}
- do_test selectA-3.41 {
- execsql {
- SELECT a,b,c FROM t1 EXCEPT SELECT a,b,c FROM t1 WHERE b>='d'
- ORDER BY a,b,c
- }
- } {{} C c 1 a a 9.9 b B}
- do_test selectA-3.42 {
- execsql {
- SELECT a,b,c FROM t1 INTERSECT SELECT a,b,c FROM t1 WHERE b>='d'
- ORDER BY a,b,c
- }
- } {hello d D abc e e}
- do_test selectA-3.43 {
- execsql {
- SELECT a,b,c FROM t1 WHERE b>='d' INTERSECT SELECT a,b,c FROM t1
- ORDER BY a,b,c
- }
- } {hello d D abc e e}
- do_test selectA-3.44 {
- execsql {
- SELECT a,b,c FROM t1 EXCEPT SELECT a,b,c FROM t1 WHERE b<'d'
- ORDER BY a,b,c
- }
- } {hello d D abc e e}
- do_test selectA-3.45 {
- execsql {
- SELECT a,b,c FROM t1 INTERSECT SELECT a,b,c FROM t1 WHERE b<'d'
- ORDER BY a,b,c
- }
- } {{} C c 1 a a 9.9 b B}
- do_test selectA-3.46 {
- execsql {
- SELECT a,b,c FROM t1 WHERE b<'d' INTERSECT SELECT a,b,c FROM t1
- ORDER BY a,b,c
- }
- } {{} C c 1 a a 9.9 b B}
- do_test selectA-3.47 {
- execsql {
- SELECT a,b,c FROM t1 EXCEPT SELECT a,b,c FROM t1 WHERE b>='d'
- ORDER BY a DESC
- }
- } {9.9 b B 1 a a {} C c}
- do_test selectA-3.48 {
- execsql {
- SELECT a,b,c FROM t1 INTERSECT SELECT a,b,c FROM t1 WHERE b>='d'
- ORDER BY a DESC
- }
- } {abc e e hello d D}
- do_test selectA-3.49 {
- execsql {
- SELECT a,b,c FROM t1 WHERE b>='d' INTERSECT SELECT a,b,c FROM t1
- ORDER BY a DESC
- }
- } {abc e e hello d D}
- do_test selectA-3.50 {
- execsql {
- SELECT a,b,c FROM t1 EXCEPT SELECT a,b,c FROM t1 WHERE b<'d'
- ORDER BY a DESC
- }
- } {abc e e hello d D}
- do_test selectA-3.51 {
- execsql {
- SELECT a,b,c FROM t1 INTERSECT SELECT a,b,c FROM t1 WHERE b<'d'
- ORDER BY a DESC
- }
- } {9.9 b B 1 a a {} C c}
- do_test selectA-3.52 {
- execsql {
- SELECT a,b,c FROM t1 WHERE b<'d' INTERSECT SELECT a,b,c FROM t1
- ORDER BY a DESC
- }
- } {9.9 b B 1 a a {} C c}
- do_test selectA-3.53 {
- execsql {
- SELECT a,b,c FROM t1 EXCEPT SELECT a,b,c FROM t1 WHERE b>='d'
- ORDER BY b, a DESC
- }
- } {{} C c 1 a a 9.9 b B}
- do_test selectA-3.54 {
- execsql {
- SELECT a,b,c FROM t1 INTERSECT SELECT a,b,c FROM t1 WHERE b>='d'
- ORDER BY b
- }
- } {hello d D abc e e}
- do_test selectA-3.55 {
- execsql {
- SELECT a,b,c FROM t1 WHERE b>='d' INTERSECT SELECT a,b,c FROM t1
- ORDER BY b DESC, c
- }
- } {abc e e hello d D}
- do_test selectA-3.56 {
- execsql {
- SELECT a,b,c FROM t1 EXCEPT SELECT a,b,c FROM t1 WHERE b<'d'
- ORDER BY b, c DESC, a
- }
- } {hello d D abc e e}
- do_test selectA-3.57 {
- execsql {
- SELECT a,b,c FROM t1 INTERSECT SELECT a,b,c FROM t1 WHERE b<'d'
- ORDER BY b COLLATE NOCASE
- }
- } {1 a a 9.9 b B {} C c}
- do_test selectA-3.58 {
- execsql {
- SELECT a,b,c FROM t1 WHERE b<'d' INTERSECT SELECT a,b,c FROM t1
- ORDER BY b
- }
- } {{} C c 1 a a 9.9 b B}
- do_test selectA-3.59 {
- execsql {
- SELECT a,b,c FROM t1 EXCEPT SELECT a,b,c FROM t1 WHERE b>='d'
- ORDER BY c, a DESC
- }
- } {1 a a 9.9 b B {} C c}
- do_test selectA-3.60 {
- execsql {
- SELECT a,b,c FROM t1 INTERSECT SELECT a,b,c FROM t1 WHERE b>='d'
- ORDER BY c
- }
- } {hello d D abc e e}
- do_test selectA-3.61 {
- execsql {
- SELECT a,b,c FROM t1 WHERE b>='d' INTERSECT SELECT a,b,c FROM t1
- ORDER BY c COLLATE BINARY, b DESC, c, a, b, c, a, b, c
- }
- } {hello d D abc e e}
- do_test selectA-3.62 {
- execsql {
- SELECT a,b,c FROM t1 EXCEPT SELECT a,b,c FROM t1 WHERE b<'d'
- ORDER BY c DESC, a
- }
- } {abc e e hello d D}
- do_test selectA-3.63 {
- execsql {
- SELECT a,b,c FROM t1 INTERSECT SELECT a,b,c FROM t1 WHERE b<'d'
- ORDER BY c COLLATE NOCASE
- }
- } {1 a a 9.9 b B {} C c}
- do_test selectA-3.64 {
- execsql {
- SELECT a,b,c FROM t1 WHERE b<'d' INTERSECT SELECT a,b,c FROM t1
- ORDER BY c
- }
- } {1 a a 9.9 b B {} C c}
- do_test selectA-3.65 {
- execsql {
- SELECT a,b,c FROM t3 INTERSECT SELECT a,b,c FROM t1 WHERE b<'d'
- ORDER BY c COLLATE NOCASE
- }
- } {1 a a 9.9 b B {} C c}
- do_test selectA-3.66 {
- execsql {
- SELECT a,b,c FROM t1 WHERE b<'d' INTERSECT SELECT a,b,c FROM t3
- ORDER BY c
- }
- } {1 a a 9.9 b B {} C c}
- do_test selectA-3.67 {
- execsql {
- SELECT a,b,c FROM t1 EXCEPT SELECT a,b,c FROM t3 WHERE b<'d'
- ORDER BY c DESC, a
- }
- } {abc e e hello d D}
- do_test selectA-3.68 {
- execsql {
- SELECT a,b,c FROM t1 EXCEPT SELECT a,b,c FROM t1 WHERE b<'d'
- INTERSECT SELECT a,b,c FROM t3
- EXCEPT SELECT b,c,a FROM t3
- ORDER BY c DESC, a
- }
- } {abc e e hello d D}
- do_test selectA-3.69 {
- execsql {
- SELECT a,b,c FROM t1 INTERSECT SELECT a,b,c FROM t1 WHERE b<'d'
- INTERSECT SELECT a,b,c FROM t3
- EXCEPT SELECT b,c,a FROM t3
- ORDER BY c COLLATE NOCASE
- }
- } {1 a a 9.9 b B {} C c}
- do_test selectA-3.70 {
- execsql {
- SELECT a,b,c FROM t1 WHERE b<'d' INTERSECT SELECT a,b,c FROM t1
- INTERSECT SELECT a,b,c FROM t3
- EXCEPT SELECT b,c,a FROM t3
- ORDER BY c
- }
- } {1 a a 9.9 b B {} C c}
- do_test selectA-3.71 {
- execsql {
- SELECT a,b,c FROM t1 WHERE b<'d'
- INTERSECT SELECT a,b,c FROM t1
- INTERSECT SELECT a,b,c FROM t3
- EXCEPT SELECT b,c,a FROM t3
- INTERSECT SELECT a,b,c FROM t1
- EXCEPT SELECT x,y,z FROM t2
- INTERSECT SELECT a,b,c FROM t3
- EXCEPT SELECT y,x,z FROM t2
- INTERSECT SELECT a,b,c FROM t1
- EXCEPT SELECT c,b,a FROM t3
- ORDER BY c
- }
- } {1 a a 9.9 b B {} C c}
- do_test selectA-3.72 {
- execsql {
- SELECT a,b,c FROM t3 UNION SELECT x,y,z FROM t2
- ORDER BY a,b,c
- }
- } {{} C c {} U u -23 Y y 1 a a 9.9 b B 5200000.0 X x hello d D mad Z z abc e e hare m M}
- do_test selectA-3.73 {
- execsql {
- SELECT a,b,c FROM t3 UNION SELECT x,y,z FROM t2
- ORDER BY a DESC,b,c
- }
- } {hare m M abc e e mad Z z hello d D 5200000.0 X x 9.9 b B 1 a a -23 Y y {} C c {} U u}
- do_test selectA-3.74 {
- execsql {
- SELECT a,b,c FROM t3 UNION SELECT x,y,z FROM t2
- ORDER BY a,c,b
- }
- } {{} C c {} U u -23 Y y 1 a a 9.9 b B 5200000.0 X x hello d D mad Z z abc e e hare m M}
- do_test selectA-3.75 {
- execsql {
- SELECT a,b,c FROM t3 UNION SELECT x,y,z FROM t2
- ORDER BY b,a,c
- }
- } {{} C c {} U u 5200000.0 X x -23 Y y mad Z z 1 a a 9.9 b B hello d D abc e e hare m M}
- do_test selectA-3.76 {
- execsql {
- SELECT a,b,c FROM t3 UNION SELECT x,y,z FROM t2
- ORDER BY b COLLATE NOCASE,a,c
- }
- } {1 a a 9.9 b B {} C c hello d D abc e e hare m M {} U u 5200000.0 X x -23 Y y mad Z z}
- do_test selectA-3.77 {
- execsql {
- SELECT a,b,c FROM t3 UNION SELECT x,y,z FROM t2
- ORDER BY b COLLATE NOCASE DESC,a,c
- }
- } {mad Z z -23 Y y 5200000.0 X x {} U u hare m M abc e e hello d D {} C c 9.9 b B 1 a a}
- do_test selectA-3.78 {
- execsql {
- SELECT a,b,c FROM t3 UNION SELECT x,y,z FROM t2
- ORDER BY c,b,a
- }
- } {1 a a 9.9 b B {} C c hello d D abc e e hare m M {} U u 5200000.0 X x -23 Y y mad Z z}
- do_test selectA-3.79 {
- execsql {
- SELECT a,b,c FROM t3 UNION SELECT x,y,z FROM t2
- ORDER BY c,a,b
- }
- } {1 a a 9.9 b B {} C c hello d D abc e e hare m M {} U u 5200000.0 X x -23 Y y mad Z z}
- do_test selectA-3.80 {
- execsql {
- SELECT a,b,c FROM t3 UNION SELECT x,y,z FROM t2
- ORDER BY c DESC,a,b
- }
- } {mad Z z -23 Y y 5200000.0 X x {} U u hare m M abc e e hello d D {} C c 9.9 b B 1 a a}
- do_test selectA-3.81 {
- execsql {
- SELECT a,b,c FROM t3 UNION SELECT x,y,z FROM t2
- ORDER BY c COLLATE BINARY DESC,a,b
- }
- } {mad Z z -23 Y y 5200000.0 X x {} U u abc e e {} C c 1 a a hare m M hello d D 9.9 b B}
- do_test selectA-3.82 {
- execsql {
- SELECT x,y,z FROM t2 UNION SELECT a,b,c FROM t3
- ORDER BY a,b,c
- }
- } {{} C c {} U u -23 Y y 1 a a 9.9 b B 5200000.0 X x hello d D mad Z z abc e e hare m M}
- do_test selectA-3.83 {
- execsql {
- SELECT x,y,z FROM t2 UNION SELECT a,b,c FROM t3
- ORDER BY a DESC,b,c
- }
- } {hare m M abc e e mad Z z hello d D 5200000.0 X x 9.9 b B 1 a a -23 Y y {} C c {} U u}
- do_test selectA-3.84 {
- execsql {
- SELECT x,y,z FROM t2 UNION SELECT a,b,c FROM t3
- ORDER BY a,c,b
- }
- } {{} C c {} U u -23 Y y 1 a a 9.9 b B 5200000.0 X x hello d D mad Z z abc e e hare m M}
- do_test selectA-3.85 {
- execsql {
- SELECT x,y,z FROM t2 UNION SELECT a,b,c FROM t3
- ORDER BY b,a,c
- }
- } {{} C c {} U u 5200000.0 X x -23 Y y mad Z z 1 a a 9.9 b B hello d D abc e e hare m M}
- do_test selectA-3.86 {
- execsql {
- SELECT x,y,z FROM t2 UNION SELECT a,b,c FROM t3
- ORDER BY y COLLATE NOCASE,x,z
- }
- } {1 a a 9.9 b B {} C c hello d D abc e e hare m M {} U u 5200000.0 X x -23 Y y mad Z z}
- do_test selectA-3.87 {
- execsql {
- SELECT x,y,z FROM t2 UNION SELECT a,b,c FROM t3
- ORDER BY y COLLATE NOCASE DESC,x,z
- }
- } {mad Z z -23 Y y 5200000.0 X x {} U u hare m M abc e e hello d D {} C c 9.9 b B 1 a a}
- do_test selectA-3.88 {
- execsql {
- SELECT x,y,z FROM t2 UNION SELECT a,b,c FROM t3
- ORDER BY c,b,a
- }
- } {1 a a 9.9 b B {} C c hello d D abc e e hare m M {} U u 5200000.0 X x -23 Y y mad Z z}
- do_test selectA-3.89 {
- execsql {
- SELECT x,y,z FROM t2 UNION SELECT a,b,c FROM t3
- ORDER BY c,a,b
- }
- } {1 a a 9.9 b B {} C c hello d D abc e e hare m M {} U u 5200000.0 X x -23 Y y mad Z z}
- do_test selectA-3.90 {
- execsql {
- SELECT x,y,z FROM t2 UNION SELECT a,b,c FROM t3
- ORDER BY c DESC,a,b
- }
- } {mad Z z -23 Y y 5200000.0 X x {} U u hare m M abc e e hello d D {} C c 9.9 b B 1 a a}
- do_test selectA-3.91 {
- execsql {
- SELECT x,y,z FROM t2 UNION SELECT a,b,c FROM t3
- ORDER BY z COLLATE BINARY DESC,x,y
- }
- } {mad Z z -23 Y y 5200000.0 X x {} U u abc e e {} C c 1 a a hare m M hello d D 9.9 b B}
- do_test selectA-3.92 {
- execsql {
- SELECT x,y,z FROM t2
- INTERSECT SELECT a,b,c FROM t3
- EXCEPT SELECT c,b,a FROM t1
- UNION SELECT a,b,c FROM t3
- INTERSECT SELECT a,b,c FROM t3
- EXCEPT SELECT c,b,a FROM t1
- UNION SELECT a,b,c FROM t3
- ORDER BY y COLLATE NOCASE DESC,x,z
- }
- } {mad Z z -23 Y y 5200000.0 X x {} U u hare m M abc e e hello d D {} C c 9.9 b B 1 a a}
- do_test selectA-3.93 {
- execsql {
- SELECT upper((SELECT c FROM t1 UNION SELECT z FROM t2 ORDER BY 1));
- }
- } {A}
- do_test selectA-3.94 {
- execsql {
- SELECT lower((SELECT c FROM t1 UNION ALL SELECT z FROM t2 ORDER BY 1));
- }
- } {a}
- do_test selectA-3.95 {
- execsql {
- SELECT lower((SELECT c FROM t1 INTERSECT SELECT z FROM t2 ORDER BY 1));
- }
- } {{}}
- do_test selectA-3.96 {
- execsql {
- SELECT lower((SELECT z FROM t2 EXCEPT SELECT c FROM t1 ORDER BY 1));
- }
- } {m}
- do_test selectA-3.97 {
- execsql {
- SELECT upper((SELECT x FROM (
- SELECT x,y,z FROM t2
- INTERSECT SELECT a,b,c FROM t3
- EXCEPT SELECT c,b,a FROM t1
- UNION SELECT a,b,c FROM t3
- INTERSECT SELECT a,b,c FROM t3
- EXCEPT SELECT c,b,a FROM t1
- UNION SELECT a,b,c FROM t3
- ORDER BY y COLLATE NOCASE DESC,x,z)))
- }
- } {MAD}
- finish_test
|