📄 join_nested.result
字号:
DROP TABLE IF EXISTS t0,t1,t2,t3,t4,t5,t6,t7,t8,t9;CREATE TABLE t0 (a int, b int, c int);CREATE TABLE t1 (a int, b int, c int);CREATE TABLE t2 (a int, b int, c int);CREATE TABLE t3 (a int, b int, c int);CREATE TABLE t4 (a int, b int, c int);CREATE TABLE t5 (a int, b int, c int);CREATE TABLE t6 (a int, b int, c int);CREATE TABLE t7 (a int, b int, c int);CREATE TABLE t8 (a int, b int, c int);CREATE TABLE t9 (a int, b int, c int);INSERT INTO t0 VALUES (1,1,0), (1,2,0), (2,2,0);INSERT INTO t1 VALUES (1,3,0), (2,2,0), (3,2,0);INSERT INTO t2 VALUES (3,3,0), (4,2,0), (5,3,0);INSERT INTO t3 VALUES (1,2,0), (2,2,0);INSERT INTO t4 VALUES (3,2,0), (4,2,0);INSERT INTO t5 VALUES (3,1,0), (2,2,0), (3,3,0);INSERT INTO t6 VALUES (3,2,0), (6,2,0), (6,1,0);INSERT INTO t7 VALUES (1,1,0), (2,2,0);INSERT INTO t8 VALUES (0,2,0), (1,2,0);INSERT INTO t9 VALUES (1,1,0), (1,2,0), (3,3,0);SELECT t2.a,t2.bFROM t2;a b3 34 25 3SELECT t3.a,t3.bFROM t3;a b1 22 2SELECT t4.a,t4.bFROM t4;a b3 24 2SELECT t3.a,t3.b,t4.a,t4.bFROM t3,t4;a b a b1 2 3 22 2 3 21 2 4 22 2 4 2SELECT t2.a,t2.b,t3.a,t3.b,t4.a,t4.bFROM t2LEFT JOIN (t3, t4)ON t2.b=t4.b;a b a b a b3 3 NULL NULL NULL NULL4 2 1 2 3 24 2 1 2 4 24 2 2 2 3 24 2 2 2 4 25 3 NULL NULL NULL NULLSELECT t2.a,t2.b,t3.a,t3.b,t4.a,t4.bFROM t2LEFT JOIN (t3, t4)ON t3.a=1 AND t2.b=t4.b;a b a b a b3 3 NULL NULL NULL NULL4 2 1 2 3 24 2 1 2 4 25 3 NULL NULL NULL NULLEXPLAIN EXTENDEDSELECT t2.a,t2.b,t3.a,t3.b,t4.a,t4.bFROM t2LEFT JOIN (t3, t4)ON t2.b=t4.bWHERE t3.a=1 OR t3.c IS NULL;id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t2 ALL NULL NULL NULL NULL 3 1 SIMPLE t3 ALL NULL NULL NULL NULL 2 Using where1 SIMPLE t4 ALL NULL NULL NULL NULL 2 Warnings:Note 1003 select `test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,`test`.`t3`.`a` AS `a`,`test`.`t3`.`b` AS `b`,`test`.`t4`.`a` AS `a`,`test`.`t4`.`b` AS `b` from `test`.`t2` left join (`test`.`t3` join `test`.`t4`) on((`test`.`t4`.`b` = `test`.`t2`.`b`)) where ((`test`.`t3`.`a` = 1) or isnull(`test`.`t3`.`c`))SELECT t2.a,t2.b,t3.a,t3.b,t4.a,t4.bFROM t2LEFT JOIN (t3, t4)ON t2.b=t4.bWHERE t3.a=1 OR t3.c IS NULL;a b a b a b3 3 NULL NULL NULL NULL4 2 1 2 3 24 2 1 2 4 25 3 NULL NULL NULL NULLSELECT t2.a,t2.b,t3.a,t3.b,t4.a,t4.bFROM t2LEFT JOIN (t3, t4)ON t2.b=t4.bWHERE t3.a>1 OR t3.c IS NULL;a b a b a b3 3 NULL NULL NULL NULL4 2 2 2 3 24 2 2 2 4 25 3 NULL NULL NULL NULLSELECT t5.a,t5.bFROM t5;a b3 12 23 3SELECT t3.a,t3.b,t4.a,t4.b,t5.a,t5.bFROM t3,t4,t5;a b a b a b1 2 3 2 3 12 2 3 2 3 11 2 4 2 3 12 2 4 2 3 11 2 3 2 2 22 2 3 2 2 21 2 4 2 2 22 2 4 2 2 21 2 3 2 3 32 2 3 2 3 31 2 4 2 3 32 2 4 2 3 3SELECT t2.a,t2.b,t3.a,t3.b,t4.a,t4.b,t5.a,t5.bFROM t2LEFT JOIN (t3, t4, t5)ON t2.b=t4.b;a b a b a b a b3 3 NULL NULL NULL NULL NULL NULL4 2 1 2 3 2 3 14 2 1 2 3 2 2 24 2 1 2 3 2 3 34 2 1 2 4 2 3 14 2 1 2 4 2 2 24 2 1 2 4 2 3 34 2 2 2 3 2 3 14 2 2 2 3 2 2 24 2 2 2 3 2 3 34 2 2 2 4 2 3 14 2 2 2 4 2 2 24 2 2 2 4 2 3 35 3 NULL NULL NULL NULL NULL NULLEXPLAIN EXTENDEDSELECT t2.a,t2.b,t3.a,t3.b,t4.a,t4.b,t5.a,t5.bFROM t2LEFT JOIN (t3, t4, t5)ON t2.b=t4.bWHERE t3.a>1 OR t3.c IS NULL;id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t2 ALL NULL NULL NULL NULL 3 1 SIMPLE t3 ALL NULL NULL NULL NULL 2 Using where1 SIMPLE t4 ALL NULL NULL NULL NULL 2 1 SIMPLE t5 ALL NULL NULL NULL NULL 3 Warnings:Note 1003 select `test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,`test`.`t3`.`a` AS `a`,`test`.`t3`.`b` AS `b`,`test`.`t4`.`a` AS `a`,`test`.`t4`.`b` AS `b`,`test`.`t5`.`a` AS `a`,`test`.`t5`.`b` AS `b` from `test`.`t2` left join (`test`.`t3` join `test`.`t4` join `test`.`t5`) on((`test`.`t4`.`b` = `test`.`t2`.`b`)) where ((`test`.`t3`.`a` > 1) or isnull(`test`.`t3`.`c`))SELECT t2.a,t2.b,t3.a,t3.b,t4.a,t4.b,t5.a,t5.bFROM t2LEFT JOIN (t3, t4, t5)ON t2.b=t4.bWHERE t3.a>1 OR t3.c IS NULL;a b a b a b a b3 3 NULL NULL NULL NULL NULL NULL4 2 2 2 3 2 3 14 2 2 2 3 2 2 24 2 2 2 3 2 3 34 2 2 2 4 2 3 14 2 2 2 4 2 2 24 2 2 2 4 2 3 35 3 NULL NULL NULL NULL NULL NULLEXPLAIN EXTENDEDSELECT t2.a,t2.b,t3.a,t3.b,t4.a,t4.b,t5.a,t5.bFROM t2LEFT JOIN (t3, t4, t5)ON t2.b=t4.bWHERE (t3.a>1 OR t3.c IS NULL) AND (t5.a<3 OR t5.c IS NULL);id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t2 ALL NULL NULL NULL NULL 3 1 SIMPLE t3 ALL NULL NULL NULL NULL 2 Using where1 SIMPLE t4 ALL NULL NULL NULL NULL 2 1 SIMPLE t5 ALL NULL NULL NULL NULL 3 Using whereWarnings:Note 1003 select `test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,`test`.`t3`.`a` AS `a`,`test`.`t3`.`b` AS `b`,`test`.`t4`.`a` AS `a`,`test`.`t4`.`b` AS `b`,`test`.`t5`.`a` AS `a`,`test`.`t5`.`b` AS `b` from `test`.`t2` left join (`test`.`t3` join `test`.`t4` join `test`.`t5`) on((`test`.`t4`.`b` = `test`.`t2`.`b`)) where (((`test`.`t3`.`a` > 1) or isnull(`test`.`t3`.`c`)) and ((`test`.`t5`.`a` < 3) or isnull(`test`.`t5`.`c`)))SELECT t2.a,t2.b,t3.a,t3.b,t4.a,t4.b,t5.a,t5.bFROM t2LEFT JOIN (t3, t4, t5)ON t2.b=t4.bWHERE (t3.a>1 OR t3.c IS NULL) AND (t5.a<3 OR t5.c IS NULL);a b a b a b a b3 3 NULL NULL NULL NULL NULL NULL4 2 2 2 3 2 2 24 2 2 2 4 2 2 25 3 NULL NULL NULL NULL NULL NULLSELECT t6.a,t6.bFROM t6;a b3 26 26 1SELECT t7.a,t7.bFROM t7;a b1 12 2SELECT t6.a,t6.b,t7.a,t7.bFROM t6,t7;a b a b3 2 1 13 2 2 26 2 1 16 2 2 26 1 1 16 1 2 2SELECT t8.a,t8.bFROM t8;a b0 21 2EXPLAIN EXTENDEDSELECT t6.a,t6.b,t7.a,t7.b,t8.a,t8.bFROM (t6, t7)LEFT JOIN t8ON t7.b=t8.b AND t6.b < 10;id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t7 ALL NULL NULL NULL NULL 2 1 SIMPLE t6 ALL NULL NULL NULL NULL 3 1 SIMPLE t8 ALL NULL NULL NULL NULL 2 Warnings:Note 1003 select `test`.`t6`.`a` AS `a`,`test`.`t6`.`b` AS `b`,`test`.`t7`.`a` AS `a`,`test`.`t7`.`b` AS `b`,`test`.`t8`.`a` AS `a`,`test`.`t8`.`b` AS `b` from `test`.`t6` join `test`.`t7` left join `test`.`t8` on(((`test`.`t7`.`b` = `test`.`t8`.`b`) and (`test`.`t6`.`b` < 10))) where 1SELECT t6.a,t6.b,t7.a,t7.b,t8.a,t8.bFROM (t6, t7)LEFT JOIN t8ON t7.b=t8.b AND t6.b < 10;a b a b a b3 2 1 1 NULL NULL3 2 2 2 0 23 2 2 2 1 26 2 1 1 NULL NULL6 2 2 2 0 26 2 2 2 1 26 1 1 1 NULL NULL6 1 2 2 0 26 1 2 2 1 2SELECT t5.a,t5.bFROM t5;a b3 12 23 3SELECT t5.a,t5.b,t6.a,t6.b,t7.a,t7.b,t8.a,t8.bFROM t5 LEFT JOIN ( (t6, t7)LEFT JOIN t8ON t7.b=t8.b AND t6.b < 10)ON t6.b >= 2 AND t5.b=t7.b;a b a b a b a b3 1 3 2 1 1 NULL NULL3 1 6 2 1 1 NULL NULL2 2 3 2 2 2 0 22 2 3 2 2 2 1 22 2 6 2 2 2 0 22 2 6 2 2 2 1 23 3 NULL NULL NULL NULL NULL NULLSELECT t5.a,t5.b,t6.a,t6.b,t7.a,t7.b,t8.a,t8.bFROM t5 LEFT JOIN ( (t6, t7)LEFT JOIN t8ON t7.b=t8.b AND t6.b < 10)ON t6.b >= 2 AND t5.b=t7.b AND(t8.a < 1 OR t8.c IS NULL);a b a b a b a b3 1 3 2 1 1 NULL NULL3 1 6 2 1 1 NULL NULL2 2 3 2 2 2 0 22 2 6 2 2 2 0 23 3 NULL NULL NULL NULL NULL NULLSELECT t2.a,t2.b,t3.a,t3.b,t4.a,t4.bFROM t2LEFT JOIN (t3, t4)ON t3.a=1 AND t2.b=t4.b;a b a b a b3 3 NULL NULL NULL NULL4 2 1 2 3 24 2 1 2 4 25 3 NULL NULL NULL NULLSELECT t2.a,t2.b,t3.a,t3.b,t4.a,t4.b,t5.a,t5.b,t6.a,t6.b,t7.a,t7.b,t8.a,t8.bFROM t2LEFT JOIN (t3, t4)ON t3.a=1 AND t2.b=t4.b,t5 LEFT JOIN ( (t6, t7)LEFT JOIN t8ON t7.b=t8.b AND t6.b < 10)ON t6.b >= 2 AND t5.b=t7.b;a b a b a b a b a b a b a b3 3 NULL NULL NULL NULL 3 1 3 2 1 1 NULL NULL3 3 NULL NULL NULL NULL 3 1 6 2 1 1 NULL NULL4 2 1 2 3 2 3 1 3 2 1 1 NULL NULL4 2 1 2 3 2 3 1 6 2 1 1 NULL NULL4 2 1 2 4 2 3 1 3 2 1 1 NULL NULL4 2 1 2 4 2 3 1 6 2 1 1 NULL NULL5 3 NULL NULL NULL NULL 3 1 3 2 1 1 NULL NULL5 3 NULL NULL NULL NULL 3 1 6 2 1 1 NULL NULL3 3 NULL NULL NULL NULL 2 2 3 2 2 2 0 23 3 NULL NULL NULL NULL 2 2 3 2 2 2 1 23 3 NULL NULL NULL NULL 2 2 6 2 2 2 0 23 3 NULL NULL NULL NULL 2 2 6 2 2 2 1 24 2 1 2 3 2 2 2 3 2 2 2 0 24 2 1 2 3 2 2 2 3 2 2 2 1 24 2 1 2 3 2 2 2 6 2 2 2 0 24 2 1 2 3 2 2 2 6 2 2 2 1 24 2 1 2 4 2 2 2 3 2 2 2 0 24 2 1 2 4 2 2 2 3 2 2 2 1 24 2 1 2 4 2 2 2 6 2 2 2 0 24 2 1 2 4 2 2 2 6 2 2 2 1 25 3 NULL NULL NULL NULL 2 2 3 2 2 2 0 25 3 NULL NULL NULL NULL 2 2 3 2 2 2 1 25 3 NULL NULL NULL NULL 2 2 6 2 2 2 0 25 3 NULL NULL NULL NULL 2 2 6 2 2 2 1 23 3 NULL NULL NULL NULL 3 3 NULL NULL NULL NULL NULL NULL4 2 1 2 3 2 3 3 NULL NULL NULL NULL NULL NULL4 2 1 2 4 2 3 3 NULL NULL NULL NULL NULL NULL5 3 NULL NULL NULL NULL 3 3 NULL NULL NULL NULL NULL NULLSELECT t2.a,t2.b,t3.a,t3.b,t4.a,t4.b,t5.a,t5.b,t6.a,t6.b,t7.a,t7.b,t8.a,t8.bFROM t2LEFT JOIN (t3, t4)ON t3.a=1 AND t2.b=t4.b,t5 LEFT JOIN ( (t6, t7)LEFT JOIN t8ON t7.b=t8.b AND t6.b < 10)ON t6.b >= 2 AND t5.b=t7.bWHERE t2.a > 3 AND(t6.a < 6 OR t6.c IS NULL);a b a b a b a b a b a b a b4 2 1 2 3 2 3 1 3 2 1 1 NULL NULL4 2 1 2 4 2 3 1 3 2 1 1 NULL NULL5 3 NULL NULL NULL NULL 3 1 3 2 1 1 NULL NULL4 2 1 2 3 2 2 2 3 2 2 2 0 24 2 1 2 3 2 2 2 3 2 2 2 1 24 2 1 2 4 2 2 2 3 2 2 2 0 24 2 1 2 4 2 2 2 3 2 2 2 1 25 3 NULL NULL NULL NULL 2 2 3 2 2 2 0 25 3 NULL NULL NULL NULL 2 2 3 2 2 2 1 24 2 1 2 3 2 3 3 NULL NULL NULL NULL NULL NULL4 2 1 2 4 2 3 3 NULL NULL NULL NULL NULL NULL5 3 NULL NULL NULL NULL 3 3 NULL NULL NULL NULL NULL NULLSELECT t1.a,t1.bFROM t1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -