⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lojreorder.out

📁 derby database source code.good for you.
💻 OUT
📖 第 1 页 / 共 5 页
字号:
3          |3.000        |3    |3          |3.000        |3    |3          |3.000        |3    |3          |3.000        |3    ij> select * from tt left outer join (t left outer join s on (b=e) left outer join r on (f = i)) on (j=a) where g > 0;J          |K            |L    |A          |B            |C    |D          |E            |F    |G          |H            |I    -------------------------------------------------------------------------------------------------------------------------------3          |3.000        |3    |3          |3.000        |3    |3          |3.000        |3    |3          |3.000        |3    ij> select j+1, k+2, L||'s', a+10, b+10, C||'t', d+20, e+20, f||'u', g+30, h+30, i||'v' from tt left outer join (t left outer join s on (b=e) left outer join r on (f = i)) on (j=a);1          |2                |3     |4          |5                |6     |7          |8                |9     |10         |11               |12    ---------------------------------------------------------------------------------------------------------------------------------------------------3          |4.000            |2s    |12         |12.000           |2t    |22         |22.000           |2u    |NULL       |NULL             |NULL  4          |5.000            |3s    |13         |13.000           |3t    |23         |23.000           |3u    |33         |33.000           |3v    5          |6.000            |4s    |NULL       |NULL             |NULL  |NULL       |NULL             |NULL  |NULL       |NULL             |NULL  ij> select j, j+1, k, k+2, L, L||'s' from tt left outer join (t left outer join s on (b=e) left outer join r on (f = i)) on (j=a);J          |2          |K            |4                |L    |6     --------------------------------------------------------------------2          |3          |2.000        |4.000            |2    |2s    3          |4          |3.000        |5.000            |3    |3s    4          |5          |4.000        |6.000            |4    |4s    ij> select a, a+10, b, b+10, C, C||'t' from tt left outer join (t left outer join s on (b=e) left outer join r on (f = i)) on (j=a);A          |2          |B            |4                |C    |6     --------------------------------------------------------------------2          |12         |2.000        |12.000           |2    |2t    3          |13         |3.000        |13.000           |3    |3t    NULL       |NULL       |NULL         |NULL             |NULL |NULL  ij> select d, d+20, e, e+20, f, f||'u' from tt left outer join (t left outer join s on (b=e) left outer join r on (f = i)) on (j=a);D          |2          |E            |4                |F    |6     --------------------------------------------------------------------2          |22         |2.000        |22.000           |2    |2u    3          |23         |3.000        |23.000           |3    |3u    NULL       |NULL       |NULL         |NULL             |NULL |NULL  ij> select g, g+30, h, h+30, i, i||'v' from tt left outer join (t left outer join s on (b=e) left outer join r on (f = i)) on (j=a);G          |2          |H            |4                |I    |6     --------------------------------------------------------------------NULL       |NULL       |NULL         |NULL             |NULL |NULL  3          |33         |3.000        |33.000           |3    |3v    NULL       |NULL       |NULL         |NULL             |NULL |NULL  ij> select * from tt left outer join (t left outer join s on (b=e) left outer join r on (f = i)) on (j=d);J          |K            |L    |A          |B            |C    |D          |E            |F    |G          |H            |I    -------------------------------------------------------------------------------------------------------------------------------2          |2.000        |2    |2          |2.000        |2    |2          |2.000        |2    |NULL       |NULL         |NULL 3          |3.000        |3    |3          |3.000        |3    |3          |3.000        |3    |3          |3.000        |3    4          |4.000        |4    |NULL       |NULL         |NULL |NULL       |NULL         |NULL |NULL       |NULL         |NULL ij> select * from tt left outer join (t left outer join s on (b=e) left outer join r on (f = i)) on (j=d) where j > 0;J          |K            |L    |A          |B            |C    |D          |E            |F    |G          |H            |I    -------------------------------------------------------------------------------------------------------------------------------2          |2.000        |2    |2          |2.000        |2    |2          |2.000        |2    |NULL       |NULL         |NULL 3          |3.000        |3    |3          |3.000        |3    |3          |3.000        |3    |3          |3.000        |3    4          |4.000        |4    |NULL       |NULL         |NULL |NULL       |NULL         |NULL |NULL       |NULL         |NULL ij> select * from tt left outer join (t left outer join s on (b=e) left outer join r on (f = i)) on (j=d) where b > 0;J          |K            |L    |A          |B            |C    |D          |E            |F    |G          |H            |I    -------------------------------------------------------------------------------------------------------------------------------2          |2.000        |2    |2          |2.000        |2    |2          |2.000        |2    |NULL       |NULL         |NULL 3          |3.000        |3    |3          |3.000        |3    |3          |3.000        |3    |3          |3.000        |3    ij> select * from tt left outer join (t left outer join s on (b=e) left outer join r on (f = i)) on (j=d) where e > 0;J          |K            |L    |A          |B            |C    |D          |E            |F    |G          |H            |I    -------------------------------------------------------------------------------------------------------------------------------2          |2.000        |2    |2          |2.000        |2    |2          |2.000        |2    |NULL       |NULL         |NULL 3          |3.000        |3    |3          |3.000        |3    |3          |3.000        |3    |3          |3.000        |3    ij> select * from tt left outer join (t left outer join s on (b=e) left outer join r on (f = i)) on (j=d) where g > 0;J          |K            |L    |A          |B            |C    |D          |E            |F    |G          |H            |I    -------------------------------------------------------------------------------------------------------------------------------3          |3.000        |3    |3          |3.000        |3    |3          |3.000        |3    |3          |3.000        |3    ij> select * from tt left outer join (t left outer join s on (b=e) left outer join r on (f = i)) on (j=g);J          |K            |L    |A          |B            |C    |D          |E            |F    |G          |H            |I    -------------------------------------------------------------------------------------------------------------------------------2          |2.000        |2    |NULL       |NULL         |NULL |NULL       |NULL         |NULL |NULL       |NULL         |NULL 3          |3.000        |3    |3          |3.000        |3    |3          |3.000        |3    |3          |3.000        |3    4          |4.000        |4    |NULL       |NULL         |NULL |NULL       |NULL         |NULL |NULL       |NULL         |NULL ij> select * from tt left outer join (t left outer join s on (b=e) left outer join r on (f = i)) on (j=g) where j > 0;J          |K            |L    |A          |B            |C    |D          |E            |F    |G          |H            |I    -------------------------------------------------------------------------------------------------------------------------------2          |2.000        |2    |NULL       |NULL         |NULL |NULL       |NULL         |NULL |NULL       |NULL         |NULL 3          |3.000        |3    |3          |3.000        |3    |3          |3.000        |3    |3          |3.000        |3    4          |4.000        |4    |NULL       |NULL         |NULL |NULL       |NULL         |NULL |NULL       |NULL         |NULL ij> select * from tt left outer join (t left outer join s on (b=e) left outer join r on (f = i)) on (j=g) where b > 0;J          |K            |L    |A          |B            |C    |D          |E            |F    |G          |H            |I    -------------------------------------------------------------------------------------------------------------------------------3          |3.000        |3    |3          |3.000        |3    |3          |3.000        |3    |3          |3.000        |3    ij> select * from tt left outer join (t left outer join s on (b=e) left outer join r on (f = i)) on (j=g) where e > 0;J          |K            |L    |A          |B            |C    |D          |E            |F    |G          |H            |I    -------------------------------------------------------------------------------------------------------------------------------3          |3.000        |3    |3          |3.000        |3    |3          |3.000        |3    |3          |3.000        |3    ij> select * from tt left outer join (t left outer join s on (b=e) left outer join r on (f = i)) on (j=g) where g > 0;J          |K            |L    |A          |B            |C    |D          |E            |F    |G          |H            |I    -------------------------------------------------------------------------------------------------------------------------------3          |3.000        |3    |3          |3.000        |3    |3          |3.000        |3    |3          |3.000        |3    ij> ---- Create views of union, regular joins, subquery, group by, having clause,-- and use the view in the LOJ operands and yet the LOJ reordering is applicable.-- We need to test the join condition: LHS=RHS.create view v1 (fv, ev, dv, cv, bv, av) as (select f, e, d, c, b, a from t left outer join s on b = e);0 rows inserted/updated/deletedij> create view v2 (fv, ev, dv, cv, bv, av) as (select f, e, d, c, b, a from t inner join s on b = e);0 rows inserted/updated/deletedij> create view v3 (fv, ev, dv, cv, bv, av) as (select f, e, d, c, b, a from t right join s on b = e);0 rows inserted/updated/deletedij> create view v4 (fv, ev, dv, cv, bv, av) as (select f, e, d, c, b, a from t, s where b = e);0 rows inserted/updated/deletedij> create view v5 (cv, bv, cnt) as (select c, b, count(*) from t group by c, b);0 rows inserted/updated/deletedij> create view v6 (cv, bv, cnt) as (select c, b, count(*) from t group by c, b having b > 0);0 rows inserted/updated/deletedij> create view v7 (cv, bv, av) as (select c, b, a from t where b in (select e from s));0 rows inserted/updated/deletedij> create view v8 (cv, bv, av) as (select c, b, a from t union select f, e, d from s);0 rows inserted/updated/deletedij> -- All these test cases need table references to determine if the join condition is proper for LOJ-- reordering: LHS = RHSselect * from v1 left outer join (s left outer join r on (f = i)) on (d=v1.av);FV   |EV           |DV         |CV   |BV           |AV         |D          |E            |F    |G          |H            |I    -------------------------------------------------------------------------------------------------------------------------------NULL |NULL         |NULL       |1    |1.000        |1          |NULL       |NULL         |NULL |NULL       |NULL         |NULL 2    |2.000        |2          |2    |2.000        |2          |2          |2.000        |2    |NULL       |NULL         |NULL 3    |3.000        |3          |3    |3.000        |3          |3          |3.000        |3    |3          |3.000        |3    ij> select * from v2 left outer join (s left outer join r on (f = i)) on (d=v2.av);FV   |EV           |DV         |CV   |BV           |AV         |D          |E            |F    |G          |H            |I    -------------------------------------------------------------------------------------------------------------------------------2    |2.000        |2          |2    |2.000        |2          |2          |2.000        |2    |NULL       |NULL         |NULL 3    |3.000        |3          |3    |3.000        |3          |3          |3.000        |3    |3          |3.000        |3    ij> select * from v3 left outer join (s left outer join r on (f = i)) on (d=v3.av);FV   |EV           |DV         |CV   |BV           |AV         |D          |E            |F    |G          |H            |I    -------------------------------------------------------------------------------------------------------------------------------2    |2.000        |2          |2    |2.000        |2          |2          |2.000        |2    |NULL       |NULL         |NULL 3    |3.000        |3          |3    |3.000        |3          |3          |3.000        |3    |3          |3.000        |3    4    |4.000        |4          |NULL |NULL         |NULL       |NULL       |NULL         |NULL |NULL       |NULL         |NULL ij> select * from v4 left outer join (s left outer join r on (f = i)) on (d=v4.av);FV   |EV           |DV         |CV   |BV           |AV         |D          |E            |F    |G          |H            |I    -------------------------------------------------------------------------------------------------------------------------------2    |2.000        |2          |2    |2.000        |2          |2          |2.000        |2    |NULL       |NULL         |NULL 3    |3.000        |3          |3    |3.000        |3          |3          |3.000        |3    |3          |3.000        |3    ij> select * from v5 left outer join (s left outer join r on (f = i)) on (e=v5.bv);CV   |BV           |CNT        |D          |E            |F    |G          |H            |I    -----------------------------------------------------------------------------------------------1    |1.000        |1          |NULL       |NULL         |NULL |NULL       |NULL         |NULL 2    |2.000        |1          |2          |2.000        |2    |NULL       |NULL         |NULL 3    |3.000        |1          |3          |3.000        |3    |3          |3.000        |3    ij> select * from v6 left outer join (s left outer join r on (f = i)) on (e=v6.bv);CV   |BV           |CNT        |D          |E            |F    |G          |H            |I    -----------------------------------------------------------------------------------------------1    |1.000        |1          |NULL       |NULL         |NULL |NULL       |NULL         |NULL 2    |2.000        |1          |2          |2.000        |2    |NULL       |NULL         |NULL 3    |3.000        |1          |3          |3.000        |3    |3          |3.000        |3    ij> select * from v7 left outer join (s left outer join r on (f = i)) on (e=v7.bv);CV   |BV           |AV         |D          |E            |F    |G          |H            |I    -----------------------------------------------------------------------------------------------2    |2.000        |2          |2          |2.000        |2    |NULL       |NULL         |NULL 3    |3.000        |3          |3          |3.000        |3    |3          |3.000        |3    ij> select * from v8 left outer join (s left outer join r on (f = i)) on (e=v8.bv);CV   |BV           |AV         |D          |E            |F    |G          |H            |I    -----------------------------------------------------------------------------------------------1    |1.000        |1          |NULL       |NULL         |NULL |NULL       |NULL         |NULL 2    |2.000        |2          |2          |2.000        |2    |NULL       |NULL         |NULL 3    |3.000        |3          |3          |3.000        |3    |3          |3.000        |3    4    |4.000        |4          |4          |4.000        |4    |4          |4.000        |4    ij> select * from t left outer join (s left outer join v1 on (f = cv)) on (d=a);A          |B            |C    |D          |E            |F    |FV   |EV           |DV         |CV   |BV           |AV         -------------------------------------------------------------------------------------------------------------------------------1          |1.000        |1    |NULL       |NULL         |NULL |1    |1.000        |1          |NULL |NULL         |NULL       2          |2.000        |2    |2          |2.000        |2    |2    |2.000        |2          |2    |2.000        |2          

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -