blob: 4ad0058255ae6f7b7a96c87cd62ca55d387c4f99 [file] [log] [blame]
>>
>>create table t002t1 (a int, b char(9), c int, d char(4));
--- SQL operation complete.
>>create table t002t2 (a int not null, b char(9), c int, d char(4), primary key (a));
--- SQL operation complete.
>>create table t002t3 (a int not null, b char(9) not null, c int, d char(4), primary key (a, b));
--- SQL operation complete.
>>create table t002temp (a int, b char(9), c int, d char(4));
--- SQL operation complete.
>>create table t002tmp2 (a int);
--- SQL operation complete.
>>
>>create table t002t5(a int not null, b int);
--- SQL operation complete.
>>create table t002t6(c int not null, d int, primary key(c));
--- SQL operation complete.
>>create table t002t7 ( col1 int );
--- SQL operation complete.
>>create table t002t8 ( col2 int );
--- SQL operation complete.
>>create table t002t9 ( col3 int );
--- SQL operation complete.
>>create table t002t10 ( col4 int );
--- SQL operation complete.
>>create table t002tab2 (char_1 CHAR(1),
+> numeric_1 NUMERIC(4, 0));
--- SQL operation complete.
>>
>>-- added for JIRA TRAFODION-2843
>>Create table D03s
+> (
+> pk int not null not droppable primary key
+> , val01 int
+> , val02 int
+> );
--- SQL operation complete.
>>
>>Create table F01s
+> (
+> pk int not null not droppable primary key
+> , fk_d01 int not null
+> , fk_d02 int not null
+> , fk_d03 int not null
+> , fk_d04 int not null
+> , fk_d05 int not null
+> , fk_d06 int not null
+> , fk_d07 int not null
+> , fk_d08 int not null
+> , fk_d09 int not null
+> , fk_d10 int not null
+> , val01 int
+> , val02 int
+> , val01_d01 int
+> , val02_d01 int
+> , val01_d02 int
+> , val02_d02 int
+> , val01_d03 int
+> , val02_d03 int
+> ) salt using 8 partitions;
--- SQL operation complete.
>>
>>?section Genesis_10_970911_6859
>>?ifMX
>>create view t002v(w,x) as values(1,11);
--- SQL operation complete.
>> -- should work
>>?ifMX
>>?ifMP
>>create table t002vt (w smallint not null, x smallint not null);
>>insert into t002vt values (1,11);
>>create view t002v(w,x) as select * from t002vt;
>>?ifMP
>>table t002v;
W X
---- ----
1 11
--- 1 row(s) selected.
>> -- should work
>>update t002v set w=0;
*** ERROR[4028] Table or view TRAFODION.SCH.T002V is not updatable.
*** ERROR[8822] The statement was not prepared.
>> -- better fail (error 4028)!
>>
>>#ifMX
>>create table t002ut1 (a int, b nchar(9), c int, d nchar(4));
--- SQL operation complete.
>>create table t002ut2 (a int not null, b nchar(9), c int, d nchar(4), primary key (a));
--- SQL operation complete.
>>create table t002ut3 (a int not null, b nchar(9) not null, c int, d nchar(4), primary key (a, b));
--- SQL operation complete.
>>create table t002utemp (a int, b nchar(9), c int, d nchar(4));
--- SQL operation complete.
>>create table t002utmp2 (a int);
--- SQL operation complete.
>>#ifMX
>>
>>-- To test solution 10-090107-8249
>>create table t002_oja(a int NOT NULL, PRIMARY key (a));
--- SQL operation complete.
>>create table t002_ojb(b int NOT NULL, PRIMARY key (b));
--- SQL operation complete.
>>create table t002_ojc(c int NOT NULL, PRIMARY key (c));
--- SQL operation complete.
>>create table t002_ojd(e int NOT NULL, PRIMARY key (e));
--- SQL operation complete.
>>create view t002_vex(x) as
+> select * from t002_ojd where e = 1 ;
--- SQL operation complete.
>>create view t002_valb(p,q) as
+> select a,b from t002_oja left join t002_ojb on a = b ;
--- SQL operation complete.
>>create view t002_valbic(p,q) as
+> select c,V.q from t002_valb V inner join t002_ojc on c = V.p ;
--- SQL operation complete.
>>
>>create table t002_oj1 (a int) ;
--- SQL operation complete.
>>create table t002_oj2 (b int) ;
--- SQL operation complete.
>>
>>-- For Genesis Soln 10-100706-1612
>> create table t002_outer_nlj (i int not null, j int not null);
--- SQL operation complete.
>>
>> create table t002_outer_lower_hj like t002_outer_nlj;
--- SQL operation complete.
>>
>> create table t002_inner_lower_hj like t002_outer_nlj;
--- SQL operation complete.
>>
>> create table t002_inner_upper_hj like t002_outer_nlj;
--- SQL operation complete.
>>-- the table t002_inner_upper_hj should be empty to cause the upper HJ
>>-- to issue a cancel to its left HJ child
>>
>>
>>?section dml
>>-- INSERT queries
>>insert into t002t1 values (10, 'abc', 20, 'xy');
--- 1 row(s) inserted.
>>insert into t002t1(b,d,a,c) values ('defg', 'wx', 10+10, 30);
--- 1 row(s) inserted.
>>insert into t002t2 select * from t002t1;
--- 2 row(s) inserted.
>>insert into t002t3(a,b,c,d) select a,b,c,d from t002t2;
--- 2 row(s) inserted.
>>insert into t002t5 values (1, null), (2,0);
--- 2 row(s) inserted.
>>insert into t002t6 values (-1,2), (3,4), (5,6), (7, null);
--- 4 row(s) inserted.
>>insert into t002t7 values(1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11);
--- 11 row(s) inserted.
>>insert into t002t8 values(10),(11),(12),(13),(14),(15),(16),(17),(18),(19),(20),(21);
--- 12 row(s) inserted.
>>insert into t002t9 values(20),(21),(22),(23),(24),(25),(26),(27),(28),(29),(30),(31);
--- 12 row(s) inserted.
>>insert into t002t10 values(30),(31),(32),(33),(34),(35),(36),(37),(38),(39),(40),(41);
--- 12 row(s) inserted.
>>insert into t002tab2 values('A', 1000), ('B',2000);
--- 2 row(s) inserted.
>>
>>#ifMX
>>insert into t002ut1 values (10, N'abc', 20, N'xy');
--- 1 row(s) inserted.
>>insert into t002ut1(b,d,a,c) values (N'defg', N'wx', 10+10, 30);
--- 1 row(s) inserted.
>>insert into t002ut2 select * from t002ut1;
--- 2 row(s) inserted.
>>insert into t002ut3(a,b,c,d) select a,b,c,d from t002ut2;
--- 2 row(s) inserted.
>>#ifMX
>>
>>-- UNION ALL
>>select * from t002t1 union all select * from t002t1;
A B C D
----------- --------- ----------- ----
10 abc 20 xy
10 abc 20 xy
20 defg 30 wx
20 defg 30 wx
--- 4 row(s) selected.
>>
>>select * from t002t1 union all
+>select * from t002t1 union all
+>select * from t002t2;
A B C D
----------- --------- ----------- ----
10 abc 20 xy
20 defg 30 wx
10 abc 20 xy
10 abc 20 xy
20 defg 30 wx
20 defg 30 wx
--- 6 row(s) selected.
>>
>>select a+1 from t002t1 union all select a from t002t1;
(EXPR)
--------------------
10
11
20
21
--- 4 row(s) selected.
>>
>>select * from (select * from t002t1 union all select * from t002t1) x;
A B C D
----------- --------- ----------- ----
10 abc 20 xy
10 abc 20 xy
20 defg 30 wx
20 defg 30 wx
--- 4 row(s) selected.
>>
>>select * from (values (1,2), (3,4)) x;
(EXPR) (EXPR)
------ ------
1 2
3 4
--- 2 row(s) selected.
>>
>>#ifMX
>>select * from t002ut1 union all select * from t002ut1;
A B C D
----------- ------------------ ----------- --------
10 abc 20 xy
10 abc 20 xy
20 defg 30 wx
20 defg 30 wx
--- 4 row(s) selected.
>>
>>select * from t002ut1 union all
+>select * from t002ut1 union all
+>select * from t002ut2;
A B C D
----------- ------------------ ----------- --------
10 abc 20 xy
20 defg 30 wx
10 abc 20 xy
10 abc 20 xy
20 defg 30 wx
20 defg 30 wx
--- 6 row(s) selected.
>>
>>select * from (select * from t002ut1 union all select * from t002ut1) x;
A B C D
----------- ------------------ ----------- --------
10 abc 20 xy
10 abc 20 xy
20 defg 30 wx
20 defg 30 wx
--- 4 row(s) selected.
>>#ifMX
>>
>>-- INSERT with multiple tuples
>>insert into t002t3 values (30, 'abc', 20, 'xy'), (30+10, 'defg', 30, 'wx');
--- 2 row(s) inserted.
>>select * from t002t3;
A B C D
----------- --------- ----------- ----
10 abc 20 xy
20 defg 30 wx
30 abc 20 xy
40 defg 30 wx
--- 4 row(s) selected.
>>
>>select * from t002t1 union all
+>select * from t002t2 union all
+>select * from t002t3;
A B C D
----------- --------- ----------- ----
10 abc 20 xy
20 defg 30 wx
30 abc 20 xy
10 abc 20 xy
40 defg 30 wx
10 abc 20 xy
20 defg 30 wx
20 defg 30 wx
--- 8 row(s) selected.
>>
>>select * from t002t1 union all (select * from t002t2 union all select * from t002t3);
A B C D
----------- --------- ----------- ----
10 abc 20 xy
20 defg 30 wx
10 abc 20 xy
10 abc 20 xy
20 defg 30 wx
20 defg 30 wx
30 abc 20 xy
40 defg 30 wx
--- 8 row(s) selected.
>>
>>#ifMX
>>insert into t002ut3 values (30, N'abc', 20, N'xy'), (30+10, N'defg', 30, N'wx');
--- 2 row(s) inserted.
>>select * from t002ut3;
A B C D
----------- ------------------ ----------- --------
10 abc 20 xy
20 defg 30 wx
30 abc 20 xy
40 defg 30 wx
--- 4 row(s) selected.
>>
>>select * from t002ut1 union all
+>select * from t002ut2 union all
+>select * from t002ut3;
A B C D
----------- ------------------ ----------- --------
10 abc 20 xy
20 defg 30 wx
30 abc 20 xy
10 abc 20 xy
40 defg 30 wx
10 abc 20 xy
20 defg 30 wx
20 defg 30 wx
--- 8 row(s) selected.
>>
>>select * from t002ut1 union all (select * from t002ut2 union all select * from t002ut3);
A B C D
----------- ------------------ ----------- --------
10 abc 20 xy
20 defg 30 wx
10 abc 20 xy
10 abc 20 xy
20 defg 30 wx
20 defg 30 wx
30 abc 20 xy
40 defg 30 wx
--- 8 row(s) selected.
>>#ifMX
>>
>>-- INSERT with UNION
>>delete from t002temp;
--- 0 row(s) deleted.
>>insert into t002temp
+>select * from t002t1 union all
+>select * from t002t2 union all
+>select * from t002t3;
--- 8 row(s) inserted.
>>select * from t002temp;
A B C D
----------- --------- ----------- ----
10 abc 20 xy
20 defg 30 wx
30 abc 20 xy
10 abc 20 xy
40 defg 30 wx
10 abc 20 xy
20 defg 30 wx
20 defg 30 wx
--- 8 row(s) selected.
>>
>>delete from t002tmp2;
--- 0 row(s) deleted.
>>insert into t002tmp2
+>select count(*) from
+>(select * from t002t1 join t002t2 on t002t1.a = t002t2.a
+> union all
+> select * from t002t1 join t002t2 on t002t1.a = t002t2.a) x;
--- 1 row(s) inserted.
>>select * from t002tmp2;
A
-----------
4
--- 1 row(s) selected.
>>
>>#ifMX
>>delete from t002utemp;
--- 0 row(s) deleted.
>>insert into t002utemp
+>select * from t002ut1 union all
+>select * from t002ut2 union all
+>select * from t002ut3;
--- 8 row(s) inserted.
>>select * from t002utemp;
A B C D
----------- ------------------ ----------- --------
10 abc 20 xy
20 defg 30 wx
30 abc 20 xy
10 abc 20 xy
40 defg 30 wx
10 abc 20 xy
20 defg 30 wx
20 defg 30 wx
--- 8 row(s) selected.
>>
>>delete from t002utmp2;
--- 0 row(s) deleted.
>>insert into t002utmp2
+>select count(*) from
+>(select * from t002ut1 join t002ut2 on t002ut1.a = t002ut2.a
+> union all
+> select * from t002ut1 join t002ut2 on t002ut1.a = t002ut2.a) x;
--- 1 row(s) inserted.
>>select * from t002utmp2;
A
-----------
4
--- 1 row(s) selected.
>>#ifMX
>>
>>-- AGGREGATEs with UNION
>>select count(*) from
+>(select * from t002t1 union all
+> select * from t002t2 union all
+> select * from t002t3) x;
(EXPR)
--------------------
8
--- 1 row(s) selected.
>>
>>select count(*) from t002t1 union all select count(*) from t002t2;
(EXPR)
--------------------
2
2
--- 2 row(s) selected.
>>
>>select count(*) from (select count(*) from t002t1 union all select count(*) from t002t2) x;
(EXPR)
--------------------
2
--- 1 row(s) selected.
>>
>>select count(*) from t002t1 union all
+>select count(*) from (select count(*) from t002t1 union all select count(*) from t002t2) x;
(EXPR)
--------------------
2
2
--- 2 row(s) selected.
>>
>>#ifMX
>>select count(*) from
+>(select * from t002ut1 union all
+> select * from t002ut2 union all
+> select * from t002ut3) x;
(EXPR)
--------------------
8
--- 1 row(s) selected.
>>
>>select count(*) from t002ut1 union all select count(*) from t002ut2;
(EXPR)
--------------------
2
2
--- 2 row(s) selected.
>>
>>select count(*) from (select count(*) from t002ut1 union all select count(*) from t002ut2) x;
(EXPR)
--------------------
2
--- 1 row(s) selected.
>>
>>select count(*) from t002ut1 union all
+>select count(*) from (select count(*) from t002ut1 union all select count(*) from t002ut2) x;
(EXPR)
--------------------
2
2
--- 2 row(s) selected.
>>#ifMX
>>
>>-- JOINs and UNIONs
>>select * from t002t1 join t002t2 on t002t1.a = t002t2.a
+>union all
+>select * from t002t1 join t002t2 on t002t1.a = t002t2.a;
A B C D A B C D
----------- --------- ----------- ---- ----------- --------- ----------- ----
10 abc 20 xy 10 abc 20 xy
10 abc 20 xy 10 abc 20 xy
20 defg 30 wx 20 defg 30 wx
20 defg 30 wx 20 defg 30 wx
--- 4 row(s) selected.
>>
>>-- All together now
>>select count(*) from
+>(select * from t002t1 join t002t2 on t002t1.a = t002t2.a
+> union all
+> select * from t002t1 join t002t2 on t002t1.a = t002t2.a) x;
(EXPR)
--------------------
4
--- 1 row(s) selected.
>>
>>select 1 + count(*) from
+>(select count(*) from (select * from t002t1) x natural join (select * from t002t2) y
+> union all
+> select count(*) from t002t1 join t002t2 on t002t1.a = t002t2.a) z;
(EXPR)
--------------------
3
--- 1 row(s) selected.
>>
>>delete from t002temp;
--- 8 row(s) deleted.
>>
>>
>>select * from t002temp;
--- 0 row(s) selected.
>>
>>#ifMX
>>select 1 + count(*) from
+>(select count(*) from (select * from t002ut1) x natural join (select * from t002ut2) y
+> union all
+> select count(*) from t002ut1 join t002ut2 on t002ut1.a = t002ut2.a) z;
(EXPR)
--------------------
3
--- 1 row(s) selected.
>>
>>delete from t002utemp;
--- 8 row(s) deleted.
>>
>>
>>select * from t002utemp;
--- 0 row(s) selected.
>>#ifMX
>>
>>
>>-- UNION
>>select a from t002t1 union select a from t002t1;
A
-----------
10
20
--- 2 row(s) selected.
>>select a from t002t1 union select a from t002t1 union select a from t002t1;
A
-----------
10
20
--- 2 row(s) selected.
>>select a from t002t1 union select a from t002t1 union select a from t002t1
+> union select a from t002t1;
A
-----------
10
20
--- 2 row(s) selected.
>>
>>-- UNION and UNION ALL which returns a relatively large number of rows.
>>select * from t002t7
+>UNION
+>((select *
+> from t002t8
+> UNION all
+> Select *
+> from t002t9
+>)
+>UNION all
+>select *
+>from t002t10)
+>order by 1;
COL1
-----------
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
--- 41 row(s) selected.
>>
>>
>>-- Join a null column (b) with a null (d) or not null column (c).
>>select * from t002t6 where c is null;
--- 0 row(s) selected.
>>select * from t002t5 left join t002t6 on b < c;
A B C D
----------- ----------- ----------- -----------
1 ? ? ?
2 0 3 4
2 0 5 6
2 0 7 ?
--- 4 row(s) selected.
>>select * from t002t5 inner join t002t6 on b < c;
A B C D
----------- ----------- ----------- -----------
2 0 3 4
2 0 5 6
2 0 7 ?
--- 3 row(s) selected.
>>select * from t002t5 left join t002t6 on c < b;
A B C D
----------- ----------- ----------- -----------
1 ? ? ?
2 0 -1 2
--- 2 row(s) selected.
>>select * from t002t5 inner join t002t6 on c < b;
A B C D
----------- ----------- ----------- -----------
2 0 -1 2
--- 1 row(s) selected.
>>
>>-- Same join's but null instantiation works differently.
>>select * from t002t5 left join t002t6 on b > c;
A B C D
----------- ----------- ----------- -----------
1 ? ? ?
2 0 -1 2
--- 2 row(s) selected.
>>select * from t002t5 inner join t002t6 on b > c;
A B C D
----------- ----------- ----------- -----------
2 0 -1 2
--- 1 row(s) selected.
>>select * from t002t5 left join t002t6 on c > b;
A B C D
----------- ----------- ----------- -----------
1 ? ? ?
2 0 3 4
2 0 5 6
2 0 7 ?
--- 4 row(s) selected.
>>select * from t002t5 inner join t002t6 on c > b;
A B C D
----------- ----------- ----------- -----------
2 0 3 4
2 0 5 6
2 0 7 ?
--- 3 row(s) selected.
>>
>>select * from t002t5 left join t002t6 on b+1 <= d;
A B C D
----------- ----------- ----------- -----------
1 ? ? ?
2 0 -1 2
2 0 3 4
2 0 5 6
--- 4 row(s) selected.
>>select * from t002t5 inner join t002t6 on b+1 <= d;
A B C D
----------- ----------- ----------- -----------
2 0 -1 2
2 0 3 4
2 0 5 6
--- 3 row(s) selected.
>>
>>select * from
+>(select * from (select * from (values (1)) x)y
+>natural join
+>(select * from (values (1)) xx)yy) z;
(EXPR) (EXPR)
------ ------
1 1
--- 1 row(s) selected.
>>
>>select * from (values (1), (2)) x natural join (select a from t002t1) y;
(EXPR) A
------ -----------
1 10
2 10
1 20
2 20
--- 4 row(s) selected.
>>
>>select a,sum(b) from (select * from (values (1), (2)) x
+> natural join (select a from t002t1)z) y(a,b) group by a;
A (EXPR)
------ --------------------
2 30
1 30
--- 2 row(s) selected.
>>
>>-- CR 10-010308-1591
>>select char_1, numeric_1
+>from t002tab2
+>group by char_1, numeric_1
+>having (char_1, numeric_1) in ( values ('A', 1000), ('F', 3000), (char_1,
+>2000));
CHAR_1 NUMERIC_1
------ ---------
A 1000
B 2000
--- 2 row(s) selected.
>>
>>-- Error 15001 expected:
>>select /*this is here to return a syntax error*/ sum(a),sum(b) from t002t1;
*** ERROR[4038] The operand of an AVG or SUM function must be numeric or interval.
*** ERROR[8822] The statement was not prepared.
>>
>>-- Error 15001 expected:
>>select a,sum(b) from
+>(
+> (select * from
+> (select * from
+> (select a,sum(a) from t002t1 group by a) x(a,b)
+> union
+> select * from (select a,sum(a) from t002t1 group by a) x(a,b)
+> ) w(a,b)
+> join
+> (select a,sum(a) from t002t1 group by a) y(a,b)
+> )
+> on w.a = y.a
+>) z(a,b,c,d)
+>group by a having a > 1 and sum(b) = 20;
*** ERROR[15001] A syntax error occurred at or before:
select a,sum(b) from ( (select * from (select * from (select a,sum(a) f
rom t002t1 group by a) x(a,b) union select * from (select a,sum(a) from t00
2t1 group by a) x(a,b) ) w(a,b) join (select a,sum(a) from t002t1 g
roup by a) y(a,b) ) on w.a = y.a ) z(a,b,c,d) group by a having a > 1 and s
^ (258 characters from start of SQL statement)
*** ERROR[8822] The statement was not prepared.
>>
>>-- Legal syntax, expect 1 row (20,20):
>>select a,sum(b) from
+>(
+> (select * from
+> (select * from
+> (select a,sum(a) from t002t1 group by a) x(a,b)
+> union
+> select * from (select a,sum(a) from t002t1 group by a) x(a,b)
+> ) w(a,b)
+> join
+> (select a,sum(a) from t002t1 group by a) y(a,b)
+> on w.a = y.a
+> )
+>) z(a,b,c,d)
+>group by a having a > 1 and sum(b) = 20;
A (EXPR)
----------- --------------------
20 20
--- 1 row(s) selected.
>>
>>-- Column B not found
>>select a,sum(b) from
+>(select a,b from
+> (select a,sum(a) from t002t1 group by a) x natural join
+> (select a,sum(a) from t002t1 group by a) y) z(a,b,c,d)
+> group by a;
*** ERROR[4001] Column B is not found. Tables in scope: X, Y. Default schema: TRAFODION.SCH.
*** ERROR[8822] The statement was not prepared.
>>
>>-- Number of columns mismatch
>>select a,sum(b) from
+>(select * from
+> (select a,sum(a) from t002t1 group by a) x natural join
+> (select a,sum(a) from t002t1 group by a) y) z(a,b,c,d)
+> group by a;
*** ERROR[4016] The number of derived columns (4) must equal the degree of the derived table (3).
*** ERROR[8822] The statement was not prepared.
>>
>>-- This should work
>>select a,sum(b) from
+>(select * from
+> (select a,sum(a) from t002t1 group by a) x natural join
+> (select a,sum(a) from t002t1 group by a) y) z(a,b,c)
+> group by a;
A (EXPR)
----------- --------------------
10 10
20 20
--- 2 row(s) selected.
>>
>>-- This should work
>>#ifMX
>>select a,sum(b) from
+>(select * from
+> (select a,sum(a) from t002ut1 group by a) x natural join
+> (select a,sum(a) from t002ut1 group by a) y) z(a,b,c)
+> group by a;
A (EXPR)
----------- --------------------
10 10
20 20
--- 2 row(s) selected.
>>#ifMX
>>
>>
>>-- This should work because x.* expands to unnamed column sum(a)
>>select x.* from
+> (select a,sum(a) from t002t1 group by a) x natural join
+> (select a,sum(a) from t002t1 group by a) y;
(EXPR)
--------------------
10
20
--- 2 row(s) selected.
>>
>>-- This should NOT work because x.* expands to zero columns
>>select x.* from
+> (select a from t002t1 group by a) x natural join
+> (select a from t002t1 group by a) y;
*** ERROR[4010] There are no columns with the correlation name X.
*** ERROR[8822] The statement was not prepared.
>>
>>select *, sum(a) from t002t1;
*** ERROR[4012] Column reference TRAFODION.SCH.T002T1.A must be a grouping column or be specified within an aggregate. On this grouped table a star reference is not allowed.
*** ERROR[8822] The statement was not prepared.
>> -- err 4012
>>select sum(a), * from t002t1;
*** ERROR[4012] Column reference TRAFODION.SCH.T002T1.A must be a grouping column or be specified within an aggregate. On this grouped table a star reference is not allowed.
*** ERROR[8822] The statement was not prepared.
>> -- err 4012
>>select *, sum(a) from t002t1 having 1=1;
*** ERROR[4012] Column reference TRAFODION.SCH.T002T1.A must be a grouping column or be specified within an aggregate. On this grouped table a star reference is not allowed.
*** ERROR[8822] The statement was not prepared.
>> -- err 4012
>>select *, sum(a) from t002t1 group by b;
*** ERROR[4012] Column reference TRAFODION.SCH.T002T1.A must be a grouping column or be specified within an aggregate. On this grouped table a star reference is not allowed.
*** ERROR[8822] The statement was not prepared.
>> -- err 4012
>>select *, sum(a) from t002t1 group by b,c,a,d;
A B C D (EXPR)
----------- --------- ----------- ---- --------------------
10 abc 20 xy 10
20 defg 30 wx 20
--- 2 row(s) selected.
>> -- ok
>>select sum(a) from t002t1;
(EXPR)
--------------------
30
--- 1 row(s) selected.
>> -- ok
>>select sum(a) from t002t1 having 1=1;
(EXPR)
--------------------
30
--- 1 row(s) selected.
>> -- ok
>>select sum(a) from t002t1 group by b;
(EXPR)
--------------------
10
20
--- 2 row(s) selected.
>> -- ok
>>--
>>--
>>
>>-- The select list contains a non-grouping non-aggregated column.
>>SELECT A,MAX(A) FROM T002T1;
*** ERROR[4021] The select list contains a nongrouping non-aggregated column, TRAFODION.SCH.T002T1.A.
*** ERROR[8822] The statement was not prepared.
>>-- Ok
>>SELECT A,MAX(A) FROM T002T1 GROUP BY A;
A (EXPR)
----------- -----------
10 10
20 20
--- 2 row(s) selected.
>>-- The column ref A must be a grouping column or be in an aggregate.
>>SELECT A,MAX(A) FROM T002T1 GROUP BY B;
*** ERROR[4005] Column reference A must be a grouping column or be specified within an aggregate.
*** ERROR[8822] The statement was not prepared.
>>--
>>--
>>
>>-- The select list contains a non-grouping non-aggregated column.
>>SELECT A,COUNT(*) FROM T002T1;
*** ERROR[4021] The select list contains a nongrouping non-aggregated column, TRAFODION.SCH.T002T1.A.
*** ERROR[8822] The statement was not prepared.
>>-- Ok
>>SELECT A,COUNT(*) FROM T002T1 GROUP BY A;
A (EXPR)
----------- --------------------
10 1
20 1
--- 2 row(s) selected.
>>-- The column ref A must be a grouping column or be in an aggregate.
>>SELECT A,COUNT(*) FROM T002T1 GROUP BY B;
*** ERROR[4005] Column reference A must be a grouping column or be specified within an aggregate.
*** ERROR[8822] The statement was not prepared.
>>--
>>--
>>
>>-- The select list contains a non-grouping non-aggregated column.
>>SELECT (SELECT A FROM T002T2 WHERE OUTT.A > A AND MAX(OUTT.B)>'C') FROM T002T1 OUTT;
*** ERROR[4021] The select list contains a nongrouping non-aggregated column, TRAFODION.SCH.T002T1.A.
*** ERROR[8822] The statement was not prepared.
>>-- The column ref OUTT.A must be a grouping column or be in an aggregate.
>>SELECT (SELECT A FROM T002T2 WHERE OUTT.A > A AND MAX(OUTT.B)>'C') FROM T002T1 OUTT
+>GROUP BY OUTT.B;
*** ERROR[4005] Column reference OUTT.A must be a grouping column or be specified within an aggregate.
*** ERROR[8822] The statement was not prepared.
>>--
>>--
>>
>>-- Soln: 10-040609-6809 -- A MapValueId node on right of a merge join where
>>-- MVI introduces Cast for one of the Join Preds.
>>
>>#ifdef SEABASE_REGRESS
>>control query shape
+>merge_join(cut,sort(sort_groupby(cut)));
--- SQL operation complete.
>>#else
>>control query shape
+>merge_join(cut,
+> mvi(sort(sort_groupby(pa(groupby(cut))))));
>>#endif
>>
>>
>>select *
+>from t002t3 t1,
+> (select count(*) from t002t3 group by a) t2(a)
+>where t1.a = t2.a;
--- 0 row(s) selected.
>>
>>control query shape cut;
--- SQL operation complete.
>>
>>-- Soln: 10-040317-4281 -- A MapValueId node on right of a merge join where
>>-- one of the projected values is a count that has been replaced with Cast(1).
>>
>>control query shape merge_join(cut,cut);
--- SQL operation complete.
>>
>>select cnt
+>from (select a from t002t2) t1,
+> (select a, count(*) as cnt from t002t2 group by a) t2
+>where t1.a = t2.a
+>;
CNT
--------------------
1
1
--- 2 row(s) selected.
>>
>>control query shape cut;
--- SQL operation complete.
>>
>>-- Three queries to test solution 10-090107-8249
>>-- all have left outer join that returns nothing from the inner
>>insert into t002_oja values(2);
--- 1 row(s) inserted.
>>insert into t002_ojb values(2);
--- 1 row(s) inserted.
>>insert into t002_ojc values(2);
--- 1 row(s) inserted.
>>insert into t002_ojd values(1);
--- 1 row(s) inserted.
>>
>>control query shape hybrid_hash_join(hybrid_hash_join(hybrid_hash_join(cut,
+> cut),cut),cut);
--- SQL operation complete.
>>
>>select * from t002_valbic X left join t002_vex Y on X.p = Y.x ;
P Q X
----------- ----------- -----------
2 2 ?
--- 1 row(s) selected.
>>
>>control query shape cut;
--- SQL operation complete.
>>
>>--
>>insert into t002_oj1 values (1);
--- 1 row(s) inserted.
>>insert into t002_oj2 values (2);
--- 1 row(s) inserted.
>>
>>control query shape hybrid_hash_join(cut,cut);
--- SQL operation complete.
>>
>>select * from t002_oj1
+> left join t002_oj2 on b = 2;
A B
----------- -----------
1 2
--- 1 row(s) selected.
>>
>>control query shape cut;
--- SQL operation complete.
>>
>>--
>>delete from t002_oj1;
--- 1 row(s) deleted.
>>delete from t002_oj2;
--- 1 row(s) deleted.
>>insert into t002_oj1 values (2) ;
--- 1 row(s) inserted.
>>insert into t002_oj2 select * from t002_oj1 where a < 3 ;
--- 1 row(s) inserted.
>>
>>control query shape hybrid_hash_join(cut,
+> sort_groupby(hybrid_hash_join(cut,cut)));
--- SQL operation complete.
>>
>>select b,
+> ( select a from t002_oj1
+> right outer join t002_oj2
+> on a = b
+> where b = 2
+> ) from t002_oj2 ;
B (EXPR)
----------- -----------
2 2
--- 1 row(s) selected.
>>
>>-- also try w/o pcode
>>control query default PCODE_OPT_LEVEL 'OFF';
--- SQL operation complete.
>>
>>select b,
+> ( select a from t002_oj1
+> right outer join t002_oj2
+> on a = b
+> where b = 2
+> ) from t002_oj2 ;
B (EXPR)
----------- -----------
2 2
--- 1 row(s) selected.
>>
>>control query default PCODE_OPT_LEVEL reset;
--- SQL operation complete.
>>
>>control query shape cut;
--- SQL operation complete.
>>
>>-- Test Genesis Case 10-090127-0322
>>-- Cancel Hash Join during Phase1, Reuse on, DelayedLeftRequest.
>>
>>control query default HJ_TYPE 'ORDERED';
--- SQL operation complete.
>>control query shape nested_join(cut,cut);
--- SQL operation complete.
>>
>>-- Used to hang
>>SELECT T1.a FROM t002t1 AS t1
+>WHERE EXISTS (
+> SELECT -74 FROM t002t1 t2
+> UNION all
+> SELECT -84 FROM t002t2 t2
+> WHERE NOT ( ( -51 = T1.c )
+> OR ( EXISTS (SELECT 1 FROM t002t2 T4, t002t3 t5
+> ) ) )
+> GROUP BY T2.b
+>);
A
-----------
10
20
--- 2 row(s) selected.
>>
>>-- Used to hang
>>SELECT T1.a FROM t002t1 AS t1
+>WHERE EXISTS (
+> SELECT -74 FROM t002t1 t2 where t1.c = 30
+> UNION all
+> SELECT -84 FROM t002t2 t2
+> WHERE NOT ( ( -51 = T1.c )
+> OR ( EXISTS (SELECT 1 FROM t002t2 T4, t002t3 t5
+> ) ) )
+> GROUP BY T2.b
+>);
A
-----------
20
--- 1 row(s) selected.
>>
>>control query shape cut;
--- SQL operation complete.
>>insert into t002t1 values(30, 'cdef', 40, 'yy');
--- 1 row(s) inserted.
>>insert into t002t1 values(40, 'dst', 50, 'zz');
--- 1 row(s) inserted.
>>control query shape nested_join(cut,cut);
--- SQL operation complete.
>>
>>-- Used to hang
>>SELECT T1.a FROM t002t1 AS t1
+>WHERE EXISTS (
+> SELECT -74 FROM t002t1 t2 where t1.c = 40
+> UNION all
+> SELECT -84 FROM t002t2 t2
+> WHERE NOT ( ( -51 = T1.c )
+> OR ( EXISTS (SELECT 1 FROM t002t2 T4, t002t3 t5
+> ) ) )
+> GROUP BY T2.b
+>);
A
-----------
30
--- 1 row(s) selected.
>>
>>control query default HJ_TYPE reset;
--- SQL operation complete.
>>control query shape cut;
--- SQL operation complete.
>>delete from t002t1 where a >= 30;
--- 2 row(s) deleted.
>>
>>-- END Test Genesis Case 10-090127-0322
>>
>>
>>-- Test Genesis Soln 10-100706-1612
>>-- Cancel of Hash-Join during phase1, with reuse, causes a hang
>>
>>-- repeat same values
>>insert into t002_outer_nlj values (1,1),(1,1),(1,1),(1,1),(1,1);
--- 5 row(s) inserted.
>>
>>insert into t002_outer_lower_hj values (2,2),(2,2),(2,2),(2,2);
--- 4 row(s) inserted.
>> -- just values
>>
>>-- t002_inner_upper_hj should be empty to cause the upper HJ to issue a cancel to its left child
>>
>>-- Make t002_inner_lower_hj big (to keep the lower HJ busy in phase 1, till
>>-- cancel comes). Insert 100,000 rows into t002_inner_lower_hj
>>#ifdef SEABASE_REGRESS
>>upsert using load into
+>#else
+>insert into
+>#endif
+>t002_inner_lower_hj
+> select x1 + x2*10 + x3*100 + x4*1000 + x5*10000,
+> case when x5 < 5 then 333 else 444 end
+> from (values(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) T(x5)
+> transpose 0,1,2,3,4,5,6,7,8,9 as x4
+> transpose 0,1,2,3,4,5,6,7,8,9 as x3
+> transpose 0,1,2,3,4,5,6,7,8,9 as x2
+> transpose 0,1,2,3,4,5,6,7,8,9 as x1
+> ;
--- 100000 row(s) inserted.
>>
>>cqd HJ_TYPE 'ORDERED';
--- SQL operation complete.
>>cqd NESTED_JOIN_CACHE 'OFF';
--- SQL operation complete.
>>cqd JOIN_ORDER_BY_USER 'ON';
--- SQL operation complete.
>>
>>control query shape nested_join(cut,ordered_hash_join(
+> ordered_hash_join(cut,cut), cut));
--- SQL operation complete.
>>
>>-- used to hang
>>select * from t002_outer_nlj where t002_outer_nlj.i in
+> (select t002_inner_lower_hj.i from
+> t002_outer_lower_hj,t002_inner_lower_hj,t002_inner_upper_hj
+> where t002_outer_lower_hj.i=t002_inner_lower_hj.i
+> and t002_inner_lower_hj.j=t002_inner_upper_hj.j);
--- 0 row(s) selected.
>>
>>control query shape cut;
--- SQL operation complete.
>>cqd HJ_TYPE reset;
--- SQL operation complete.
>>cqd NESTED_JOIN_CACHE reset;
--- SQL operation complete.
>>cqd JOIN_ORDER_BY_USER reset;
--- SQL operation complete.
>>
>>-- END Test Genesis Soln 10-100706-1612
>>
>>
>>-- NULL Instantiation
>>-- Instantiate a large (> 4K) row.
>>-- See Genesis Solution: 10-090922-4766
>>
>>insert into t002t6 values (10,20), (20,30);
--- 2 row(s) inserted.
>>
>>control query shape hhj(cut,cut);
--- SQL operation complete.
>>select t002t6.c, character_length(T.b), T.a+10
+>from t002t6
+>left outer join (
+> select b||b||b as b,a from (
+> select b||b||b||b as b,a from (
+> select b||b||b||b as b,a from (
+> select b||b||b||b as b,a from (
+> select b||b||b||b as b,a from (
+> select b||b||b||b as b,a as a from t002t2
+> ) T) T) T) T) T) T
+>on (t002t6.c = T.a)
+>;
C (EXPR) (EXPR)
----------- ---------- --------------------
-1 ? ?
3 ? ?
5 ? ?
7 ? ?
10 27648 20
20 27648 30
--- 6 row(s) selected.
>>control query shape nested_join(cut,cut);
--- SQL operation complete.
>>select t002t6.c, character_length(T.b), T.a+10
+>from t002t6
+>left outer join (
+> select b||b||b as b,a from (
+> select b||b||b||b as b,a from (
+> select b||b||b||b as b,a from (
+> select b||b||b||b as b,a from (
+> select b||b||b||b as b,a from (
+> select b||b||b||b as b,a as a from t002t2
+> ) T) T) T) T) T) T
+>on (t002t6.c = T.a)
+>;
C (EXPR) (EXPR)
----------- ---------- --------------------
-1 ? ?
3 ? ?
5 ? ?
7 ? ?
10 27648 20
20 27648 30
--- 6 row(s) selected.
>>
>>control query shape merge_join(cut,cut);
--- SQL operation complete.
>>cqd PCODE_OPT_LEVEL '0';
--- SQL operation complete.
>>select t002t6.c, character_length(T.b), T.a+10
+>from t002t6
+>left outer join (
+> select b||b||b as b,a from (
+> select b||b||b||b as b,a from (
+> select b||b||b||b as b,a from (
+> select b||b||b||b as b,a from (
+> select b||b||b||b as b,a from (
+> select b||b||b||b as b,a as a from t002t2
+> ) T) T) T) T) T) T
+>on (t002t6.c = T.a)
+>;
C (EXPR) (EXPR)
----------- ---------- --------------------
-1 ? ?
3 ? ?
5 ? ?
7 ? ?
10 27648 20
20 27648 30
--- 6 row(s) selected.
>>cqd PCODE_OPT_LEVEL reset;
--- SQL operation complete.
>>control query shape cut;
--- SQL operation complete.
>>
>>-- Test Outer Join with many (all) rows are null instanitated.
>>-- Test for Hash, Nested and Merge
>>control query shape groupby(hhj(cut,cut));
--- SQL operation complete.
>>select sum(t.x1), count(t002t2.b), sum(t002t2.c)
+>from (select x1
+> from (values(0)) T
+> transpose 0,1,2,3,4,5,6,7,8,9 as x5
+> transpose 0,1,2,3,4,5,6,7,8,9 as x4
+> transpose 0,1,2,3,4,5,6,7,8,9 as x3
+> transpose 0,1,2,3,4,5,6,7,8,9 as x2
+> transpose 0,1,2,3,4,5,6,7,8,9 as x1) T
+>left outer join t002t2
+>on (t.x1 = t002t2.a);
(EXPR) (EXPR) (EXPR)
-------------------- -------------------- --------------------
450000 0 ?
--- 1 row(s) selected.
>>
>>select count(*), count(t.x1), sum(t.x1), count(t002t2.b), sum(t002t2.c)
+>from (select x1
+> from (values(0)) T
+> transpose 0,1,2,3,4,5,6,7,8,9 as x5
+> transpose 0,1,2,3,4,5,6,7,8,9 as x4
+> transpose 0,1,2,3,4,5,6,7,8,9 as x3
+> transpose 0,1,2,3,4,5,6,7,8,9 as x2
+> transpose 0,1,2,3,4,5,6,7,8,9 as x1) T
+>full outer join t002t2
+>on (t.x1 = t002t2.a);
(EXPR) (EXPR) (EXPR) (EXPR) (EXPR)
-------------------- -------------------- -------------------- -------------------- --------------------
100002 100000 450000 2 50
--- 1 row(s) selected.
>>
>>control query shape groupby(nested_join(cut,cut));
--- SQL operation complete.
>>select sum(t.x1), count(t002t2.b), sum(t002t2.c)
+>from (select x1
+> from (values(0)) T
+> transpose 0,1,2,3,4,5,6,7,8,9 as x5
+> transpose 0,1,2,3,4,5,6,7,8,9 as x4
+> transpose 0,1,2,3,4,5,6,7,8,9 as x3
+> transpose 0,1,2,3,4,5,6,7,8,9 as x2
+> transpose 0,1,2,3,4,5,6,7,8,9 as x1) T
+>left outer join t002t2
+>on (t.x1 = t002t2.a);
(EXPR) (EXPR) (EXPR)
-------------------- -------------------- --------------------
450000 0 ?
--- 1 row(s) selected.
>>
>>control query shape groupby(merge_join(cut,cut));
--- SQL operation complete.
>>select sum(t.x1), count(t002t2.b), sum(t002t2.c)
+>from (select x1
+> from (values(0)) T
+> transpose 0,1,2,3,4,5,6,7,8,9 as x5
+> transpose 0,1,2,3,4,5,6,7,8,9 as x4
+> transpose 0,1,2,3,4,5,6,7,8,9 as x3
+> transpose 0,1,2,3,4,5,6,7,8,9 as x2
+> transpose 0,1,2,3,4,5,6,7,8,9 as x1) T
+>left outer join t002t2
+>on (t.x1 = t002t2.a);
(EXPR) (EXPR) (EXPR)
-------------------- -------------------- --------------------
450000 0 ?
--- 1 row(s) selected.
>>
>>-- Test Outer Join with many (most) rows are null instanitated.
>>-- Test for Hash, Nested and Merge
>>
>>control query shape groupby(hhj(cut,cut));
--- SQL operation complete.
>>select sum(t.x1), count(t002t2.b), sum(t002t2.c)
+>from (select x1
+> from (values(0)) T
+> transpose 0,1,2,3,4,5,6,7,8,9 as x5
+> transpose 0,1,2,3,4,5,6,7,8,9 as x4
+> transpose 0,1,2,3,4,5,6,7,8,9 as x3
+> transpose 0,1,2,3,4,5,6,7,8,9 as x2
+> transpose 10,1,20,3,4,5,6,7,8,9 as x1) T
+>left outer join t002t2
+>on (t.x1 = t002t2.a);
(EXPR) (EXPR) (EXPR)
-------------------- -------------------- --------------------
730000 20000 500000
--- 1 row(s) selected.
>>
>>control query shape groupby(nested_join(cut,cut));
--- SQL operation complete.
>>select sum(t.x1), count(t002t2.b), sum(t002t2.c)
+>from (select x1
+> from (values(0)) T
+> transpose 0,1,2,3,4,5,6,7,8,9 as x5
+> transpose 0,1,2,3,4,5,6,7,8,9 as x4
+> transpose 0,1,2,3,4,5,6,7,8,9 as x3
+> transpose 0,1,2,3,4,5,6,7,8,9 as x2
+> transpose 10,1,20,3,4,5,6,7,8,9 as x1) T
+>left outer join t002t2
+>on (t.x1 = t002t2.a);
(EXPR) (EXPR) (EXPR)
-------------------- -------------------- --------------------
730000 20000 500000
--- 1 row(s) selected.
>>
>>control query shape groupby(merge_join(cut,cut));
--- SQL operation complete.
>>select sum(t.x1), count(t002t2.b), sum(t002t2.c)
+>from (select x1
+> from (values(0)) T
+> transpose 0,1,2,3,4,5,6,7,8,9 as x5
+> transpose 0,1,2,3,4,5,6,7,8,9 as x4
+> transpose 0,1,2,3,4,5,6,7,8,9 as x3
+> transpose 0,1,2,3,4,5,6,7,8,9 as x2
+> transpose 10,1,20,3,4,5,6,7,8,9 as x1) T
+>left outer join t002t2
+>on (t.x1 = t002t2.a);
(EXPR) (EXPR) (EXPR)
-------------------- -------------------- --------------------
730000 20000 500000
--- 1 row(s) selected.
>>
>>control query shape cut;
--- SQL operation complete.
>>
>>
>>-- Test for multi outer joins.
>>-- Populate tables with regular data.
>>--
>>insert into t002_oja
+>select x1 + x2*10 + x3*100 + 10
+>from (values(0)) T
+>transpose 0,1,2,3,4,5,6,7,8,9 as x3
+>transpose 0,1,2,3,4,5,6,7,8,9 as x2
+>transpose 0,1,2,3,4,5,6,7,8,9 as x1;
--- 1000 row(s) inserted.
>>
>>insert into t002_ojb
+>select (x1 + x2*10 + x3*100 + 10) * 2
+>from (values(0)) T
+>transpose 0,1,2,3,4,5,6,7,8,9 as x3
+>transpose 0,1,2,3,4,5,6,7,8,9 as x2
+>transpose 0,1,2,3,4,5,6,7,8,9 as x1;
--- 1000 row(s) inserted.
>>
>>insert into t002_ojc
+>select (x1 + x2*10 + x3*100 + 10) * 3
+>from (values(0)) T
+>transpose 0,1,2,3,4,5,6,7,8,9 as x3
+>transpose 0,1,2,3,4,5,6,7,8,9 as x2
+>transpose 0,1,2,3,4,5,6,7,8,9 as x1;
--- 1000 row(s) inserted.
>>
>>insert into t002_ojd
+>select (x1 + x2*10 + x3*100 + 10) * 4
+>from (values(0)) T
+>transpose 0,1,2,3,4,5,6,7,8,9 as x3
+>transpose 0,1,2,3,4,5,6,7,8,9 as x2
+>transpose 0,1,2,3,4,5,6,7,8,9 as x1;
--- 1000 row(s) inserted.
>>
>>-- Test with Hash, Nested and Merge.
>>control query default hash_joins reset;
--- SQL operation complete.
>>control query default nested_joins 'off';
--- SQL operation complete.
>>control query default merge_joins 'off';
--- SQL operation complete.
>>select * from t002_oja A
+> left join t002_ojb B
+> on A.a = B.b
+> left join t002_ojc C
+> on (A.a = C.c)
+> left join t002_ojd D
+> on A.a = D.e ;
A B C E
----------- ----------- ----------- -----------
2 2 2 ?
10 ? ? ?
11 ? ? ?
12 ? ? ?
13 ? ? ?
14 ? ? ?
15 ? ? ?
16 ? ? ?
17 ? ? ?
18 ? ? ?
19 ? ? ?
20 20 ? ?
21 ? ? ?
22 22 ? ?
23 ? ? ?
24 24 ? ?
25 ? ? ?
26 26 ? ?
27 ? ? ?
28 28 ? ?
29 ? ? ?
30 30 30 ?
31 ? ? ?
32 32 ? ?
33 ? 33 ?
34 34 ? ?
35 ? ? ?
36 36 36 ?
37 ? ? ?
38 38 ? ?
39 ? 39 ?
40 40 ? 40
41 ? ? ?
42 42 42 ?
43 ? ? ?
44 44 ? 44
45 ? 45 ?
46 46 ? ?
47 ? ? ?
48 48 48 48
49 ? ? ?
50 50 ? ?
51 ? 51 ?
52 52 ? 52
53 ? ? ?
54 54 54 ?
55 ? ? ?
56 56 ? 56
57 ? 57 ?
58 58 ? ?
59 ? ? ?
60 60 60 60
61 ? ? ?
62 62 ? ?
63 ? 63 ?
64 64 ? 64
65 ? ? ?
66 66 66 ?
67 ? ? ?
68 68 ? 68
69 ? 69 ?
70 70 ? ?
71 ? ? ?
72 72 72 72
73 ? ? ?
74 74 ? ?
75 ? 75 ?
76 76 ? 76
77 ? ? ?
78 78 78 ?
79 ? ? ?
80 80 ? 80
81 ? 81 ?
82 82 ? ?
83 ? ? ?
84 84 84 84
85 ? ? ?
86 86 ? ?
87 ? 87 ?
88 88 ? 88
89 ? ? ?
90 90 90 ?
91 ? ? ?
92 92 ? 92
93 ? 93 ?
94 94 ? ?
95 ? ? ?
96 96 96 96
97 ? ? ?
98 98 ? ?
99 ? 99 ?
100 100 ? 100
101 ? ? ?
102 102 102 ?
103 ? ? ?
104 104 ? 104
105 ? 105 ?
106 106 ? ?
107 ? ? ?
108 108 108 108
109 ? ? ?
110 110 ? ?
111 ? 111 ?
112 112 ? 112
113 ? ? ?
114 114 114 ?
115 ? ? ?
116 116 ? 116
117 ? 117 ?
118 118 ? ?
119 ? ? ?
120 120 120 120
121 ? ? ?
122 122 ? ?
123 ? 123 ?
124 124 ? 124
125 ? ? ?
126 126 126 ?
127 ? ? ?
128 128 ? 128
129 ? 129 ?
130 130 ? ?
131 ? ? ?
132 132 132 132
133 ? ? ?
134 134 ? ?
135 ? 135 ?
136 136 ? 136
137 ? ? ?
138 138 138 ?
139 ? ? ?
140 140 ? 140
141 ? 141 ?
142 142 ? ?
143 ? ? ?
144 144 144 144
145 ? ? ?
146 146 ? ?
147 ? 147 ?
148 148 ? 148
149 ? ? ?
150 150 150 ?
151 ? ? ?
152 152 ? 152
153 ? 153 ?
154 154 ? ?
155 ? ? ?
156 156 156 156
157 ? ? ?
158 158 ? ?
159 ? 159 ?
160 160 ? 160
161 ? ? ?
162 162 162 ?
163 ? ? ?
164 164 ? 164
165 ? 165 ?
166 166 ? ?
167 ? ? ?
168 168 168 168
169 ? ? ?
170 170 ? ?
171 ? 171 ?
172 172 ? 172
173 ? ? ?
174 174 174 ?
175 ? ? ?
176 176 ? 176
177 ? 177 ?
178 178 ? ?
179 ? ? ?
180 180 180 180
181 ? ? ?
182 182 ? ?
183 ? 183 ?
184 184 ? 184
185 ? ? ?
186 186 186 ?
187 ? ? ?
188 188 ? 188
189 ? 189 ?
190 190 ? ?
191 ? ? ?
192 192 192 192
193 ? ? ?
194 194 ? ?
195 ? 195 ?
196 196 ? 196
197 ? ? ?
198 198 198 ?
199 ? ? ?
200 200 ? 200
201 ? 201 ?
202 202 ? ?
203 ? ? ?
204 204 204 204
205 ? ? ?
206 206 ? ?
207 ? 207 ?
208 208 ? 208
209 ? ? ?
210 210 210 ?
211 ? ? ?
212 212 ? 212
213 ? 213 ?
214 214 ? ?
215 ? ? ?
216 216 216 216
217 ? ? ?
218 218 ? ?
219 ? 219 ?
220 220 ? 220
221 ? ? ?
222 222 222 ?
223 ? ? ?
224 224 ? 224
225 ? 225 ?
226 226 ? ?
227 ? ? ?
228 228 228 228
229 ? ? ?
230 230 ? ?
231 ? 231 ?
232 232 ? 232
233 ? ? ?
234 234 234 ?
235 ? ? ?
236 236 ? 236
237 ? 237 ?
238 238 ? ?
239 ? ? ?
240 240 240 240
241 ? ? ?
242 242 ? ?
243 ? 243 ?
244 244 ? 244
245 ? ? ?
246 246 246 ?
247 ? ? ?
248 248 ? 248
249 ? 249 ?
250 250 ? ?
251 ? ? ?
252 252 252 252
253 ? ? ?
254 254 ? ?
255 ? 255 ?
256 256 ? 256
257 ? ? ?
258 258 258 ?
259 ? ? ?
260 260 ? 260
261 ? 261 ?
262 262 ? ?
263 ? ? ?
264 264 264 264
265 ? ? ?
266 266 ? ?
267 ? 267 ?
268 268 ? 268
269 ? ? ?
270 270 270 ?
271 ? ? ?
272 272 ? 272
273 ? 273 ?
274 274 ? ?
275 ? ? ?
276 276 276 276
277 ? ? ?
278 278 ? ?
279 ? 279 ?
280 280 ? 280
281 ? ? ?
282 282 282 ?
283 ? ? ?
284 284 ? 284
285 ? 285 ?
286 286 ? ?
287 ? ? ?
288 288 288 288
289 ? ? ?
290 290 ? ?
291 ? 291 ?
292 292 ? 292
293 ? ? ?
294 294 294 ?
295 ? ? ?
296 296 ? 296
297 ? 297 ?
298 298 ? ?
299 ? ? ?
300 300 300 300
301 ? ? ?
302 302 ? ?
303 ? 303 ?
304 304 ? 304
305 ? ? ?
306 306 306 ?
307 ? ? ?
308 308 ? 308
309 ? 309 ?
310 310 ? ?
311 ? ? ?
312 312 312 312
313 ? ? ?
314 314 ? ?
315 ? 315 ?
316 316 ? 316
317 ? ? ?
318 318 318 ?
319 ? ? ?
320 320 ? 320
321 ? 321 ?
322 322 ? ?
323 ? ? ?
324 324 324 324
325 ? ? ?
326 326 ? ?
327 ? 327 ?
328 328 ? 328
329 ? ? ?
330 330 330 ?
331 ? ? ?
332 332 ? 332
333 ? 333 ?
334 334 ? ?
335 ? ? ?
336 336 336 336
337 ? ? ?
338 338 ? ?
339 ? 339 ?
340 340 ? 340
341 ? ? ?
342 342 342 ?
343 ? ? ?
344 344 ? 344
345 ? 345 ?
346 346 ? ?
347 ? ? ?
348 348 348 348
349 ? ? ?
350 350 ? ?
351 ? 351 ?
352 352 ? 352
353 ? ? ?
354 354 354 ?
355 ? ? ?
356 356 ? 356
357 ? 357 ?
358 358 ? ?
359 ? ? ?
360 360 360 360
361 ? ? ?
362 362 ? ?
363 ? 363 ?
364 364 ? 364
365 ? ? ?
366 366 366 ?
367 ? ? ?
368 368 ? 368
369 ? 369 ?
370 370 ? ?
371 ? ? ?
372 372 372 372
373 ? ? ?
374 374 ? ?
375 ? 375 ?
376 376 ? 376
377 ? ? ?
378 378 378 ?
379 ? ? ?
380 380 ? 380
381 ? 381 ?
382 382 ? ?
383 ? ? ?
384 384 384 384
385 ? ? ?
386 386 ? ?
387 ? 387 ?
388 388 ? 388
389 ? ? ?
390 390 390 ?
391 ? ? ?
392 392 ? 392
393 ? 393 ?
394 394 ? ?
395 ? ? ?
396 396 396 396
397 ? ? ?
398 398 ? ?
399 ? 399 ?
400 400 ? 400
401 ? ? ?
402 402 402 ?
403 ? ? ?
404 404 ? 404
405 ? 405 ?
406 406 ? ?
407 ? ? ?
408 408 408 408
409 ? ? ?
410 410 ? ?
411 ? 411 ?
412 412 ? 412
413 ? ? ?
414 414 414 ?
415 ? ? ?
416 416 ? 416
417 ? 417 ?
418 418 ? ?
419 ? ? ?
420 420 420 420
421 ? ? ?
422 422 ? ?
423 ? 423 ?
424 424 ? 424
425 ? ? ?
426 426 426 ?
427 ? ? ?
428 428 ? 428
429 ? 429 ?
430 430 ? ?
431 ? ? ?
432 432 432 432
433 ? ? ?
434 434 ? ?
435 ? 435 ?
436 436 ? 436
437 ? ? ?
438 438 438 ?
439 ? ? ?
440 440 ? 440
441 ? 441 ?
442 442 ? ?
443 ? ? ?
444 444 444 444
445 ? ? ?
446 446 ? ?
447 ? 447 ?
448 448 ? 448
449 ? ? ?
450 450 450 ?
451 ? ? ?
452 452 ? 452
453 ? 453 ?
454 454 ? ?
455 ? ? ?
456 456 456 456
457 ? ? ?
458 458 ? ?
459 ? 459 ?
460 460 ? 460
461 ? ? ?
462 462 462 ?
463 ? ? ?
464 464 ? 464
465 ? 465 ?
466 466 ? ?
467 ? ? ?
468 468 468 468
469 ? ? ?
470 470 ? ?
471 ? 471 ?
472 472 ? 472
473 ? ? ?
474 474 474 ?
475 ? ? ?
476 476 ? 476
477 ? 477 ?
478 478 ? ?
479 ? ? ?
480 480 480 480
481 ? ? ?
482 482 ? ?
483 ? 483 ?
484 484 ? 484
485 ? ? ?
486 486 486 ?
487 ? ? ?
488 488 ? 488
489 ? 489 ?
490 490 ? ?
491 ? ? ?
492 492 492 492
493 ? ? ?
494 494 ? ?
495 ? 495 ?
496 496 ? 496
497 ? ? ?
498 498 498 ?
499 ? ? ?
500 500 ? 500
501 ? 501 ?
502 502 ? ?
503 ? ? ?
504 504 504 504
505 ? ? ?
506 506 ? ?
507 ? 507 ?
508 508 ? 508
509 ? ? ?
510 510 510 ?
511 ? ? ?
512 512 ? 512
513 ? 513 ?
514 514 ? ?
515 ? ? ?
516 516 516 516
517 ? ? ?
518 518 ? ?
519 ? 519 ?
520 520 ? 520
521 ? ? ?
522 522 522 ?
523 ? ? ?
524 524 ? 524
525 ? 525 ?
526 526 ? ?
527 ? ? ?
528 528 528 528
529 ? ? ?
530 530 ? ?
531 ? 531 ?
532 532 ? 532
533 ? ? ?
534 534 534 ?
535 ? ? ?
536 536 ? 536
537 ? 537 ?
538 538 ? ?
539 ? ? ?
540 540 540 540
541 ? ? ?
542 542 ? ?
543 ? 543 ?
544 544 ? 544
545 ? ? ?
546 546 546 ?
547 ? ? ?
548 548 ? 548
549 ? 549 ?
550 550 ? ?
551 ? ? ?
552 552 552 552
553 ? ? ?
554 554 ? ?
555 ? 555 ?
556 556 ? 556
557 ? ? ?
558 558 558 ?
559 ? ? ?
560 560 ? 560
561 ? 561 ?
562 562 ? ?
563 ? ? ?
564 564 564 564
565 ? ? ?
566 566 ? ?
567 ? 567 ?
568 568 ? 568
569 ? ? ?
570 570 570 ?
571 ? ? ?
572 572 ? 572
573 ? 573 ?
574 574 ? ?
575 ? ? ?
576 576 576 576
577 ? ? ?
578 578 ? ?
579 ? 579 ?
580 580 ? 580
581 ? ? ?
582 582 582 ?
583 ? ? ?
584 584 ? 584
585 ? 585 ?
586 586 ? ?
587 ? ? ?
588 588 588 588
589 ? ? ?
590 590 ? ?
591 ? 591 ?
592 592 ? 592
593 ? ? ?
594 594 594 ?
595 ? ? ?
596 596 ? 596
597 ? 597 ?
598 598 ? ?
599 ? ? ?
600 600 600 600
601 ? ? ?
602 602 ? ?
603 ? 603 ?
604 604 ? 604
605 ? ? ?
606 606 606 ?
607 ? ? ?
608 608 ? 608
609 ? 609 ?
610 610 ? ?
611 ? ? ?
612 612 612 612
613 ? ? ?
614 614 ? ?
615 ? 615 ?
616 616 ? 616
617 ? ? ?
618 618 618 ?
619 ? ? ?
620 620 ? 620
621 ? 621 ?
622 622 ? ?
623 ? ? ?
624 624 624 624
625 ? ? ?
626 626 ? ?
627 ? 627 ?
628 628 ? 628
629 ? ? ?
630 630 630 ?
631 ? ? ?
632 632 ? 632
633 ? 633 ?
634 634 ? ?
635 ? ? ?
636 636 636 636
637 ? ? ?
638 638 ? ?
639 ? 639 ?
640 640 ? 640
641 ? ? ?
642 642 642 ?
643 ? ? ?
644 644 ? 644
645 ? 645 ?
646 646 ? ?
647 ? ? ?
648 648 648 648
649 ? ? ?
650 650 ? ?
651 ? 651 ?
652 652 ? 652
653 ? ? ?
654 654 654 ?
655 ? ? ?
656 656 ? 656
657 ? 657 ?
658 658 ? ?
659 ? ? ?
660 660 660 660
661 ? ? ?
662 662 ? ?
663 ? 663 ?
664 664 ? 664
665 ? ? ?
666 666 666 ?
667 ? ? ?
668 668 ? 668
669 ? 669 ?
670 670 ? ?
671 ? ? ?
672 672 672 672
673 ? ? ?
674 674 ? ?
675 ? 675 ?
676 676 ? 676
677 ? ? ?
678 678 678 ?
679 ? ? ?
680 680 ? 680
681 ? 681 ?
682 682 ? ?
683 ? ? ?
684 684 684 684
685 ? ? ?
686 686 ? ?
687 ? 687 ?
688 688 ? 688
689 ? ? ?
690 690 690 ?
691 ? ? ?
692 692 ? 692
693 ? 693 ?
694 694 ? ?
695 ? ? ?
696 696 696 696
697 ? ? ?
698 698 ? ?
699 ? 699 ?
700 700 ? 700
701 ? ? ?
702 702 702 ?
703 ? ? ?
704 704 ? 704
705 ? 705 ?
706 706 ? ?
707 ? ? ?
708 708 708 708
709 ? ? ?
710 710 ? ?
711 ? 711 ?
712 712 ? 712
713 ? ? ?
714 714 714 ?
715 ? ? ?
716 716 ? 716
717 ? 717 ?
718 718 ? ?
719 ? ? ?
720 720 720 720
721 ? ? ?
722 722 ? ?
723 ? 723 ?
724 724 ? 724
725 ? ? ?
726 726 726 ?
727 ? ? ?
728 728 ? 728
729 ? 729 ?
730 730 ? ?
731 ? ? ?
732 732 732 732
733 ? ? ?
734 734 ? ?
735 ? 735 ?
736 736 ? 736
737 ? ? ?
738 738 738 ?
739 ? ? ?
740 740 ? 740
741 ? 741 ?
742 742 ? ?
743 ? ? ?
744 744 744 744
745 ? ? ?
746 746 ? ?
747 ? 747 ?
748 748 ? 748
749 ? ? ?
750 750 750 ?
751 ? ? ?
752 752 ? 752
753 ? 753 ?
754 754 ? ?
755 ? ? ?
756 756 756 756
757 ? ? ?
758 758 ? ?
759 ? 759 ?
760 760 ? 760
761 ? ? ?
762 762 762 ?
763 ? ? ?
764 764 ? 764
765 ? 765 ?
766 766 ? ?
767 ? ? ?
768 768 768 768
769 ? ? ?
770 770 ? ?
771 ? 771 ?
772 772 ? 772
773 ? ? ?
774 774 774 ?
775 ? ? ?
776 776 ? 776
777 ? 777 ?
778 778 ? ?
779 ? ? ?
780 780 780 780
781 ? ? ?
782 782 ? ?
783 ? 783 ?
784 784 ? 784
785 ? ? ?
786 786 786 ?
787 ? ? ?
788 788 ? 788
789 ? 789 ?
790 790 ? ?
791 ? ? ?
792 792 792 792
793 ? ? ?
794 794 ? ?
795 ? 795 ?
796 796 ? 796
797 ? ? ?
798 798 798 ?
799 ? ? ?
800 800 ? 800
801 ? 801 ?
802 802 ? ?
803 ? ? ?
804 804 804 804
805 ? ? ?
806 806 ? ?
807 ? 807 ?
808 808 ? 808
809 ? ? ?
810 810 810 ?
811 ? ? ?
812 812 ? 812
813 ? 813 ?
814 814 ? ?
815 ? ? ?
816 816 816 816
817 ? ? ?
818 818 ? ?
819 ? 819 ?
820 820 ? 820
821 ? ? ?
822 822 822 ?
823 ? ? ?
824 824 ? 824
825 ? 825 ?
826 826 ? ?
827 ? ? ?
828 828 828 828
829 ? ? ?
830 830 ? ?
831 ? 831 ?
832 832 ? 832
833 ? ? ?
834 834 834 ?
835 ? ? ?
836 836 ? 836
837 ? 837 ?
838 838 ? ?
839 ? ? ?
840 840 840 840
841 ? ? ?
842 842 ? ?
843 ? 843 ?
844 844 ? 844
845 ? ? ?
846 846 846 ?
847 ? ? ?
848 848 ? 848
849 ? 849 ?
850 850 ? ?
851 ? ? ?
852 852 852 852
853 ? ? ?
854 854 ? ?
855 ? 855 ?
856 856 ? 856
857 ? ? ?
858 858 858 ?
859 ? ? ?
860 860 ? 860
861 ? 861 ?
862 862 ? ?
863 ? ? ?
864 864 864 864
865 ? ? ?
866 866 ? ?
867 ? 867 ?
868 868 ? 868
869 ? ? ?
870 870 870 ?
871 ? ? ?
872 872 ? 872
873 ? 873 ?
874 874 ? ?
875 ? ? ?
876 876 876 876
877 ? ? ?
878 878 ? ?
879 ? 879 ?
880 880 ? 880
881 ? ? ?
882 882 882 ?
883 ? ? ?
884 884 ? 884
885 ? 885 ?
886 886 ? ?
887 ? ? ?
888 888 888 888
889 ? ? ?
890 890 ? ?
891 ? 891 ?
892 892 ? 892
893 ? ? ?
894 894 894 ?
895 ? ? ?
896 896 ? 896
897 ? 897 ?
898 898 ? ?
899 ? ? ?
900 900 900 900
901 ? ? ?
902 902 ? ?
903 ? 903 ?
904 904 ? 904
905 ? ? ?
906 906 906 ?
907 ? ? ?
908 908 ? 908
909 ? 909 ?
910 910 ? ?
911 ? ? ?
912 912 912 912
913 ? ? ?
914 914 ? ?
915 ? 915 ?
916 916 ? 916
917 ? ? ?
918 918 918 ?
919 ? ? ?
920 920 ? 920
921 ? 921 ?
922 922 ? ?
923 ? ? ?
924 924 924 924
925 ? ? ?
926 926 ? ?
927 ? 927 ?
928 928 ? 928
929 ? ? ?
930 930 930 ?
931 ? ? ?
932 932 ? 932
933 ? 933 ?
934 934 ? ?
935 ? ? ?
936 936 936 936
937 ? ? ?
938 938 ? ?
939 ? 939 ?
940 940 ? 940
941 ? ? ?
942 942 942 ?
943 ? ? ?
944 944 ? 944
945 ? 945 ?
946 946 ? ?
947 ? ? ?
948 948 948 948
949 ? ? ?
950 950 ? ?
951 ? 951 ?
952 952 ? 952
953 ? ? ?
954 954 954 ?
955 ? ? ?
956 956 ? 956
957 ? 957 ?
958 958 ? ?
959 ? ? ?
960 960 960 960
961 ? ? ?
962 962 ? ?
963 ? 963 ?
964 964 ? 964
965 ? ? ?
966 966 966 ?
967 ? ? ?
968 968 ? 968
969 ? 969 ?
970 970 ? ?
971 ? ? ?
972 972 972 972
973 ? ? ?
974 974 ? ?
975 ? 975 ?
976 976 ? 976
977 ? ? ?
978 978 978 ?
979 ? ? ?
980 980 ? 980
981 ? 981 ?
982 982 ? ?
983 ? ? ?
984 984 984 984
985 ? ? ?
986 986 ? ?
987 ? 987 ?
988 988 ? 988
989 ? ? ?
990 990 990 ?
991 ? ? ?
992 992 ? 992
993 ? 993 ?
994 994 ? ?
995 ? ? ?
996 996 996 996
997 ? ? ?
998 998 ? ?
999 ? 999 ?
1000 1000 ? 1000
1001 ? ? ?
1002 1002 1002 ?
1003 ? ? ?
1004 1004 ? 1004
1005 ? 1005 ?
1006 1006 ? ?
1007 ? ? ?
1008 1008 1008 1008
1009 ? ? ?
--- 1001 row(s) selected.
>>
>>-- With an AfterJoinPred
>>select * from t002_oja A
+> left join t002_ojb B
+> on A.a = B.b
+> left join t002_ojc C
+> on (A.a = C.c)
+> left join t002_ojd D
+> on A.a = D.e
+>where A.a < 100 and B.b is null and C.c is null and D.e is null;
A B C E
----------- ----------- ----------- -----------
10 ? ? ?
11 ? ? ?
12 ? ? ?
13 ? ? ?
14 ? ? ?
15 ? ? ?
16 ? ? ?
17 ? ? ?
18 ? ? ?
19 ? ? ?
21 ? ? ?
23 ? ? ?
25 ? ? ?
27 ? ? ?
29 ? ? ?
31 ? ? ?
35 ? ? ?
37 ? ? ?
41 ? ? ?
43 ? ? ?
47 ? ? ?
49 ? ? ?
53 ? ? ?
55 ? ? ?
59 ? ? ?
61 ? ? ?
65 ? ? ?
67 ? ? ?
71 ? ? ?
73 ? ? ?
77 ? ? ?
79 ? ? ?
83 ? ? ?
85 ? ? ?
89 ? ? ?
91 ? ? ?
95 ? ? ?
97 ? ? ?
--- 38 row(s) selected.
>>
>>-- Full Outer, With an AfterJoinPred
>>select * from (select * from t002_oja where a < 100) A
+> full outer join (select * from t002_ojb where b < 100) B
+> on A.a = B.b
+> full outer join (select * from t002_ojc where c < 100) C
+> on (A.a = C.c)
+> full outer join (select * from t002_ojd where e < 100) D
+> on A.a = D.e
+>where A.a is null or (B.b is null and C.c is null and D.e is null);
A B C E
----------- ----------- ----------- -----------
10 ? ? ?
11 ? ? ?
12 ? ? ?
13 ? ? ?
14 ? ? ?
15 ? ? ?
16 ? ? ?
17 ? ? ?
18 ? ? ?
19 ? ? ?
21 ? ? ?
23 ? ? ?
25 ? ? ?
27 ? ? ?
29 ? ? ?
31 ? ? ?
35 ? ? ?
37 ? ? ?
41 ? ? ?
43 ? ? ?
47 ? ? ?
49 ? ? ?
53 ? ? ?
55 ? ? ?
59 ? ? ?
61 ? ? ?
65 ? ? ?
67 ? ? ?
71 ? ? ?
73 ? ? ?
77 ? ? ?
79 ? ? ?
83 ? ? ?
85 ? ? ?
89 ? ? ?
91 ? ? ?
95 ? ? ?
97 ? ? ?
? ? ? 1
--- 39 row(s) selected.
>>
>>-- FOJ with beforepred, at least one outer row w/o a match
>>select count(*) from (
+>select T1.*
+>from (select *, cast('Hello' as char(512)) b, a/10 as c from t002_oja where a < 100) T1
+> full outer join
+> (select *, cast('Hello' as char(512)) b, a/10 as c from t002_oja) T2
+> on (T1.a-10 = T2.a and T1.b = T2.b and T2.c < T1.c)
+>) C
+>;
(EXPR)
--------------------
1011
--- 1 row(s) selected.
>>
>>-- FOJ with afterjoinpred, at least one outer row w/o a match
>>select count(*) from (
+>select T1.*
+>from (select *, cast('Hello' as char(512)) b, a/10 as c from t002_oja where a < 100) T1
+> full outer join
+> (select *, cast('Hello' as char(512)) b from t002_oja) T2
+> on (T1.a-10 = T2.a and T1.b = T2.b)
+>where T1.c < 5) C
+>;
(EXPR)
--------------------
41
--- 1 row(s) selected.
>>
>>-- FOJ with afterjoinpred and beforepred, at least one outer row w/o a match
>>select count(*) from (
+>select T1.*
+>from (select *, cast('Hello' as char(512)) b, a/10 as c from t002_oja where a < 100) T1
+> full outer join
+> (select *, cast('Hello' as char(512)) b, a/10 as c from t002_oja) T2
+> on (T1.a-10 = T2.a and T1.b = T2.b and T2.c < 10)
+>where T1.c < 5) C
+>;
(EXPR)
--------------------
41
--- 1 row(s) selected.
>>
>>-- FOJ with constant projected from outer side.
>>Select T1.a, T1.c
+>from (
+> Select 79 c, a
+> from t002_oja
+> where a < 20
+> ) T1
+>full join (
+> Select *
+> from t002_oja
+> where a < 20
+> ) T2
+>on (T1.a = T2.a)
+>;
A C
----------- ----
2 79
10 79
11 79
12 79
13 79
14 79
15 79
16 79
17 79
18 79
19 79
--- 11 row(s) selected.
>>
>>-- A simple FOJ with empty outer clusters
>>Select *
+>from (
+> Select a - 3 a
+> from t002_oja
+> where a < 20 and a > 9
+> ) T1
+>full join (
+> Select a - 10 a
+> from t002_oja
+> where a < 20 and a > 9
+> ) T2
+>on (T1.a = T2.a)
+>;
A A
-------------------- --------------------
7 7
8 8
9 9
10 ?
11 ?
12 ?
13 ?
14 ?
15 ?
16 ?
? 0
? 4
? 1
? 2
? 5
? 3
? 6
--- 17 row(s) selected.
>>
>>-- LOJ with beforepred, at least one outer row w/o a match
>>select count(T2.c)
+>from (select *, cast('Hello' as char(512)) b, a/10 as c from t002_oja where a < 100) T1
+> left outer join
+> (select *, cast('Hello' as char(512)) b, a/10 as c from t002_oja) T2
+> on (T1.a-10 = T2.a and T1.b = T2.b and T2.c < T1.c)
+>;
(EXPR)
--------------------
81
--- 1 row(s) selected.
>>
>>-- LOJ with afterjoinpred, at least one outer row w/o a match
>>select count(*)
+>from (select *, cast('Hello' as char(512)) b, a/10 as c from t002_oja where a < 100) T1
+> left outer join
+> (select *, cast('Hello' as char(512)) b, a/10 as c from t002_oja) T2
+> on (T1.a-10 = T2.a and T1.b = T2.b)
+>where T2.c < 5 or T2.c is null
+>;
(EXPR)
--------------------
51
--- 1 row(s) selected.
>>
>>-- LOJ with afterjoinpred and beforepred, at least one outer row w/o a match
>>select count(*)
+>from (select *, cast('Hello' as char(512)) b, a/10 as c from t002_oja where a < 100) T1
+> left outer join
+> (select *, cast('Hello' as char(512)) b, a/10 as c from t002_oja) T2
+> on (T1.a-10 = T2.a and T1.b = T2.b and T2.c < T1.c)
+>where T2.c < 5 or T2.c is null
+>;
(EXPR)
--------------------
51
--- 1 row(s) selected.
>>
>>-- Test Hash with forced overflow.
>>control query default EXE_TEST_HASH_FORCE_OVERFLOW_EVERY '2';
--- SQL operation complete.
>>select * from t002_oja A
+> left join t002_ojb B
+> on A.a = B.b
+> left join t002_ojc C
+> on (A.a = C.c)
+> left join t002_ojd D
+> on A.a = D.e ;
A B C E
----------- ----------- ----------- -----------
2 2 2 ?
10 ? ? ?
14 ? ? ?
15 ? ? ?
19 ? ? ?
21 ? ? ?
22 22 ? ?
23 ? ? ?
25 ? ? ?
27 ? ? ?
29 ? ? ?
31 ? ? ?
32 32 ? ?
35 ? ? ?
36 36 36 ?
39 ? 39 ?
40 40 ? 40
42 42 42 ?
45 ? 45 ?
47 ? ? ?
51 ? 51 ?
52 52 ? 52
54 54 54 ?
57 ? 57 ?
59 ? ? ?
60 60 60 60
62 62 ? ?
65 ? ? ?
66 66 66 ?
69 ? 69 ?
72 72 72 72
74 74 ? ?
75 ? 75 ?
79 ? ? ?
80 80 ? 80
82 82 ? ?
85 ? ? ?
86 86 ? ?
87 ? 87 ?
89 ? ? ?
90 90 90 ?
91 ? ? ?
92 92 ? 92
95 ? ? ?
96 96 96 96
97 ? ? ?
98 98 ? ?
99 ? 99 ?
100 100 ? 100
101 ? ? ?
104 104 ? 104
106 106 ? ?
108 108 108 108
109 ? ? ?
110 110 ? ?
112 112 ? 112
113 ? ? ?
114 114 114 ?
115 ? ? ?
117 ? 117 ?
124 124 ? 124
125 ? ? ?
126 126 126 ?
127 ? ? ?
129 ? 129 ?
136 136 ? 136
137 ? ? ?
141 ? 141 ?
143 ? ? ?
144 144 144 144
148 148 ? 148
149 ? ? ?
150 150 150 ?
151 ? ? ?
156 156 156 156
157 ? ? ?
158 158 ? ?
159 ? 159 ?
161 ? ? ?
162 162 162 ?
163 ? ? ?
164 164 ? 164
166 166 ? ?
167 ? ? ?
169 ? ? ?
170 170 ? ?
172 172 ? 172
173 ? ? ?
174 174 174 ?
175 ? ? ?
176 176 ? 176
177 ? 177 ?
178 178 ? ?
181 ? ? ?
183 ? 183 ?
184 184 ? 184
186 186 186 ?
187 ? ? ?
189 ? 189 ?
190 190 ? ?
191 ? ? ?
192 192 192 192
193 ? ? ?
197 ? ? ?
200 200 ? 200
201 ? 201 ?
203 ? ? ?
205 ? ? ?
209 ? ? ?
210 210 210 ?
212 212 ? 212
214 214 ? ?
215 ? ? ?
216 216 216 216
217 ? ? ?
219 ? 219 ?
221 ? ? ?
223 ? ? ?
224 224 ? 224
225 ? 225 ?
226 226 ? ?
231 ? 231 ?
232 232 ? 232
234 234 234 ?
235 ? ? ?
236 236 ? 236
237 ? 237 ?
238 238 ? ?
239 ? ? ?
240 240 240 240
241 ? ? ?
243 ? 243 ?
244 244 ? 244
245 ? ? ?
246 246 246 ?
249 ? 249 ?
250 250 ? ?
251 ? ? ?
254 254 ? ?
255 ? 255 ?
256 256 ? 256
257 ? ? ?
259 ? ? ?
262 262 ? ?
267 ? 267 ?
269 ? ? ?
270 270 270 ?
272 272 ? 272
274 274 ? ?
277 ? ? ?
279 ? 279 ?
281 ? ? ?
282 282 282 ?
286 286 ? ?
287 ? ? ?
288 288 288 288
289 ? ? ?
290 290 ? ?
291 ? 291 ?
293 ? ? ?
295 ? ? ?
297 ? 297 ?
299 ? ? ?
300 300 300 300
302 302 ? ?
304 304 ? 304
305 ? ? ?
306 306 306 ?
308 308 ? 308
309 ? 309 ?
313 ? ? ?
314 314 ? ?
317 ? ? ?
320 320 ? 320
321 ? 321 ?
323 ? ? ?
325 ? ? ?
326 326 ? ?
329 ? ? ?
332 332 ? 332
333 ? 333 ?
334 334 ? ?
335 ? ? ?
337 ? ? ?
338 338 ? ?
340 340 ? 340
342 342 342 ?
343 ? ? ?
344 344 ? 344
345 ? 345 ?
346 346 ? ?
347 ? ? ?
348 348 348 348
349 ? ? ?
351 ? 351 ?
352 352 ? 352
354 354 354 ?
356 356 ? 356
357 ? 357 ?
358 358 ? ?
360 360 360 360
361 ? ? ?
363 ? 363 ?
366 366 366 ?
368 368 ? 368
371 ? ? ?
372 372 372 372
373 ? ? ?
377 ? ? ?
378 378 378 ?
379 ? ? ?
381 ? 381 ?
382 382 ? ?
383 ? ? ?
385 ? ? ?
386 386 ? ?
389 ? ? ?
391 ? ? ?
392 392 ? 392
393 ? 393 ?
394 394 ? ?
395 ? ? ?
398 398 ? ?
399 ? 399 ?
400 400 ? 400
401 ? ? ?
402 402 402 ?
403 ? ? ?
404 404 ? 404
406 406 ? ?
408 408 408 408
410 410 ? ?
411 ? 411 ?
412 412 ? 412
413 ? ? ?
414 414 414 ?
415 ? ? ?
416 416 ? 416
417 ? 417 ?
419 ? ? ?
421 ? ? ?
424 424 ? 424
425 ? ? ?
426 426 426 ?
428 428 ? 428
430 430 ? ?
431 ? ? ?
435 ? 435 ?
438 438 438 ?
442 442 ? ?
443 ? ? ?
444 444 444 444
446 446 ? ?
447 ? 447 ?
449 ? ? ?
451 ? ? ?
453 ? 453 ?
454 454 ? ?
455 ? ? ?
456 456 456 456
458 458 ? ?
459 ? 459 ?
460 460 ? 460
461 ? ? ?
463 ? ? ?
464 464 ? 464
465 ? 465 ?
467 ? ? ?
468 468 468 468
470 470 ? ?
473 ? ? ?
474 474 474 ?
475 ? ? ?
476 476 ? 476
477 ? 477 ?
478 478 ? ?
479 ? ? ?
480 480 480 480
481 ? ? ?
483 ? 483 ?
485 ? ? ?
486 486 486 ?
487 ? ? ?
488 488 ? 488
489 ? 489 ?
490 490 ? ?
491 ? ? ?
492 492 492 492
493 ? ? ?
494 494 ? ?
495 ? 495 ?
497 ? ? ?
498 498 498 ?
503 ? ? ?
504 504 504 504
505 ? ? ?
507 ? 507 ?
508 508 ? 508
510 510 510 ?
512 512 ? 512
514 514 ? ?
517 ? ? ?
522 522 522 ?
525 ? 525 ?
527 ? ? ?
528 528 528 528
529 ? ? ?
530 530 ? ?
532 532 ? 532
533 ? ? ?
535 ? ? ?
536 536 ? 536
537 ? 537 ?
538 538 ? ?
540 540 540 540
541 ? ? ?
542 542 ? ?
543 ? 543 ?
546 546 546 ?
548 548 ? 548
549 ? 549 ?
551 ? ? ?
553 ? ? ?
558 558 558 ?
559 ? ? ?
560 560 ? 560
562 562 ? ?
563 ? ? ?
564 564 564 564
569 ? ? ?
572 572 ? 572
573 ? 573 ?
575 ? ? ?
580 580 ? 580
584 584 ? 584
587 ? ? ?
589 ? ? ?
591 ? 591 ?
592 592 ? 592
593 ? ? ?
595 ? ? ?
598 598 ? ?
601 ? ? ?
605 ? ? ?
606 606 606 ?
607 ? ? ?
608 608 ? 608
611 ? ? ?
612 612 612 612
615 ? 615 ?
617 ? ? ?
619 ? ? ?
624 624 624 624
625 ? ? ?
629 ? ? ?
632 632 ? 632
633 ? 633 ?
635 ? ? ?
637 ? ? ?
639 ? 639 ?
640 640 ? 640
641 ? ? ?
642 642 642 ?
646 646 ? ?
650 650 ? ?
651 ? 651 ?
652 652 ? 652
653 ? ? ?
654 654 654 ?
657 ? 657 ?
658 658 ? ?
659 ? ? ?
660 660 660 660
662 662 ? ?
663 ? 663 ?
665 ? ? ?
666 666 666 ?
667 ? ? ?
668 668 ? 668
671 ? ? ?
675 ? 675 ?
679 ? ? ?
680 680 ? 680
682 682 ? ?
683 ? ? ?
686 686 ? ?
687 ? 687 ?
689 ? ? ?
690 690 690 ?
691 ? ? ?
694 694 ? ?
700 700 ? 700
701 ? ? ?
702 702 702 ?
703 ? ? ?
704 704 ? 704
705 ? 705 ?
706 706 ? ?
707 ? ? ?
708 708 708 708
710 710 ? ?
711 ? 711 ?
712 712 ? 712
713 ? ? ?
715 ? ? ?
717 ? 717 ?
719 ? ? ?
722 722 ? ?
723 ? 723 ?
725 ? ? ?
726 726 726 ?
727 ? ? ?
729 ? 729 ?
732 732 732 732
733 ? ? ?
734 734 ? ?
735 ? 735 ?
736 736 ? 736
737 ? ? ?
738 738 738 ?
740 740 ? 740
743 ? ? ?
744 744 744 744
745 ? ? ?
746 746 ? ?
747 ? 747 ?
748 748 ? 748
749 ? ? ?
752 752 ? 752
753 ? 753 ?
754 754 ? ?
757 ? ? ?
758 758 ? ?
760 760 ? 760
761 ? ? ?
763 ? ? ?
765 ? 765 ?
766 766 ? ?
767 ? ? ?
768 768 768 768
770 770 ? ?
771 ? 771 ?
772 772 ? 772
775 ? ? ?
777 ? 777 ?
778 778 ? ?
780 780 780 780
781 ? ? ?
783 ? 783 ?
785 ? ? ?
786 786 786 ?
787 ? ? ?
789 ? 789 ?
790 790 ? ?
792 792 792 792
793 ? ? ?
795 ? 795 ?
796 796 ? 796
797 ? ? ?
800 800 ? 800
801 ? 801 ?
802 802 ? ?
803 ? ? ?
805 ? ? ?
807 ? 807 ?
808 808 ? 808
812 812 ? 812
813 ? 813 ?
815 ? ? ?
816 816 816 816
819 ? 819 ?
821 ? ? ?
823 ? ? ?
826 826 ? ?
829 ? ? ?
830 830 ? ?
831 ? 831 ?
834 834 834 ?
837 ? 837 ?
840 840 840 840
841 ? ? ?
843 ? 843 ?
845 ? ? ?
846 846 846 ?
847 ? ? ?
848 848 ? 848
849 ? 849 ?
853 ? ? ?
857 ? ? ?
860 860 ? 860
861 ? 861 ?
862 862 ? ?
863 ? ? ?
864 864 864 864
865 ? ? ?
866 866 ? ?
867 ? 867 ?
868 868 ? 868
869 ? ? ?
872 872 ? 872
873 ? 873 ?
875 ? ? ?
878 878 ? ?
880 880 ? 880
881 ? ? ?
882 882 882 ?
884 884 ? 884
887 ? ? ?
888 888 888 888
890 890 ? ?
892 892 ? 892
893 ? ? ?
894 894 894 ?
898 898 ? ?
899 ? ? ?
900 900 900 900
903 ? 903 ?
906 906 906 ?
907 ? ? ?
913 ? ? ?
915 ? 915 ?
916 916 ? 916
918 918 918 ?
921 ? 921 ?
922 922 ? ?
924 924 924 924
925 ? ? ?
926 926 ? ?
927 ? 927 ?
928 928 ? 928
929 ? ? ?
932 932 ? 932
933 ? 933 ?
938 938 ? ?
939 ? 939 ?
940 940 ? 940
941 ? ? ?
942 942 942 ?
944 944 ? 944
945 ? 945 ?
946 946 ? ?
947 ? ? ?
948 948 948 948
949 ? ? ?
951 ? 951 ?
955 ? ? ?
958 958 ? ?
961 ? ? ?
962 962 ? ?
964 964 ? 964
965 ? ? ?
967 ? ? ?
969 ? 969 ?
972 972 972 972
976 976 ? 976
977 ? ? ?
978 978 978 ?
979 ? ? ?
980 980 ? 980
981 ? 981 ?
982 982 ? ?
983 ? ? ?
985 ? ? ?
987 ? 987 ?
988 988 ? 988
990 990 990 ?
991 ? ? ?
992 992 ? 992
995 ? ? ?
996 996 996 996
997 ? ? ?
998 998 ? ?
999 ? 999 ?
1001 ? ? ?
1003 ? ? ?
1004 1004 ? 1004
1005 ? 1005 ?
1006 1006 ? ?
1007 ? ? ?
1008 1008 1008 1008
12 ? ? ?
13 ? ? ?
17 ? ? ?
20 20 ? ?
28 28 ? ?
33 ? 33 ?
41 ? ? ?
44 44 ? 44
49 ? ? ?
55 ? ? ?
58 58 ? ?
63 ? 63 ?
70 70 ? ?
76 76 ? 76
77 ? ? ?
78 78 78 ?
88 88 ? 88
93 ? 93 ?
103 ? ? ?
105 ? 105 ?
107 ? ? ?
111 ? 111 ?
116 116 ? 116
122 122 ? ?
128 128 ? 128
131 ? ? ?
133 ? ? ?
134 134 ? ?
135 ? 135 ?
139 ? ? ?
140 140 ? 140
142 142 ? ?
145 ? ? ?
153 ? 153 ?
155 ? ? ?
160 160 ? 160
179 ? ? ?
180 180 180 180
182 182 ? ?
188 188 ? 188
194 194 ? ?
195 ? 195 ?
208 208 ? 208
211 ? ? ?
213 ? 213 ?
227 ? ? ?
229 ? ? ?
233 ? ? ?
242 242 ? ?
248 248 ? 248
252 252 252 252
253 ? ? ?
260 260 ? 260
261 ? 261 ?
264 264 264 264
265 ? ? ?
271 ? ? ?
273 ? 273 ?
278 278 ? ?
280 280 ? 280
292 292 ? 292
294 294 294 ?
296 296 ? 296
303 ? 303 ?
310 310 ? ?
315 ? 315 ?
327 ? 327 ?
330 330 330 ?
331 ? ? ?
336 336 336 336
339 ? 339 ?
353 ? ? ?
365 ? ? ?
369 ? 369 ?
370 370 ? ?
375 ? 375 ?
380 380 ? 380
384 384 384 384
390 390 390 ?
396 396 396 396
407 ? ? ?
420 420 420 420
422 422 ? ?
423 ? 423 ?
427 ? ? ?
434 434 ? ?
436 436 ? 436
437 ? ? ?
440 440 ? 440
469 ? ? ?
482 482 ? ?
496 496 ? 496
501 ? 501 ?
506 506 ? ?
513 ? 513 ?
515 ? ? ?
518 518 ? ?
521 ? ? ?
523 ? ? ?
526 526 ? ?
539 ? ? ?
545 ? ? ?
550 550 ? ?
552 552 552 552
556 556 ? 556
561 ? 561 ?
565 ? ? ?
566 566 ? ?
567 ? 567 ?
590 590 ? ?
596 596 ? 596
599 ? ? ?
602 602 ? ?
604 604 ? 604
610 610 ? ?
613 ? ? ?
614 614 ? ?
620 620 ? 620
621 ? 621 ?
622 622 ? ?
626 626 ? ?
628 628 ? 628
630 630 630 ?
631 ? ? ?
636 636 636 636
647 ? ? ?
649 ? ? ?
656 656 ? 656
661 ? ? ?
664 664 ? 664
669 ? 669 ?
673 ? ? ?
674 674 ? ?
676 676 ? 676
685 ? ? ?
688 688 ? 688
692 692 ? 692
693 ? 693 ?
696 696 696 696
697 ? ? ?
698 698 ? ?
709 ? ? ?
718 718 ? ?
720 720 720 720
721 ? ? ?
724 724 ? 724
730 730 ? ?
741 ? 741 ?
750 750 750 ?
762 762 762 ?
769 ? ? ?
773 ? ? ?
774 774 774 ?
779 ? ? ?
788 788 ? 788
791 ? ? ?
799 ? ? ?
806 806 ? ?
811 ? ? ?
814 814 ? ?
817 ? ? ?
818 818 ? ?
825 ? 825 ?
832 832 ? 832
835 ? ? ?
836 836 ? 836
838 838 ? ?
842 842 ? ?
850 850 ? ?
856 856 ? 856
859 ? ? ?
870 870 870 ?
871 ? ? ?
874 874 ? ?
877 ? ? ?
883 ? ? ?
885 ? 885 ?
886 886 ? ?
895 ? ? ?
897 ? 897 ?
902 902 ? ?
904 904 ? 904
908 908 ? 908
909 ? 909 ?
910 910 ? ?
912 912 912 912
914 914 ? ?
917 ? ? ?
919 ? ? ?
934 934 ? ?
935 ? ? ?
936 936 936 936
937 ? ? ?
943 ? ? ?
952 952 ? 952
954 954 954 ?
956 956 ? 956
968 968 ? 968
973 ? ? ?
975 ? 975 ?
986 986 ? ?
989 ? ? ?
994 994 ? ?
1002 1002 1002 ?
1009 ? ? ?
11 ? ? ?
16 ? ? ?
18 ? ? ?
24 24 ? ?
26 26 ? ?
30 30 30 ?
34 34 ? ?
37 ? ? ?
38 38 ? ?
43 ? ? ?
46 46 ? ?
48 48 48 48
50 50 ? ?
53 ? ? ?
56 56 ? 56
61 ? ? ?
64 64 ? 64
67 ? ? ?
68 68 ? 68
71 ? ? ?
73 ? ? ?
81 ? 81 ?
83 ? ? ?
84 84 84 84
94 94 ? ?
102 102 102 ?
118 118 ? ?
119 ? ? ?
120 120 120 120
121 ? ? ?
123 ? 123 ?
130 130 ? ?
132 132 132 132
138 138 138 ?
146 146 ? ?
147 ? 147 ?
152 152 ? 152
154 154 ? ?
165 ? 165 ?
168 168 168 168
171 ? 171 ?
185 ? ? ?
196 196 ? 196
198 198 198 ?
199 ? ? ?
202 202 ? ?
204 204 204 204
206 206 ? ?
207 ? 207 ?
218 218 ? ?
220 220 ? 220
222 222 222 ?
228 228 228 228
230 230 ? ?
247 ? ? ?
258 258 258 ?
263 ? ? ?
266 266 ? ?
268 268 ? 268
275 ? ? ?
276 276 276 276
283 ? ? ?
284 284 ? 284
285 ? 285 ?
298 298 ? ?
301 ? ? ?
307 ? ? ?
311 ? ? ?
312 312 312 312
316 316 ? 316
318 318 318 ?
319 ? ? ?
322 322 ? ?
324 324 324 324
328 328 ? 328
341 ? ? ?
350 350 ? ?
355 ? ? ?
359 ? ? ?
362 362 ? ?
364 364 ? 364
367 ? ? ?
374 374 ? ?
376 376 ? 376
387 ? 387 ?
388 388 ? 388
397 ? ? ?
405 ? 405 ?
409 ? ? ?
418 418 ? ?
429 ? 429 ?
432 432 432 432
433 ? ? ?
439 ? ? ?
441 ? 441 ?
445 ? ? ?
448 448 ? 448
450 450 450 ?
452 452 ? 452
457 ? ? ?
462 462 462 ?
466 466 ? ?
471 ? 471 ?
472 472 ? 472
484 484 ? 484
499 ? ? ?
500 500 ? 500
502 502 ? ?
509 ? ? ?
511 ? ? ?
516 516 516 516
519 ? 519 ?
520 520 ? 520
524 524 ? 524
531 ? 531 ?
534 534 534 ?
544 544 ? 544
547 ? ? ?
554 554 ? ?
555 ? 555 ?
557 ? ? ?
568 568 ? 568
570 570 570 ?
571 ? ? ?
574 574 ? ?
576 576 576 576
577 ? ? ?
578 578 ? ?
579 ? 579 ?
581 ? ? ?
582 582 582 ?
583 ? ? ?
585 ? 585 ?
586 586 ? ?
588 588 588 588
594 594 594 ?
597 ? 597 ?
600 600 600 600
603 ? 603 ?
609 ? 609 ?
616 616 ? 616
618 618 618 ?
623 ? ? ?
627 ? 627 ?
634 634 ? ?
638 638 ? ?
643 ? ? ?
644 644 ? 644
645 ? 645 ?
648 648 648 648
655 ? ? ?
670 670 ? ?
672 672 672 672
677 ? ? ?
678 678 678 ?
681 ? 681 ?
684 684 684 684
695 ? ? ?
699 ? 699 ?
714 714 714 ?
716 716 ? 716
728 728 ? 728
731 ? ? ?
739 ? ? ?
742 742 ? ?
751 ? ? ?
755 ? ? ?
756 756 756 756
759 ? 759 ?
764 764 ? 764
776 776 ? 776
782 782 ? ?
784 784 ? 784
794 794 ? ?
798 798 798 ?
804 804 804 804
809 ? ? ?
810 810 810 ?
820 820 ? 820
822 822 822 ?
824 824 ? 824
827 ? ? ?
828 828 828 828
833 ? ? ?
839 ? ? ?
844 844 ? 844
851 ? ? ?
852 852 852 852
854 854 ? ?
855 ? 855 ?
858 858 858 ?
876 876 876 876
879 ? 879 ?
889 ? ? ?
891 ? 891 ?
896 896 ? 896
901 ? ? ?
905 ? ? ?
911 ? ? ?
920 920 ? 920
923 ? ? ?
930 930 930 ?
931 ? ? ?
950 950 ? ?
953 ? ? ?
957 ? 957 ?
959 ? ? ?
960 960 960 960
963 ? 963 ?
966 966 966 ?
970 970 ? ?
971 ? ? ?
974 974 ? ?
984 984 984 984
993 ? 993 ?
1000 1000 ? 1000
--- 1001 row(s) selected.
>>
>>-- With an AfterJoinPred
>>select * from t002_oja A
+> left join t002_ojb B
+> on A.a = B.b
+> left join t002_ojc C
+> on (A.a = C.c)
+> left join t002_ojd D
+> on A.a = D.e
+>where A.a < 100 and B.b is null and C.c is null and D.e is null;
A B C E
----------- ----------- ----------- -----------
10 ? ? ?
14 ? ? ?
15 ? ? ?
19 ? ? ?
21 ? ? ?
23 ? ? ?
25 ? ? ?
27 ? ? ?
29 ? ? ?
31 ? ? ?
35 ? ? ?
47 ? ? ?
59 ? ? ?
65 ? ? ?
79 ? ? ?
85 ? ? ?
89 ? ? ?
91 ? ? ?
95 ? ? ?
97 ? ? ?
12 ? ? ?
13 ? ? ?
17 ? ? ?
41 ? ? ?
49 ? ? ?
55 ? ? ?
77 ? ? ?
11 ? ? ?
16 ? ? ?
18 ? ? ?
37 ? ? ?
43 ? ? ?
53 ? ? ?
61 ? ? ?
67 ? ? ?
71 ? ? ?
73 ? ? ?
83 ? ? ?
--- 38 row(s) selected.
>>
>>-- Full Outer, With an AfterJoinPred
>>select * from (select * from t002_oja where a < 100) A
+> full outer join (select * from t002_ojb where b < 100) B
+> on A.a = B.b
+> full outer join (select * from t002_ojc where c < 100) C
+> on (A.a = C.c)
+> full outer join (select * from t002_ojd where e < 100) D
+> on A.a = D.e
+>where A.a is null or (B.b is null and C.c is null and D.e is null);
A B C E
----------- ----------- ----------- -----------
10 ? ? ?
14 ? ? ?
15 ? ? ?
19 ? ? ?
21 ? ? ?
23 ? ? ?
25 ? ? ?
27 ? ? ?
29 ? ? ?
31 ? ? ?
35 ? ? ?
47 ? ? ?
59 ? ? ?
65 ? ? ?
79 ? ? ?
85 ? ? ?
89 ? ? ?
91 ? ? ?
95 ? ? ?
97 ? ? ?
? ? ? 1
12 ? ? ?
13 ? ? ?
17 ? ? ?
41 ? ? ?
49 ? ? ?
55 ? ? ?
77 ? ? ?
11 ? ? ?
16 ? ? ?
18 ? ? ?
37 ? ? ?
43 ? ? ?
53 ? ? ?
61 ? ? ?
67 ? ? ?
71 ? ? ?
73 ? ? ?
83 ? ? ?
--- 39 row(s) selected.
>>
>>-- FOJ with beforepred, at least one outer row w/o a match and forced overflow.
>>select count(*) from (
+>select T1.*
+>from (select *, cast('Hello' as char(512)) b, a/10 as c from t002_oja where a < 100) T1
+> full outer join
+> (select *, cast('Hello' as char(512)) b, a/10 as c from t002_oja) T2
+> on (T1.a-10 = T2.a and T1.b = T2.b and T2.c < T1.c)
+>) C
+>;
(EXPR)
--------------------
1011
--- 1 row(s) selected.
>>
>>-- FOJ with afterjoinpred, at least one outer row w/o a match and forced overflow.
>>select count(*) from (
+>select T1.*
+>from (select *, cast('Hello' as char(512)) b, a/10 as c from t002_oja where a < 100) T1
+> full outer join
+> (select *, cast('Hello' as char(512)) b from t002_oja) T2
+> on (T1.a-10 = T2.a and T1.b = T2.b)
+>where T1.c < 5) C
+>;
(EXPR)
--------------------
41
--- 1 row(s) selected.
>>
>>-- FOJ with afterjoinpred and beforepred, at least one outer row w/o a match and forced overflow.
>>select count(*) from (
+>select T1.*
+>from (select *, cast('Hello' as char(512)) b, a/10 as c from t002_oja where a < 100) T1
+> full outer join
+> (select *, cast('Hello' as char(512)) b, a/10 as c from t002_oja) T2
+> on (T1.a-10 = T2.a and T1.b = T2.b and T2.c < 10)
+>where T1.c < 5) C
+>;
(EXPR)
--------------------
41
--- 1 row(s) selected.
>>
>>-- FOJ with constant projected from outer side.
>>Select T1.a, T1.c
+>from (
+> Select 79 c, a
+> from t002_oja
+> where a < 20
+> ) T1
+>full join (
+> Select *
+> from t002_oja
+> where a < 20
+> ) T2
+>on (T1.a = T2.a)
+>;
A C
----------- ----
2 79
10 79
14 79
15 79
19 79
12 79
13 79
17 79
11 79
16 79
18 79
--- 11 row(s) selected.
>>
>>-- A simple FOJ with empty outer clusters
>>Select *
+>from (
+> Select a - 3 a
+> from t002_oja
+> where a < 20 and a > 9
+> ) T1
+>full join (
+> Select a - 10 a
+> from t002_oja
+> where a < 20 and a > 9
+> ) T2
+>on (T1.a = T2.a)
+>;
A A
-------------------- --------------------
7 7
8 8
11 ?
12 ?
13 ?
14 ?
15 ?
16 ?
? 0
? 4
? 2
? 6
? 1
9 9
10 ?
? 5
? 3
--- 17 row(s) selected.
>>
>>-- LOJ with beforepred, at least one outer row w/o a match and forced overflow.
>>select count(T2.c)
+>from (select *, cast('Hello' as char(512)) b, a/10 as c from t002_oja where a < 100) T1
+> left outer join
+> (select *, cast('Hello' as char(512)) b, a/10 as c from t002_oja) T2
+> on (T1.a-10 = T2.a and T1.b = T2.b and T2.c < T1.c)
+>;
(EXPR)
--------------------
81
--- 1 row(s) selected.
>>
>>-- LOJ with afterjoinpred, at least one outer row w/o a match and forced overflow.
>>select count(*)
+>from (select *, cast('Hello' as char(512)) b, a/10 as c from t002_oja where a < 100) T1
+> left outer join
+> (select *, cast('Hello' as char(512)) b, a/10 as c from t002_oja) T2
+> on (T1.a-10 = T2.a and T1.b = T2.b)
+>where T2.c < 5 or T2.c is null
+>;
(EXPR)
--------------------
51
--- 1 row(s) selected.
>>
>>-- LOJ with afterjoinpred and beforepred, at least one outer row w/o a match and forced overflow.
>>select count(*)
+>from (select *, cast('Hello' as char(512)) b, a/10 as c from t002_oja where a < 100) T1
+> left outer join
+> (select *, cast('Hello' as char(512)) b, a/10 as c from t002_oja) T2
+> on (T1.a-10 = T2.a and T1.b = T2.b and T2.c < T1.c)
+>where T2.c < 5 or T2.c is null
+>;
(EXPR)
--------------------
51
--- 1 row(s) selected.
>>
>>control query default EXE_TEST_HASH_FORCE_OVERFLOW_EVERY reset;
--- SQL operation complete.
>>
>>
>>control query default hash_joins 'off';
--- SQL operation complete.
>>control query default nested_joins reset;
--- SQL operation complete.
>>control query default merge_joins 'off';
--- SQL operation complete.
>>-- Does not find the nested_join plan with default opt level.
>>control query default optimization_level '5';
--- SQL operation complete.
>>select * from t002_oja A
+> left join t002_ojb B
+> on A.a = B.b
+> left join t002_ojc C
+> on (A.a = C.c)
+> left join t002_ojd D
+> on A.a = D.e ;
A B C E
----------- ----------- ----------- -----------
2 2 2 ?
10 ? ? ?
11 ? ? ?
12 ? ? ?
13 ? ? ?
14 ? ? ?
15 ? ? ?
16 ? ? ?
17 ? ? ?
18 ? ? ?
19 ? ? ?
20 20 ? ?
21 ? ? ?
22 22 ? ?
23 ? ? ?
24 24 ? ?
25 ? ? ?
26 26 ? ?
27 ? ? ?
28 28 ? ?
29 ? ? ?
30 30 30 ?
31 ? ? ?
32 32 ? ?
33 ? 33 ?
34 34 ? ?
35 ? ? ?
36 36 36 ?
37 ? ? ?
38 38 ? ?
39 ? 39 ?
40 40 ? 40
41 ? ? ?
42 42 42 ?
43 ? ? ?
44 44 ? 44
45 ? 45 ?
46 46 ? ?
47 ? ? ?
48 48 48 48
49 ? ? ?
50 50 ? ?
51 ? 51 ?
52 52 ? 52
53 ? ? ?
54 54 54 ?
55 ? ? ?
56 56 ? 56
57 ? 57 ?
58 58 ? ?
59 ? ? ?
60 60 60 60
61 ? ? ?
62 62 ? ?
63 ? 63 ?
64 64 ? 64
65 ? ? ?
66 66 66 ?
67 ? ? ?
68 68 ? 68
69 ? 69 ?
70 70 ? ?
71 ? ? ?
72 72 72 72
73 ? ? ?
74 74 ? ?
75 ? 75 ?
76 76 ? 76
77 ? ? ?
78 78 78 ?
79 ? ? ?
80 80 ? 80
81 ? 81 ?
82 82 ? ?
83 ? ? ?
84 84 84 84
85 ? ? ?
86 86 ? ?
87 ? 87 ?
88 88 ? 88
89 ? ? ?
90 90 90 ?
91 ? ? ?
92 92 ? 92
93 ? 93 ?
94 94 ? ?
95 ? ? ?
96 96 96 96
97 ? ? ?
98 98 ? ?
99 ? 99 ?
100 100 ? 100
101 ? ? ?
102 102 102 ?
103 ? ? ?
104 104 ? 104
105 ? 105 ?
106 106 ? ?
107 ? ? ?
108 108 108 108
109 ? ? ?
110 110 ? ?
111 ? 111 ?
112 112 ? 112
113 ? ? ?
114 114 114 ?
115 ? ? ?
116 116 ? 116
117 ? 117 ?
118 118 ? ?
119 ? ? ?
120 120 120 120
121 ? ? ?
122 122 ? ?
123 ? 123 ?
124 124 ? 124
125 ? ? ?
126 126 126 ?
127 ? ? ?
128 128 ? 128
129 ? 129 ?
130 130 ? ?
131 ? ? ?
132 132 132 132
133 ? ? ?
134 134 ? ?
135 ? 135 ?
136 136 ? 136
137 ? ? ?
138 138 138 ?
139 ? ? ?
140 140 ? 140
141 ? 141 ?
142 142 ? ?
143 ? ? ?
144 144 144 144
145 ? ? ?
146 146 ? ?
147 ? 147 ?
148 148 ? 148
149 ? ? ?
150 150 150 ?
151 ? ? ?
152 152 ? 152
153 ? 153 ?
154 154 ? ?
155 ? ? ?
156 156 156 156
157 ? ? ?
158 158 ? ?
159 ? 159 ?
160 160 ? 160
161 ? ? ?
162 162 162 ?
163 ? ? ?
164 164 ? 164
165 ? 165 ?
166 166 ? ?
167 ? ? ?
168 168 168 168
169 ? ? ?
170 170 ? ?
171 ? 171 ?
172 172 ? 172
173 ? ? ?
174 174 174 ?
175 ? ? ?
176 176 ? 176
177 ? 177 ?
178 178 ? ?
179 ? ? ?
180 180 180 180
181 ? ? ?
182 182 ? ?
183 ? 183 ?
184 184 ? 184
185 ? ? ?
186 186 186 ?
187 ? ? ?
188 188 ? 188
189 ? 189 ?
190 190 ? ?
191 ? ? ?
192 192 192 192
193 ? ? ?
194 194 ? ?
195 ? 195 ?
196 196 ? 196
197 ? ? ?
198 198 198 ?
199 ? ? ?
200 200 ? 200
201 ? 201 ?
202 202 ? ?
203 ? ? ?
204 204 204 204
205 ? ? ?
206 206 ? ?
207 ? 207 ?
208 208 ? 208
209 ? ? ?
210 210 210 ?
211 ? ? ?
212 212 ? 212
213 ? 213 ?
214 214 ? ?
215 ? ? ?
216 216 216 216
217 ? ? ?
218 218 ? ?
219 ? 219 ?
220 220 ? 220
221 ? ? ?
222 222 222 ?
223 ? ? ?
224 224 ? 224
225 ? 225 ?
226 226 ? ?
227 ? ? ?
228 228 228 228
229 ? ? ?
230 230 ? ?
231 ? 231 ?
232 232 ? 232
233 ? ? ?
234 234 234 ?
235 ? ? ?
236 236 ? 236
237 ? 237 ?
238 238 ? ?
239 ? ? ?
240 240 240 240
241 ? ? ?
242 242 ? ?
243 ? 243 ?
244 244 ? 244
245 ? ? ?
246 246 246 ?
247 ? ? ?
248 248 ? 248
249 ? 249 ?
250 250 ? ?
251 ? ? ?
252 252 252 252
253 ? ? ?
254 254 ? ?
255 ? 255 ?
256 256 ? 256
257 ? ? ?
258 258 258 ?
259 ? ? ?
260 260 ? 260
261 ? 261 ?
262 262 ? ?
263 ? ? ?
264 264 264 264
265 ? ? ?
266 266 ? ?
267 ? 267 ?
268 268 ? 268
269 ? ? ?
270 270 270 ?
271 ? ? ?
272 272 ? 272
273 ? 273 ?
274 274 ? ?
275 ? ? ?
276 276 276 276
277 ? ? ?
278 278 ? ?
279 ? 279 ?
280 280 ? 280
281 ? ? ?
282 282 282 ?
283 ? ? ?
284 284 ? 284
285 ? 285 ?
286 286 ? ?
287 ? ? ?
288 288 288 288
289 ? ? ?
290 290 ? ?
291 ? 291 ?
292 292 ? 292
293 ? ? ?
294 294 294 ?
295 ? ? ?
296 296 ? 296
297 ? 297 ?
298 298 ? ?
299 ? ? ?
300 300 300 300
301 ? ? ?
302 302 ? ?
303 ? 303 ?
304 304 ? 304
305 ? ? ?
306 306 306 ?
307 ? ? ?
308 308 ? 308
309 ? 309 ?
310 310 ? ?
311 ? ? ?
312 312 312 312
313 ? ? ?
314 314 ? ?
315 ? 315 ?
316 316 ? 316
317 ? ? ?
318 318 318 ?
319 ? ? ?
320 320 ? 320
321 ? 321 ?
322 322 ? ?
323 ? ? ?
324 324 324 324
325 ? ? ?
326 326 ? ?
327 ? 327 ?
328 328 ? 328
329 ? ? ?
330 330 330 ?
331 ? ? ?
332 332 ? 332
333 ? 333 ?
334 334 ? ?
335 ? ? ?
336 336 336 336
337 ? ? ?
338 338 ? ?
339 ? 339 ?
340 340 ? 340
341 ? ? ?
342 342 342 ?
343 ? ? ?
344 344 ? 344
345 ? 345 ?
346 346 ? ?
347 ? ? ?
348 348 348 348
349 ? ? ?
350 350 ? ?
351 ? 351 ?
352 352 ? 352
353 ? ? ?
354 354 354 ?
355 ? ? ?
356 356 ? 356
357 ? 357 ?
358 358 ? ?
359 ? ? ?
360 360 360 360
361 ? ? ?
362 362 ? ?
363 ? 363 ?
364 364 ? 364
365 ? ? ?
366 366 366 ?
367 ? ? ?
368 368 ? 368
369 ? 369 ?
370 370 ? ?
371 ? ? ?
372 372 372 372
373 ? ? ?
374 374 ? ?
375 ? 375 ?
376 376 ? 376
377 ? ? ?
378 378 378 ?
379 ? ? ?
380 380 ? 380
381 ? 381 ?
382 382 ? ?
383 ? ? ?
384 384 384 384
385 ? ? ?
386 386 ? ?
387 ? 387 ?
388 388 ? 388
389 ? ? ?
390 390 390 ?
391 ? ? ?
392 392 ? 392
393 ? 393 ?
394 394 ? ?
395 ? ? ?
396 396 396 396
397 ? ? ?
398 398 ? ?
399 ? 399 ?
400 400 ? 400
401 ? ? ?
402 402 402 ?
403 ? ? ?
404 404 ? 404
405 ? 405 ?
406 406 ? ?
407 ? ? ?
408 408 408 408
409 ? ? ?
410 410 ? ?
411 ? 411 ?
412 412 ? 412
413 ? ? ?
414 414 414 ?
415 ? ? ?
416 416 ? 416
417 ? 417 ?
418 418 ? ?
419 ? ? ?
420 420 420 420
421 ? ? ?
422 422 ? ?
423 ? 423 ?
424 424 ? 424
425 ? ? ?
426 426 426 ?
427 ? ? ?
428 428 ? 428
429 ? 429 ?
430 430 ? ?
431 ? ? ?
432 432 432 432
433 ? ? ?
434 434 ? ?
435 ? 435 ?
436 436 ? 436
437 ? ? ?
438 438 438 ?
439 ? ? ?
440 440 ? 440
441 ? 441 ?
442 442 ? ?
443 ? ? ?
444 444 444 444
445 ? ? ?
446 446 ? ?
447 ? 447 ?
448 448 ? 448
449 ? ? ?
450 450 450 ?
451 ? ? ?
452 452 ? 452
453 ? 453 ?
454 454 ? ?
455 ? ? ?
456 456 456 456
457 ? ? ?
458 458 ? ?
459 ? 459 ?
460 460 ? 460
461 ? ? ?
462 462 462 ?
463 ? ? ?
464 464 ? 464
465 ? 465 ?
466 466 ? ?
467 ? ? ?
468 468 468 468
469 ? ? ?
470 470 ? ?
471 ? 471 ?
472 472 ? 472
473 ? ? ?
474 474 474 ?
475 ? ? ?
476 476 ? 476
477 ? 477 ?
478 478 ? ?
479 ? ? ?
480 480 480 480
481 ? ? ?
482 482 ? ?
483 ? 483 ?
484 484 ? 484
485 ? ? ?
486 486 486 ?
487 ? ? ?
488 488 ? 488
489 ? 489 ?
490 490 ? ?
491 ? ? ?
492 492 492 492
493 ? ? ?
494 494 ? ?
495 ? 495 ?
496 496 ? 496
497 ? ? ?
498 498 498 ?
499 ? ? ?
500 500 ? 500
501 ? 501 ?
502 502 ? ?
503 ? ? ?
504 504 504 504
505 ? ? ?
506 506 ? ?
507 ? 507 ?
508 508 ? 508
509 ? ? ?
510 510 510 ?
511 ? ? ?
512 512 ? 512
513 ? 513 ?
514 514 ? ?
515 ? ? ?
516 516 516 516
517 ? ? ?
518 518 ? ?
519 ? 519 ?
520 520 ? 520
521 ? ? ?
522 522 522 ?
523 ? ? ?
524 524 ? 524
525 ? 525 ?
526 526 ? ?
527 ? ? ?
528 528 528 528
529 ? ? ?
530 530 ? ?
531 ? 531 ?
532 532 ? 532
533 ? ? ?
534 534 534 ?
535 ? ? ?
536 536 ? 536
537 ? 537 ?
538 538 ? ?
539 ? ? ?
540 540 540 540
541 ? ? ?
542 542 ? ?
543 ? 543 ?
544 544 ? 544
545 ? ? ?
546 546 546 ?
547 ? ? ?
548 548 ? 548
549 ? 549 ?
550 550 ? ?
551 ? ? ?
552 552 552 552
553 ? ? ?
554 554 ? ?
555 ? 555 ?
556 556 ? 556
557 ? ? ?
558 558 558 ?
559 ? ? ?
560 560 ? 560
561 ? 561 ?
562 562 ? ?
563 ? ? ?
564 564 564 564
565 ? ? ?
566 566 ? ?
567 ? 567 ?
568 568 ? 568
569 ? ? ?
570 570 570 ?
571 ? ? ?
572 572 ? 572
573 ? 573 ?
574 574 ? ?
575 ? ? ?
576 576 576 576
577 ? ? ?
578 578 ? ?
579 ? 579 ?
580 580 ? 580
581 ? ? ?
582 582 582 ?
583 ? ? ?
584 584 ? 584
585 ? 585 ?
586 586 ? ?
587 ? ? ?
588 588 588 588
589 ? ? ?
590 590 ? ?
591 ? 591 ?
592 592 ? 592
593 ? ? ?
594 594 594 ?
595 ? ? ?
596 596 ? 596
597 ? 597 ?
598 598 ? ?
599 ? ? ?
600 600 600 600
601 ? ? ?
602 602 ? ?
603 ? 603 ?
604 604 ? 604
605 ? ? ?
606 606 606 ?
607 ? ? ?
608 608 ? 608
609 ? 609 ?
610 610 ? ?
611 ? ? ?
612 612 612 612
613 ? ? ?
614 614 ? ?
615 ? 615 ?
616 616 ? 616
617 ? ? ?
618 618 618 ?
619 ? ? ?
620 620 ? 620
621 ? 621 ?
622 622 ? ?
623 ? ? ?
624 624 624 624
625 ? ? ?
626 626 ? ?
627 ? 627 ?
628 628 ? 628
629 ? ? ?
630 630 630 ?
631 ? ? ?
632 632 ? 632
633 ? 633 ?
634 634 ? ?
635 ? ? ?
636 636 636 636
637 ? ? ?
638 638 ? ?
639 ? 639 ?
640 640 ? 640
641 ? ? ?
642 642 642 ?
643 ? ? ?
644 644 ? 644
645 ? 645 ?
646 646 ? ?
647 ? ? ?
648 648 648 648
649 ? ? ?
650 650 ? ?
651 ? 651 ?
652 652 ? 652
653 ? ? ?
654 654 654 ?
655 ? ? ?
656 656 ? 656
657 ? 657 ?
658 658 ? ?
659 ? ? ?
660 660 660 660
661 ? ? ?
662 662 ? ?
663 ? 663 ?
664 664 ? 664
665 ? ? ?
666 666 666 ?
667 ? ? ?
668 668 ? 668
669 ? 669 ?
670 670 ? ?
671 ? ? ?
672 672 672 672
673 ? ? ?
674 674 ? ?
675 ? 675 ?
676 676 ? 676
677 ? ? ?
678 678 678 ?
679 ? ? ?
680 680 ? 680
681 ? 681 ?
682 682 ? ?
683 ? ? ?
684 684 684 684
685 ? ? ?
686 686 ? ?
687 ? 687 ?
688 688 ? 688
689 ? ? ?
690 690 690 ?
691 ? ? ?
692 692 ? 692
693 ? 693 ?
694 694 ? ?
695 ? ? ?
696 696 696 696
697 ? ? ?
698 698 ? ?
699 ? 699 ?
700 700 ? 700
701 ? ? ?
702 702 702 ?
703 ? ? ?
704 704 ? 704
705 ? 705 ?
706 706 ? ?
707 ? ? ?
708 708 708 708
709 ? ? ?
710 710 ? ?
711 ? 711 ?
712 712 ? 712
713 ? ? ?
714 714 714 ?
715 ? ? ?
716 716 ? 716
717 ? 717 ?
718 718 ? ?
719 ? ? ?
720 720 720 720
721 ? ? ?
722 722 ? ?
723 ? 723 ?
724 724 ? 724
725 ? ? ?
726 726 726 ?
727 ? ? ?
728 728 ? 728
729 ? 729 ?
730 730 ? ?
731 ? ? ?
732 732 732 732
733 ? ? ?
734 734 ? ?
735 ? 735 ?
736 736 ? 736
737 ? ? ?
738 738 738 ?
739 ? ? ?
740 740 ? 740
741 ? 741 ?
742 742 ? ?
743 ? ? ?
744 744 744 744
745 ? ? ?
746 746 ? ?
747 ? 747 ?
748 748 ? 748
749 ? ? ?
750 750 750 ?
751 ? ? ?
752 752 ? 752
753 ? 753 ?
754 754 ? ?
755 ? ? ?
756 756 756 756
757 ? ? ?
758 758 ? ?
759 ? 759 ?
760 760 ? 760
761 ? ? ?
762 762 762 ?
763 ? ? ?
764 764 ? 764
765 ? 765 ?
766 766 ? ?
767 ? ? ?
768 768 768 768
769 ? ? ?
770 770 ? ?
771 ? 771 ?
772 772 ? 772
773 ? ? ?
774 774 774 ?
775 ? ? ?
776 776 ? 776
777 ? 777 ?
778 778 ? ?
779 ? ? ?
780 780 780 780
781 ? ? ?
782 782 ? ?
783 ? 783 ?
784 784 ? 784
785 ? ? ?
786 786 786 ?
787 ? ? ?
788 788 ? 788
789 ? 789 ?
790 790 ? ?
791 ? ? ?
792 792 792 792
793 ? ? ?
794 794 ? ?
795 ? 795 ?
796 796 ? 796
797 ? ? ?
798 798 798 ?
799 ? ? ?
800 800 ? 800
801 ? 801 ?
802 802 ? ?
803 ? ? ?
804 804 804 804
805 ? ? ?
806 806 ? ?
807 ? 807 ?
808 808 ? 808
809 ? ? ?
810 810 810 ?
811 ? ? ?
812 812 ? 812
813 ? 813 ?
814 814 ? ?
815 ? ? ?
816 816 816 816
817 ? ? ?
818 818 ? ?
819 ? 819 ?
820 820 ? 820
821 ? ? ?
822 822 822 ?
823 ? ? ?
824 824 ? 824
825 ? 825 ?
826 826 ? ?
827 ? ? ?
828 828 828 828
829 ? ? ?
830 830 ? ?
831 ? 831 ?
832 832 ? 832
833 ? ? ?
834 834 834 ?
835 ? ? ?
836 836 ? 836
837 ? 837 ?
838 838 ? ?
839 ? ? ?
840 840 840 840
841 ? ? ?
842 842 ? ?
843 ? 843 ?
844 844 ? 844
845 ? ? ?
846 846 846 ?
847 ? ? ?
848 848 ? 848
849 ? 849 ?
850 850 ? ?
851 ? ? ?
852 852 852 852
853 ? ? ?
854 854 ? ?
855 ? 855 ?
856 856 ? 856
857 ? ? ?
858 858 858 ?
859 ? ? ?
860 860 ? 860
861 ? 861 ?
862 862 ? ?
863 ? ? ?
864 864 864 864
865 ? ? ?
866 866 ? ?
867 ? 867 ?
868 868 ? 868
869 ? ? ?
870 870 870 ?
871 ? ? ?
872 872 ? 872
873 ? 873 ?
874 874 ? ?
875 ? ? ?
876 876 876 876
877 ? ? ?
878 878 ? ?
879 ? 879 ?
880 880 ? 880
881 ? ? ?
882 882 882 ?
883 ? ? ?
884 884 ? 884
885 ? 885 ?
886 886 ? ?
887 ? ? ?
888 888 888 888
889 ? ? ?
890 890 ? ?
891 ? 891 ?
892 892 ? 892
893 ? ? ?
894 894 894 ?
895 ? ? ?
896 896 ? 896
897 ? 897 ?
898 898 ? ?
899 ? ? ?
900 900 900 900
901 ? ? ?
902 902 ? ?
903 ? 903 ?
904 904 ? 904
905 ? ? ?
906 906 906 ?
907 ? ? ?
908 908 ? 908
909 ? 909 ?
910 910 ? ?
911 ? ? ?
912 912 912 912
913 ? ? ?
914 914 ? ?
915 ? 915 ?
916 916 ? 916
917 ? ? ?
918 918 918 ?
919 ? ? ?
920 920 ? 920
921 ? 921 ?
922 922 ? ?
923 ? ? ?
924 924 924 924
925 ? ? ?
926 926 ? ?
927 ? 927 ?
928 928 ? 928
929 ? ? ?
930 930 930 ?
931 ? ? ?
932 932 ? 932
933 ? 933 ?
934 934 ? ?
935 ? ? ?
936 936 936 936
937 ? ? ?
938 938 ? ?
939 ? 939 ?
940 940 ? 940
941 ? ? ?
942 942 942 ?
943 ? ? ?
944 944 ? 944
945 ? 945 ?
946 946 ? ?
947 ? ? ?
948 948 948 948
949 ? ? ?
950 950 ? ?
951 ? 951 ?
952 952 ? 952
953 ? ? ?
954 954 954 ?
955 ? ? ?
956 956 ? 956
957 ? 957 ?
958 958 ? ?
959 ? ? ?
960 960 960 960
961 ? ? ?
962 962 ? ?
963 ? 963 ?
964 964 ? 964
965 ? ? ?
966 966 966 ?
967 ? ? ?
968 968 ? 968
969 ? 969 ?
970 970 ? ?
971 ? ? ?
972 972 972 972
973 ? ? ?
974 974 ? ?
975 ? 975 ?
976 976 ? 976
977 ? ? ?
978 978 978 ?
979 ? ? ?
980 980 ? 980
981 ? 981 ?
982 982 ? ?
983 ? ? ?
984 984 984 984
985 ? ? ?
986 986 ? ?
987 ? 987 ?
988 988 ? 988
989 ? ? ?
990 990 990 ?
991 ? ? ?
992 992 ? 992
993 ? 993 ?
994 994 ? ?
995 ? ? ?
996 996 996 996
997 ? ? ?
998 998 ? ?
999 ? 999 ?
1000 1000 ? 1000
1001 ? ? ?
1002 1002 1002 ?
1003 ? ? ?
1004 1004 ? 1004
1005 ? 1005 ?
1006 1006 ? ?
1007 ? ? ?
1008 1008 1008 1008
1009 ? ? ?
--- 1001 row(s) selected.
>>
>>-- With an AfterJoinPred
>>select * from t002_oja A
+> left join t002_ojb B
+> on A.a = B.b
+> left join t002_ojc C
+> on (A.a = C.c)
+> left join t002_ojd D
+> on A.a = D.e
+>where A.a < 100 and B.b is null and C.c is null and D.e is null;
A B C E
----------- ----------- ----------- -----------
10 ? ? ?
11 ? ? ?
12 ? ? ?
13 ? ? ?
14 ? ? ?
15 ? ? ?
16 ? ? ?
17 ? ? ?
18 ? ? ?
19 ? ? ?
21 ? ? ?
23 ? ? ?
25 ? ? ?
27 ? ? ?
29 ? ? ?
31 ? ? ?
35 ? ? ?
37 ? ? ?
41 ? ? ?
43 ? ? ?
47 ? ? ?
49 ? ? ?
53 ? ? ?
55 ? ? ?
59 ? ? ?
61 ? ? ?
65 ? ? ?
67 ? ? ?
71 ? ? ?
73 ? ? ?
77 ? ? ?
79 ? ? ?
83 ? ? ?
85 ? ? ?
89 ? ? ?
91 ? ? ?
95 ? ? ?
97 ? ? ?
--- 38 row(s) selected.
>>control query default optimization_level reset;
--- SQL operation complete.
>>
>>control query default hash_joins 'off';
--- SQL operation complete.
>>control query default nested_joins 'off';
--- SQL operation complete.
>>control query default merge_joins reset;
--- SQL operation complete.
>>select * from t002_oja A
+> left join t002_ojb B
+> on A.a = B.b
+> left join t002_ojc C
+> on (A.a = C.c)
+> left join t002_ojd D
+> on A.a = D.e ;
A B C E
----------- ----------- ----------- -----------
2 2 2 ?
10 ? ? ?
11 ? ? ?
12 ? ? ?
13 ? ? ?
14 ? ? ?
15 ? ? ?
16 ? ? ?
17 ? ? ?
18 ? ? ?
19 ? ? ?
20 20 ? ?
21 ? ? ?
22 22 ? ?
23 ? ? ?
24 24 ? ?
25 ? ? ?
26 26 ? ?
27 ? ? ?
28 28 ? ?
29 ? ? ?
30 30 30 ?
31 ? ? ?
32 32 ? ?
33 ? 33 ?
34 34 ? ?
35 ? ? ?
36 36 36 ?
37 ? ? ?
38 38 ? ?
39 ? 39 ?
40 40 ? 40
41 ? ? ?
42 42 42 ?
43 ? ? ?
44 44 ? 44
45 ? 45 ?
46 46 ? ?
47 ? ? ?
48 48 48 48
49 ? ? ?
50 50 ? ?
51 ? 51 ?
52 52 ? 52
53 ? ? ?
54 54 54 ?
55 ? ? ?
56 56 ? 56
57 ? 57 ?
58 58 ? ?
59 ? ? ?
60 60 60 60
61 ? ? ?
62 62 ? ?
63 ? 63 ?
64 64 ? 64
65 ? ? ?
66 66 66 ?
67 ? ? ?
68 68 ? 68
69 ? 69 ?
70 70 ? ?
71 ? ? ?
72 72 72 72
73 ? ? ?
74 74 ? ?
75 ? 75 ?
76 76 ? 76
77 ? ? ?
78 78 78 ?
79 ? ? ?
80 80 ? 80
81 ? 81 ?
82 82 ? ?
83 ? ? ?
84 84 84 84
85 ? ? ?
86 86 ? ?
87 ? 87 ?
88 88 ? 88
89 ? ? ?
90 90 90 ?
91 ? ? ?
92 92 ? 92
93 ? 93 ?
94 94 ? ?
95 ? ? ?
96 96 96 96
97 ? ? ?
98 98 ? ?
99 ? 99 ?
100 100 ? 100
101 ? ? ?
102 102 102 ?
103 ? ? ?
104 104 ? 104
105 ? 105 ?
106 106 ? ?
107 ? ? ?
108 108 108 108
109 ? ? ?
110 110 ? ?
111 ? 111 ?
112 112 ? 112
113 ? ? ?
114 114 114 ?
115 ? ? ?
116 116 ? 116
117 ? 117 ?
118 118 ? ?
119 ? ? ?
120 120 120 120
121 ? ? ?
122 122 ? ?
123 ? 123 ?
124 124 ? 124
125 ? ? ?
126 126 126 ?
127 ? ? ?
128 128 ? 128
129 ? 129 ?
130 130 ? ?
131 ? ? ?
132 132 132 132
133 ? ? ?
134 134 ? ?
135 ? 135 ?
136 136 ? 136
137 ? ? ?
138 138 138 ?
139 ? ? ?
140 140 ? 140
141 ? 141 ?
142 142 ? ?
143 ? ? ?
144 144 144 144
145 ? ? ?
146 146 ? ?
147 ? 147 ?
148 148 ? 148
149 ? ? ?
150 150 150 ?
151 ? ? ?
152 152 ? 152
153 ? 153 ?
154 154 ? ?
155 ? ? ?
156 156 156 156
157 ? ? ?
158 158 ? ?
159 ? 159 ?
160 160 ? 160
161 ? ? ?
162 162 162 ?
163 ? ? ?
164 164 ? 164
165 ? 165 ?
166 166 ? ?
167 ? ? ?
168 168 168 168
169 ? ? ?
170 170 ? ?
171 ? 171 ?
172 172 ? 172
173 ? ? ?
174 174 174 ?
175 ? ? ?
176 176 ? 176
177 ? 177 ?
178 178 ? ?
179 ? ? ?
180 180 180 180
181 ? ? ?
182 182 ? ?
183 ? 183 ?
184 184 ? 184
185 ? ? ?
186 186 186 ?
187 ? ? ?
188 188 ? 188
189 ? 189 ?
190 190 ? ?
191 ? ? ?
192 192 192 192
193 ? ? ?
194 194 ? ?
195 ? 195 ?
196 196 ? 196
197 ? ? ?
198 198 198 ?
199 ? ? ?
200 200 ? 200
201 ? 201 ?
202 202 ? ?
203 ? ? ?
204 204 204 204
205 ? ? ?
206 206 ? ?
207 ? 207 ?
208 208 ? 208
209 ? ? ?
210 210 210 ?
211 ? ? ?
212 212 ? 212
213 ? 213 ?
214 214 ? ?
215 ? ? ?
216 216 216 216
217 ? ? ?
218 218 ? ?
219 ? 219 ?
220 220 ? 220
221 ? ? ?
222 222 222 ?
223 ? ? ?
224 224 ? 224
225 ? 225 ?
226 226 ? ?
227 ? ? ?
228 228 228 228
229 ? ? ?
230 230 ? ?
231 ? 231 ?
232 232 ? 232
233 ? ? ?
234 234 234 ?
235 ? ? ?
236 236 ? 236
237 ? 237 ?
238 238 ? ?
239 ? ? ?
240 240 240 240
241 ? ? ?
242 242 ? ?
243 ? 243 ?
244 244 ? 244
245 ? ? ?
246 246 246 ?
247 ? ? ?
248 248 ? 248
249 ? 249 ?
250 250 ? ?
251 ? ? ?
252 252 252 252
253 ? ? ?
254 254 ? ?
255 ? 255 ?
256 256 ? 256
257 ? ? ?
258 258 258 ?
259 ? ? ?
260 260 ? 260
261 ? 261 ?
262 262 ? ?
263 ? ? ?
264 264 264 264
265 ? ? ?
266 266 ? ?
267 ? 267 ?
268 268 ? 268
269 ? ? ?
270 270 270 ?
271 ? ? ?
272 272 ? 272
273 ? 273 ?
274 274 ? ?
275 ? ? ?
276 276 276 276
277 ? ? ?
278 278 ? ?
279 ? 279 ?
280 280 ? 280
281 ? ? ?
282 282 282 ?
283 ? ? ?
284 284 ? 284
285 ? 285 ?
286 286 ? ?
287 ? ? ?
288 288 288 288
289 ? ? ?
290 290 ? ?
291 ? 291 ?
292 292 ? 292
293 ? ? ?
294 294 294 ?
295 ? ? ?
296 296 ? 296
297 ? 297 ?
298 298 ? ?
299 ? ? ?
300 300 300 300
301 ? ? ?
302 302 ? ?
303 ? 303 ?
304 304 ? 304
305 ? ? ?
306 306 306 ?
307 ? ? ?
308 308 ? 308
309 ? 309 ?
310 310 ? ?
311 ? ? ?
312 312 312 312
313 ? ? ?
314 314 ? ?
315 ? 315 ?
316 316 ? 316
317 ? ? ?
318 318 318 ?
319 ? ? ?
320 320 ? 320
321 ? 321 ?
322 322 ? ?
323 ? ? ?
324 324 324 324
325 ? ? ?
326 326 ? ?
327 ? 327 ?
328 328 ? 328
329 ? ? ?
330 330 330 ?
331 ? ? ?
332 332 ? 332
333 ? 333 ?
334 334 ? ?
335 ? ? ?
336 336 336 336
337 ? ? ?
338 338 ? ?
339 ? 339 ?
340 340 ? 340
341 ? ? ?
342 342 342 ?
343 ? ? ?
344 344 ? 344
345 ? 345 ?
346 346 ? ?
347 ? ? ?
348 348 348 348
349 ? ? ?
350 350 ? ?
351 ? 351 ?
352 352 ? 352
353 ? ? ?
354 354 354 ?
355 ? ? ?
356 356 ? 356
357 ? 357 ?
358 358 ? ?
359 ? ? ?
360 360 360 360
361 ? ? ?
362 362 ? ?
363 ? 363 ?
364 364 ? 364
365 ? ? ?
366 366 366 ?
367 ? ? ?
368 368 ? 368
369 ? 369 ?
370 370 ? ?
371 ? ? ?
372 372 372 372
373 ? ? ?
374 374 ? ?
375 ? 375 ?
376 376 ? 376
377 ? ? ?
378 378 378 ?
379 ? ? ?
380 380 ? 380
381 ? 381 ?
382 382 ? ?
383 ? ? ?
384 384 384 384
385 ? ? ?
386 386 ? ?
387 ? 387 ?
388 388 ? 388
389 ? ? ?
390 390 390 ?
391 ? ? ?
392 392 ? 392
393 ? 393 ?
394 394 ? ?
395 ? ? ?
396 396 396 396
397 ? ? ?
398 398 ? ?
399 ? 399 ?
400 400 ? 400
401 ? ? ?
402 402 402 ?
403 ? ? ?
404 404 ? 404
405 ? 405 ?
406 406 ? ?
407 ? ? ?
408 408 408 408
409 ? ? ?
410 410 ? ?
411 ? 411 ?
412 412 ? 412
413 ? ? ?
414 414 414 ?
415 ? ? ?
416 416 ? 416
417 ? 417 ?
418 418 ? ?
419 ? ? ?
420 420 420 420
421 ? ? ?
422 422 ? ?
423 ? 423 ?
424 424 ? 424
425 ? ? ?
426 426 426 ?
427 ? ? ?
428 428 ? 428
429 ? 429 ?
430 430 ? ?
431 ? ? ?
432 432 432 432
433 ? ? ?
434 434 ? ?
435 ? 435 ?
436 436 ? 436
437 ? ? ?
438 438 438 ?
439 ? ? ?
440 440 ? 440
441 ? 441 ?
442 442 ? ?
443 ? ? ?
444 444 444 444
445 ? ? ?
446 446 ? ?
447 ? 447 ?
448 448 ? 448
449 ? ? ?
450 450 450 ?
451 ? ? ?
452 452 ? 452
453 ? 453 ?
454 454 ? ?
455 ? ? ?
456 456 456 456
457 ? ? ?
458 458 ? ?
459 ? 459 ?
460 460 ? 460
461 ? ? ?
462 462 462 ?
463 ? ? ?
464 464 ? 464
465 ? 465 ?
466 466 ? ?
467 ? ? ?
468 468 468 468
469 ? ? ?
470 470 ? ?
471 ? 471 ?
472 472 ? 472
473 ? ? ?
474 474 474 ?
475 ? ? ?
476 476 ? 476
477 ? 477 ?
478 478 ? ?
479 ? ? ?
480 480 480 480
481 ? ? ?
482 482 ? ?
483 ? 483 ?
484 484 ? 484
485 ? ? ?
486 486 486 ?
487 ? ? ?
488 488 ? 488
489 ? 489 ?
490 490 ? ?
491 ? ? ?
492 492 492 492
493 ? ? ?
494 494 ? ?
495 ? 495 ?
496 496 ? 496
497 ? ? ?
498 498 498 ?
499 ? ? ?
500 500 ? 500
501 ? 501 ?
502 502 ? ?
503 ? ? ?
504 504 504 504
505 ? ? ?
506 506 ? ?
507 ? 507 ?
508 508 ? 508
509 ? ? ?
510 510 510 ?
511 ? ? ?
512 512 ? 512
513 ? 513 ?
514 514 ? ?
515 ? ? ?
516 516 516 516
517 ? ? ?
518 518 ? ?
519 ? 519 ?
520 520 ? 520
521 ? ? ?
522 522 522 ?
523 ? ? ?
524 524 ? 524
525 ? 525 ?
526 526 ? ?
527 ? ? ?
528 528 528 528
529 ? ? ?
530 530 ? ?
531 ? 531 ?
532 532 ? 532
533 ? ? ?
534 534 534 ?
535 ? ? ?
536 536 ? 536
537 ? 537 ?
538 538 ? ?
539 ? ? ?
540 540 540 540
541 ? ? ?
542 542 ? ?
543 ? 543 ?
544 544 ? 544
545 ? ? ?
546 546 546 ?
547 ? ? ?
548 548 ? 548
549 ? 549 ?
550 550 ? ?
551 ? ? ?
552 552 552 552
553 ? ? ?
554 554 ? ?
555 ? 555 ?
556 556 ? 556
557 ? ? ?
558 558 558 ?
559 ? ? ?
560 560 ? 560
561 ? 561 ?
562 562 ? ?
563 ? ? ?
564 564 564 564
565 ? ? ?
566 566 ? ?
567 ? 567 ?
568 568 ? 568
569 ? ? ?
570 570 570 ?
571 ? ? ?
572 572 ? 572
573 ? 573 ?
574 574 ? ?
575 ? ? ?
576 576 576 576
577 ? ? ?
578 578 ? ?
579 ? 579 ?
580 580 ? 580
581 ? ? ?
582 582 582 ?
583 ? ? ?
584 584 ? 584
585 ? 585 ?
586 586 ? ?
587 ? ? ?
588 588 588 588
589 ? ? ?
590 590 ? ?
591 ? 591 ?
592 592 ? 592
593 ? ? ?
594 594 594 ?
595 ? ? ?
596 596 ? 596
597 ? 597 ?
598 598 ? ?
599 ? ? ?
600 600 600 600
601 ? ? ?
602 602 ? ?
603 ? 603 ?
604 604 ? 604
605 ? ? ?
606 606 606 ?
607 ? ? ?
608 608 ? 608
609 ? 609 ?
610 610 ? ?
611 ? ? ?
612 612 612 612
613 ? ? ?
614 614 ? ?
615 ? 615 ?
616 616 ? 616
617 ? ? ?
618 618 618 ?
619 ? ? ?
620 620 ? 620
621 ? 621 ?
622 622 ? ?
623 ? ? ?
624 624 624 624
625 ? ? ?
626 626 ? ?
627 ? 627 ?
628 628 ? 628
629 ? ? ?
630 630 630 ?
631 ? ? ?
632 632 ? 632
633 ? 633 ?
634 634 ? ?
635 ? ? ?
636 636 636 636
637 ? ? ?
638 638 ? ?
639 ? 639 ?
640 640 ? 640
641 ? ? ?
642 642 642 ?
643 ? ? ?
644 644 ? 644
645 ? 645 ?
646 646 ? ?
647 ? ? ?
648 648 648 648
649 ? ? ?
650 650 ? ?
651 ? 651 ?
652 652 ? 652
653 ? ? ?
654 654 654 ?
655 ? ? ?
656 656 ? 656
657 ? 657 ?
658 658 ? ?
659 ? ? ?
660 660 660 660
661 ? ? ?
662 662 ? ?
663 ? 663 ?
664 664 ? 664
665 ? ? ?
666 666 666 ?
667 ? ? ?
668 668 ? 668
669 ? 669 ?
670 670 ? ?
671 ? ? ?
672 672 672 672
673 ? ? ?
674 674 ? ?
675 ? 675 ?
676 676 ? 676
677 ? ? ?
678 678 678 ?
679 ? ? ?
680 680 ? 680
681 ? 681 ?
682 682 ? ?
683 ? ? ?
684 684 684 684
685 ? ? ?
686 686 ? ?
687 ? 687 ?
688 688 ? 688
689 ? ? ?
690 690 690 ?
691 ? ? ?
692 692 ? 692
693 ? 693 ?
694 694 ? ?
695 ? ? ?
696 696 696 696
697 ? ? ?
698 698 ? ?
699 ? 699 ?
700 700 ? 700
701 ? ? ?
702 702 702 ?
703 ? ? ?
704 704 ? 704
705 ? 705 ?
706 706 ? ?
707 ? ? ?
708 708 708 708
709 ? ? ?
710 710 ? ?
711 ? 711 ?
712 712 ? 712
713 ? ? ?
714 714 714 ?
715 ? ? ?
716 716 ? 716
717 ? 717 ?
718 718 ? ?
719 ? ? ?
720 720 720 720
721 ? ? ?
722 722 ? ?
723 ? 723 ?
724 724 ? 724
725 ? ? ?
726 726 726 ?
727 ? ? ?
728 728 ? 728
729 ? 729 ?
730 730 ? ?
731 ? ? ?
732 732 732 732
733 ? ? ?
734 734 ? ?
735 ? 735 ?
736 736 ? 736
737 ? ? ?
738 738 738 ?
739 ? ? ?
740 740 ? 740
741 ? 741 ?
742 742 ? ?
743 ? ? ?
744 744 744 744
745 ? ? ?
746 746 ? ?
747 ? 747 ?
748 748 ? 748
749 ? ? ?
750 750 750 ?
751 ? ? ?
752 752 ? 752
753 ? 753 ?
754 754 ? ?
755 ? ? ?
756 756 756 756
757 ? ? ?
758 758 ? ?
759 ? 759 ?
760 760 ? 760
761 ? ? ?
762 762 762 ?
763 ? ? ?
764 764 ? 764
765 ? 765 ?
766 766 ? ?
767 ? ? ?
768 768 768 768
769 ? ? ?
770 770 ? ?
771 ? 771 ?
772 772 ? 772
773 ? ? ?
774 774 774 ?
775 ? ? ?
776 776 ? 776
777 ? 777 ?
778 778 ? ?
779 ? ? ?
780 780 780 780
781 ? ? ?
782 782 ? ?
783 ? 783 ?
784 784 ? 784
785 ? ? ?
786 786 786 ?
787 ? ? ?
788 788 ? 788
789 ? 789 ?
790 790 ? ?
791 ? ? ?
792 792 792 792
793 ? ? ?
794 794 ? ?
795 ? 795 ?
796 796 ? 796
797 ? ? ?
798 798 798 ?
799 ? ? ?
800 800 ? 800
801 ? 801 ?
802 802 ? ?
803 ? ? ?
804 804 804 804
805 ? ? ?
806 806 ? ?
807 ? 807 ?
808 808 ? 808
809 ? ? ?
810 810 810 ?
811 ? ? ?
812 812 ? 812
813 ? 813 ?
814 814 ? ?
815 ? ? ?
816 816 816 816
817 ? ? ?
818 818 ? ?
819 ? 819 ?
820 820 ? 820
821 ? ? ?
822 822 822 ?
823 ? ? ?
824 824 ? 824
825 ? 825 ?
826 826 ? ?
827 ? ? ?
828 828 828 828
829 ? ? ?
830 830 ? ?
831 ? 831 ?
832 832 ? 832
833 ? ? ?
834 834 834 ?
835 ? ? ?
836 836 ? 836
837 ? 837 ?
838 838 ? ?
839 ? ? ?
840 840 840 840
841 ? ? ?
842 842 ? ?
843 ? 843 ?
844 844 ? 844
845 ? ? ?
846 846 846 ?
847 ? ? ?
848 848 ? 848
849 ? 849 ?
850 850 ? ?
851 ? ? ?
852 852 852 852
853 ? ? ?
854 854 ? ?
855 ? 855 ?
856 856 ? 856
857 ? ? ?
858 858 858 ?
859 ? ? ?
860 860 ? 860
861 ? 861 ?
862 862 ? ?
863 ? ? ?
864 864 864 864
865 ? ? ?
866 866 ? ?
867 ? 867 ?
868 868 ? 868
869 ? ? ?
870 870 870 ?
871 ? ? ?
872 872 ? 872
873 ? 873 ?
874 874 ? ?
875 ? ? ?
876 876 876 876
877 ? ? ?
878 878 ? ?
879 ? 879 ?
880 880 ? 880
881 ? ? ?
882 882 882 ?
883 ? ? ?
884 884 ? 884
885 ? 885 ?
886 886 ? ?
887 ? ? ?
888 888 888 888
889 ? ? ?
890 890 ? ?
891 ? 891 ?
892 892 ? 892
893 ? ? ?
894 894 894 ?
895 ? ? ?
896 896 ? 896
897 ? 897 ?
898 898 ? ?
899 ? ? ?
900 900 900 900
901 ? ? ?
902 902 ? ?
903 ? 903 ?
904 904 ? 904
905 ? ? ?
906 906 906 ?
907 ? ? ?
908 908 ? 908
909 ? 909 ?
910 910 ? ?
911 ? ? ?
912 912 912 912
913 ? ? ?
914 914 ? ?
915 ? 915 ?
916 916 ? 916
917 ? ? ?
918 918 918 ?
919 ? ? ?
920 920 ? 920
921 ? 921 ?
922 922 ? ?
923 ? ? ?
924 924 924 924
925 ? ? ?
926 926 ? ?
927 ? 927 ?
928 928 ? 928
929 ? ? ?
930 930 930 ?
931 ? ? ?
932 932 ? 932
933 ? 933 ?
934 934 ? ?
935 ? ? ?
936 936 936 936
937 ? ? ?
938 938 ? ?
939 ? 939 ?
940 940 ? 940
941 ? ? ?
942 942 942 ?
943 ? ? ?
944 944 ? 944
945 ? 945 ?
946 946 ? ?
947 ? ? ?
948 948 948 948
949 ? ? ?
950 950 ? ?
951 ? 951 ?
952 952 ? 952
953 ? ? ?
954 954 954 ?
955 ? ? ?
956 956 ? 956
957 ? 957 ?
958 958 ? ?
959 ? ? ?
960 960 960 960
961 ? ? ?
962 962 ? ?
963 ? 963 ?
964 964 ? 964
965 ? ? ?
966 966 966 ?
967 ? ? ?
968 968 ? 968
969 ? 969 ?
970 970 ? ?
971 ? ? ?
972 972 972 972
973 ? ? ?
974 974 ? ?
975 ? 975 ?
976 976 ? 976
977 ? ? ?
978 978 978 ?
979 ? ? ?
980 980 ? 980
981 ? 981 ?
982 982 ? ?
983 ? ? ?
984 984 984 984
985 ? ? ?
986 986 ? ?
987 ? 987 ?
988 988 ? 988
989 ? ? ?
990 990 990 ?
991 ? ? ?
992 992 ? 992
993 ? 993 ?
994 994 ? ?
995 ? ? ?
996 996 996 996
997 ? ? ?
998 998 ? ?
999 ? 999 ?
1000 1000 ? 1000
1001 ? ? ?
1002 1002 1002 ?
1003 ? ? ?
1004 1004 ? 1004
1005 ? 1005 ?
1006 1006 ? ?
1007 ? ? ?
1008 1008 1008 1008
1009 ? ? ?
--- 1001 row(s) selected.
>>
>>-- With an AfterJoinPred
>>select * from t002_oja A
+> left join t002_ojb B
+> on A.a = B.b
+> left join t002_ojc C
+> on (A.a = C.c)
+> left join t002_ojd D
+> on A.a = D.e
+>where A.a < 100 and B.b is null and C.c is null and D.e is null;
A B C E
----------- ----------- ----------- -----------
10 ? ? ?
11 ? ? ?
12 ? ? ?
13 ? ? ?
14 ? ? ?
15 ? ? ?
16 ? ? ?
17 ? ? ?
18 ? ? ?
19 ? ? ?
21 ? ? ?
23 ? ? ?
25 ? ? ?
27 ? ? ?
29 ? ? ?
31 ? ? ?
35 ? ? ?
37 ? ? ?
41 ? ? ?
43 ? ? ?
47 ? ? ?
49 ? ? ?
53 ? ? ?
55 ? ? ?
59 ? ? ?
61 ? ? ?
65 ? ? ?
67 ? ? ?
71 ? ? ?
73 ? ? ?
77 ? ? ?
79 ? ? ?
83 ? ? ?
85 ? ? ?
89 ? ? ?
91 ? ? ?
95 ? ? ?
97 ? ? ?
--- 38 row(s) selected.
>>
>>control query default hash_joins reset;
--- SQL operation complete.
>>control query default nested_joins reset;
--- SQL operation complete.
>>control query default merge_joins reset;
--- SQL operation complete.
>>
>>drop table if exists student;
--- SQL operation complete.
>>create table student( student_name char(10), test_score int );
--- SQL operation complete.
>>insert into student values('s1', 88);
--- 1 row(s) inserted.
>>insert into student values('s1', 79);
--- 1 row(s) inserted.
>>insert into student values('s2', 88);
--- 1 row(s) inserted.
>>insert into student values('s3', 90);
--- 1 row(s) inserted.
>>insert into student values('s1', 88);
--- 1 row(s) inserted.
>>insert into student values('s1', 60);
--- 1 row(s) inserted.
>>insert into student values('s1', 100);
--- 1 row(s) inserted.
>>insert into student values('s1', 50);
--- 1 row(s) inserted.
>>insert into student values('s1', 101);
--- 1 row(s) inserted.
>>insert into student values('s1', 40);
--- 1 row(s) inserted.
>>insert into student values('s3', 40);
--- 1 row(s) inserted.
>>insert into student values('s3', 40);
--- 1 row(s) inserted.
>>insert into student values('s3', 100);
--- 1 row(s) inserted.
>>insert into student values('s2', 88);
--- 1 row(s) inserted.
>>insert into student values('s2', 188);
--- 1 row(s) inserted.
>>insert into student values('s2', 18);
--- 1 row(s) inserted.
>>insert into student values('s2', 58);
--- 1 row(s) inserted.
>>insert into student values('学生三',79);
--- 1 row(s) inserted.
>>
>>SELECT student_name,
+> GROUP_CONCAT(DISTINCT test_score
+> ORDER BY test_score SEPARATOR '-')
+> FROM student
+> GROUP BY student_name order by student_name;
STUDENT_NAME (EXPR)
------------ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
s1 40-50-60-79-88-100-101
s2 18-58-88-188
s3 40-90-100
学生三 79
--- 4 row(s) selected.
>>
>>SELECT student_name,
+> GROUP_CONCAT(test_score
+> ORDER BY test_score SEPARATOR '-')
+> FROM student
+> GROUP BY student_name order by student_name;
STUDENT_NAME (EXPR)
------------ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
s1 40-50-60-79-88-88-100-101
s2 18-58-88-88-188
s3 40-40-90-100
学生三 79
--- 4 row(s) selected.
>>
>>SELECT GROUP_CONCAT(student_name) from student;
(EXPR)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
s1 ,s1 ,s2 ,s3 ,s1 ,s1 ,s1 ,s1 ,s1 ,s1 ,s3 ,s3 ,s3 ,s2 ,s2 ,s2 ,s2 ,学生三
--- 1 row(s) selected.
>>
>>cqd ATTEMPT_ESP_PARALLELISM 'ON';
--- SQL operation complete.
>>control query shape exchange(cut);
--- SQL operation complete.
>>prepare s1 from SELECT student_name,
+> GROUP_CONCAT(DISTINCT test_score
+> ORDER BY test_score desc SEPARATOR '-')
+> FROM student
+> GROUP BY student_name order by student_name;
--- SQL command prepared.
>>explain options 'f' s1;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
7 . 8 root 2.00E+000
6 . 7 esp_exchange 1:2(hash2) (m) 2.00E+000
5 . 6 sort_groupby 2.00E+000
4 . 5 sort_partial_groupby 4.00E+000
3 . 4 sort 4.00E+000
2 . 3 esp_exchange 2(hash2):1 4.00E+000
1 . 2 hash_partial_groupby 4.00E+000
. . 1 trafodion_scan STUDENT 1.00E+002
--- SQL operation complete.
>>execute s1;
STUDENT_NAME (EXPR)
------------ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
s1 101-100-88-79-60-50-40
s2 188-88-58-18
s3 100-90-40
学生三 79
--- 4 row(s) selected.
>>control query shape cut;
--- SQL operation complete.
>>cqd ATTEMPT_ESP_PARALLELISM 'OFF';
--- SQL operation complete.
>>drop table student;
--- SQL operation complete.
>>drop table if exists regexp_test;
--- SQL operation complete.
>>create table regexp_test (c1 char(32) );
--- SQL operation complete.
>>insert into regexp_test values( '123' );
--- 1 row(s) inserted.
>>insert into regexp_test values( '123a' );
--- 1 row(s) inserted.
>>insert into regexp_test values( 'english' );
--- 1 row(s) inserted.
>>insert into regexp_test values( 'dev@trafodion.org' );
--- 1 row(s) inserted.
>>insert into regexp_test values( '127.0.0.1' );
--- 1 row(s) inserted.
>>insert into regexp_test values( '127.0.0.300' );
--- 1 row(s) inserted.
>>insert into regexp_test values('中文测试');
--- 1 row(s) inserted.
>>
>>-- only number
>>select * from regexp_test where c1 regexp '^[0-9]*\s*$';
C1
--------------------------------
123
--- 1 row(s) selected.
>>select * from regexp_test where c1 regexp '^[[:digit:]]*\s*$';
C1
--------------------------------
123
--- 1 row(s) selected.
>>-- only english
>>select * from regexp_test where c1 regexp '^.[A-Za-z]+\s*$';
C1
--------------------------------
english
--- 1 row(s) selected.
>>-- valid email address
>>select * from regexp_test where c1 regexp '\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*\s*';
C1
--------------------------------
dev@trafodion.org
--- 1 row(s) selected.
>>-- valid ip address
>>select * from regexp_test where c1 regexp '^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])\s*$';
C1
--------------------------------
127.0.0.1
--- 1 row(s) selected.
>>-- utf-8 code
>>select * from regexp_test where c1 regexp '(中文测试)';
C1
--------------------------------
中文测试
--- 1 row(s) selected.
>>select * from regexp_test where c1 regexp '[^\';
*** ERROR[8452] The regular expression is invalid. Cause: Unmatched [ or [^
--- 0 row(s) selected.
>>drop table regexp_test;
--- SQL operation complete.
>>
>>--create table have 1K rows
>>create table T002T1K (uniq int not null,
+> c1K int, c100 int,
+> c10 int, c1 int, c0 int )
+> STORE BY (uniq)
+> ATTRIBUTES ALIGNED FORMAT
+> SALT USING 8 PARTITIONS
+> ;
--- SQL operation complete.
>>
>>upsert using load into T002T1K select
+>0 + (1000 * x10) + (100 * x1) + (10 * x1) + (1 * x01),
+>0 + (100 * x10) + (10 * x1) + (1 * x01),
+>0 + (10 * x1) + (1 * x01),
+>0 + (1 * x01),
+>0,
+>X01
+>from (values(0)) t
+>transpose 0,1,2,3,4,5,6,7,8,9 as x10
+>transpose 0,1,2,3,4,5,6,7,8,9 as x1
+>transpose 0,1,2,3,4,5,6,7,8,9 as X01;
--- 1000 row(s) inserted.
>>
>>create table t002timert (c0 int, c1 int, c2 largeint);
--- SQL operation complete.
>>create table t002tmp1 (c1 int);
--- SQL operation complete.
>>insert into t002tmp1 values(1),(2),(3);
--- 3 row(s) inserted.
>>
>>insert into t002timert select 1, sleep(5) , unix_timestamp() from t002tmp1;
--- 3 row(s) inserted.
>>insert into t002timert select 2, sleep(5) , unix_timestamp() from t002tmp1;
--- 3 row(s) inserted.
>>select 'sleeptimetest002', di from (select ( max(c2) - min(c2)) as di from t002timert ) where di between 5 and 9;
(EXPR) DI
----------
good
--- 1 row(s) selected.
>>select distinct(count(uuid())) from T002T1K;
(EXPR)
----------
1000
--- 1 row(s) selected.
>>select distinct(count(sys_guid())) from T002T1K;
(EXPR)
----------
1000
--- 1 row(s) selected.
>>drop table t002timert;
--- SQL operation complete.
>>drop table t002tmp1;
--- SQL operation complete.
>>------------------------------------------------------------------------
>>-- added for JIRA TRAFODION-2843
>>
>>insert into D03s
+> select c1+c2*10+c3*100, c1, c1+c2*10
+> from (values(1)) T
+> transpose 0,1 as c1
+> transpose 0,1 as c2
+> transpose 0,1 as c3;
--- 8 row(s) inserted.
>>
>>insert with no rollback into F01s
+> select c1+c2*10+c3*100+c4*1000+c5*10000+c6*100000
+> ,c1
+> ,c1+c2*10
+> ,c1+c2*10+c3*100
+> ,c1
+> ,c1+c2*10
+> ,c1+c2*10+c3*100
+> ,c1
+> ,c1+c2*10
+> ,c1+c2*10+c3*100
+> ,c1
+> ,c1+c2*10
+> ,mod(c1+c2*100+c3*100,200)
+> ,mod(c1,3)
+> ,mod(c1,6)
+> ,mod(c1+c2*10,5)
+> ,c1
+> ,c1
+> ,c1+c2*10
+> from (values(1)) T
+> transpose 0,1 as c1
+> transpose 0,1 as c2
+> transpose 0,1 as c3
+> transpose 0,1 as c4
+> transpose 0 as c5
+> transpose 0 as c6
+> ;
--- 16 row(s) inserted.
>>
>>prepare x1 from
+> select F01s.val01, TD03.val01
+> From F01s
+> full outer join
+> (select D03s.val01,count(D03s.pk)
+> from D03s
+> group by D03s.val01) as TD03(val01,pk)
+> on (TD03.pk=F01s.fk_d03
+> AND TD03.pk>0 );
--- SQL command prepared.
>>
>>execute x1;
VAL01 VAL01
----------- -----------
0 ?
10 ?
10 ?
1 ?
0 ?
1 ?
0 ?
1 ?
11 ?
11 ?
10 ?
1 ?
0 ?
11 ?
10 ?
11 ?
? 1
? 0
--- 18 row(s) selected.
>>
>>prepare x1v from
+> select F01s.val01, F01s.fk_d03, TD03.pk, TD03.val01
+> From F01s
+> full outer join
+> (select D03s.val01,count(D03s.pk)
+> from D03s
+> group by D03s.val01) as TD03(val01,pk)
+> on (TD03.pk=F01s.fk_d03);
--- SQL command prepared.
>>
>>execute x1v;
VAL01 FK_D03 PK VAL01
----------- ----------- -------------------- -----------
0 100 ? ?
10 110 ? ?
10 10 ? ?
1 101 ? ?
0 100 ? ?
1 101 ? ?
0 0 ? ?
1 1 ? ?
11 111 ? ?
11 111 ? ?
10 110 ? ?
1 1 ? ?
0 0 ? ?
11 11 ? ?
10 10 ? ?
11 11 ? ?
? ? 4 1
? ? 4 0
--- 18 row(s) selected.
>>
>>obey TEST002(BR0198_MULTI);
>>select count(*) from T002T1;
(EXPR)
--------------------
2
--- 1 row(s) selected.
>> -- must be >1 for this test to be valid
>>obey TEST002(BR0198_BASIC);
>>
>>SELECT 54 FROM T002T1 T
+>HAVING ( EXISTS (
+> SELECT STDDEV ( T.A ) FROM T002T1 ));
(EXPR)
------
54
--- 1 row(s) selected.
>> -- 0 rows EMPTY, 1 MULTI
>>
>>SELECT 54 FROM T002T1 T
+>HAVING ( EXISTS (
+> SELECT SUM ( T.A ) FROM T002T1 ));
(EXPR)
------
54
--- 1 row(s) selected.
>> -- 0 rows EMPTY, 1 MULTI
>>
>>SELECT 54 FROM T002T1 T
+>HAVING ( EXISTS (
+> SELECT COUNT ( T.A ) FROM T002T1 ));
(EXPR)
------
54
--- 1 row(s) selected.
>> -- 0 rows EMPTY, 1 MULTI
>>
>>SELECT 54 FROM T002T1 T
+>HAVING ( EXISTS (
+> SELECT STDDEV ( T002T1.A ) FROM T002T1 ));
(EXPR)
------
54
--- 1 row(s) selected.
>> -- 0 rows EMPTY, 1 MULTI
>>
>>SELECT 54 FROM T002T1 T
+>HAVING ( EXISTS (
+> SELECT SUM ( T002T1.A ) FROM T002T1 ));
(EXPR)
------
54
--- 1 row(s) selected.
>> -- 0 rows EMPTY, 1 MULTI
>>
>>SELECT 54 FROM T002T2 T
+>HAVING ( EXISTS (
+> SELECT SUM ( T002T1.A ) FROM T002T1 ));
(EXPR)
------
54
--- 1 row(s) selected.
>> -- 1 row ALWAYS
>>
>>SELECT 54 FROM (values(1)) T
+>HAVING ( EXISTS (
+> SELECT SUM ( T002T1.A ) FROM T002T1 ));
(EXPR)
------
54
--- 1 row(s) selected.
>> -- 1 row ALWAYS
>>
>>SELECT 54 FROM (values(1)) T
+>HAVING ( EXISTS (
+> SELECT 27 FROM T002T1 ));
(EXPR)
------
54
--- 1 row(s) selected.
>> -- 0 rows EMPTY, 1 MULTI
>>
>> SELECT foo FROM (values(54)) T(foo)
+> WHERE ( EXISTS (
+> SELECT 27 FROM T002T1 ));
FOO
----
54
--- 1 row(s) selected.
>> -- 0 rows EMPTY, 1 MULTI
>>
>> SELECT 54 FROM (values(1)) T
+> WHERE
+> (SELECT 27 FROM (values(2))u)=27;
(EXPR)
------
54
--- 1 row(s) selected.
>> -- 1 row ALWAYS
>>
>> SELECT 54 FROM (values(1)) TbadCorr
+> WHERE
+> (SELECT 27 FROM TbadCorr) = 27;
*** ERROR[4082] Object TRAFODION.SCH.TBADCORR does not exist or is inaccessible.
*** ERROR[8822] The statement was not prepared.
>> -- ok: cat.sch.tbadCorr not found
>>
>> SELECT 54 FROM T002T2 T
+> WHERE ( EXISTS (
+> SELECT 27 FROM T002T1 ));
(EXPR)
------
54
54
--- 2 row(s) selected.
>> -- 0 rows EMPTY, >0 MULTI
>>
>>SELECT 54 FROM T002T1 T
+>HAVING (SELECT SUM ( T.A ) FROM T002T1 )>0;
*** ERROR[8401] A row subquery or SELECT...INTO statement cannot return more than one row.
--- 0 row(s) selected.
>> -- 0 rows EMPTY, err 8401 MULTI
>>
>>SELECT 54 FROM T002T1 T
+>HAVING (SELECT SUM ( T002T1.A ) FROM T002T1 )>0;
(EXPR)
------
54
--- 1 row(s) selected.
>>-- 0 rows EMPTY, 1 MULTI
>>
>>SELECT 54 FROM T002T1 T
+>HAVING (SELECT A FROM T002T1 )>0;
*** ERROR[8401] A row subquery or SELECT...INTO statement cannot return more than one row.
--- 0 row(s) selected.
>> -- 0 rows EMPTY, err 8401 MULTI
>>
>>--------------------------------
>>
>>--------------------------------
>>obey TEST002(BR0198_EMPTY);
>>delete from T002T1;
--- 2 row(s) deleted.
>>select count(*) from T002T2;
(EXPR)
--------------------
2
--- 1 row(s) selected.
>> -- must be >1 for one case below to be valid
>>obey TEST002(BR0198_BASIC);
>>
>>SELECT 54 FROM T002T1 T
+>HAVING ( EXISTS (
+> SELECT STDDEV ( T.A ) FROM T002T1 ));
--- 0 row(s) selected.
>> -- 0 rows EMPTY, 1 MULTI
>>
>>SELECT 54 FROM T002T1 T
+>HAVING ( EXISTS (
+> SELECT SUM ( T.A ) FROM T002T1 ));
--- 0 row(s) selected.
>> -- 0 rows EMPTY, 1 MULTI
>>
>>SELECT 54 FROM T002T1 T
+>HAVING ( EXISTS (
+> SELECT COUNT ( T.A ) FROM T002T1 ));
--- 0 row(s) selected.
>> -- 0 rows EMPTY, 1 MULTI
>>
>>SELECT 54 FROM T002T1 T
+>HAVING ( EXISTS (
+> SELECT STDDEV ( T002T1.A ) FROM T002T1 ));
--- 0 row(s) selected.
>> -- 0 rows EMPTY, 1 MULTI
>>
>>SELECT 54 FROM T002T1 T
+>HAVING ( EXISTS (
+> SELECT SUM ( T002T1.A ) FROM T002T1 ));
--- 0 row(s) selected.
>> -- 0 rows EMPTY, 1 MULTI
>>
>>SELECT 54 FROM T002T2 T
+>HAVING ( EXISTS (
+> SELECT SUM ( T002T1.A ) FROM T002T1 ));
(EXPR)
------
54
--- 1 row(s) selected.
>> -- 1 row ALWAYS
>>
>>SELECT 54 FROM (values(1)) T
+>HAVING ( EXISTS (
+> SELECT SUM ( T002T1.A ) FROM T002T1 ));
(EXPR)
------
54
--- 1 row(s) selected.
>> -- 1 row ALWAYS
>>
>>SELECT 54 FROM (values(1)) T
+>HAVING ( EXISTS (
+> SELECT 27 FROM T002T1 ));
--- 0 row(s) selected.
>> -- 0 rows EMPTY, 1 MULTI
>>
>> SELECT foo FROM (values(54)) T(foo)
+> WHERE ( EXISTS (
+> SELECT 27 FROM T002T1 ));
--- 0 row(s) selected.
>> -- 0 rows EMPTY, 1 MULTI
>>
>> SELECT 54 FROM (values(1)) T
+> WHERE
+> (SELECT 27 FROM (values(2))u)=27;
(EXPR)
------
54
--- 1 row(s) selected.
>> -- 1 row ALWAYS
>>
>> SELECT 54 FROM (values(1)) TbadCorr
+> WHERE
+> (SELECT 27 FROM TbadCorr) = 27;
*** ERROR[4082] Object TRAFODION.SCH.TBADCORR does not exist or is inaccessible.
*** ERROR[8822] The statement was not prepared.
>> -- ok: cat.sch.tbadCorr not found
>>
>> SELECT 54 FROM T002T2 T
+> WHERE ( EXISTS (
+> SELECT 27 FROM T002T1 ));
--- 0 row(s) selected.
>> -- 0 rows EMPTY, >0 MULTI
>>
>>SELECT 54 FROM T002T1 T
+>HAVING (SELECT SUM ( T.A ) FROM T002T1 )>0;
--- 0 row(s) selected.
>> -- 0 rows EMPTY, err 8401 MULTI
>>
>>SELECT 54 FROM T002T1 T
+>HAVING (SELECT SUM ( T002T1.A ) FROM T002T1 )>0;
--- 0 row(s) selected.
>>-- 0 rows EMPTY, 1 MULTI
>>
>>SELECT 54 FROM T002T1 T
+>HAVING (SELECT A FROM T002T1 )>0;
--- 0 row(s) selected.
>> -- 0 rows EMPTY, err 8401 MULTI
>>
>>--------------------------------
>>
>>
>>log;