join.result
来自「视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.」· RESULT 代码 · 共 861 行 · 第 1/3 页
RESULT
861 行
cust 20drop table t1,t2;CREATE TABLE t1 (ID INTEGER NOT NULL PRIMARY KEY, Value1 VARCHAR(255));CREATE TABLE t2 (ID INTEGER NOT NULL PRIMARY KEY, Value2 VARCHAR(255));INSERT INTO t1 VALUES (1, 'A');INSERT INTO t2 VALUES (1, 'B');SELECT * FROM t1 NATURAL JOIN t2 WHERE 1 AND (Value1 = 'A' AND Value2 <> 'B');ID Value1 Value2SELECT * FROM t1 NATURAL JOIN t2 WHERE 1 AND Value1 = 'A' AND Value2 <> 'B';ID Value1 Value2SELECT * FROM t1 NATURAL JOIN t2 WHERE (Value1 = 'A' AND Value2 <> 'B') AND 1;ID Value1 Value2drop table t1,t2;CREATE TABLE t1 (a int);CREATE TABLE t2 (b int);CREATE TABLE t3 (c int);SELECT * FROM t1 NATURAL JOIN t2 NATURAL JOIN t3;a b cDROP TABLE t1, t2, t3;create table t1 (i int);create table t2 (i int);create table t3 (i int);insert into t1 values(1),(2);insert into t2 values(2),(3);insert into t3 values (2),(4);select * from t1 natural left join t2;i12select * from t1 left join t2 on (t1.i=t2.i);i i1 NULL2 2select * from t1 natural left join t2 natural left join t3;i12select * from t1 left join t2 on (t1.i=t2.i) left join t3 on (t2.i=t3.i);i i i1 NULL NULL2 2 2select * from t3 natural right join t2;i23select * from t3 right join t2 on (t3.i=t2.i);i i2 2NULL 3select * from t3 natural right join t2 natural right join t1;i12select * from t3 right join t2 on (t3.i=t2.i) right join t1 on (t2.i=t1.i);i i iNULL NULL 12 2 2select * from t1,t2 natural left join t3 order by t1.i,t2.i,t3.i;i i1 21 32 22 3select * from t1,t2 left join t3 on (t2.i=t3.i) order by t1.i,t2.i,t3.i;i i i1 2 21 3 NULL2 2 22 3 NULLselect t1.i,t2.i,t3.i from t2 natural left join t3,t1 order by t1.i,t2.i,t3.i;i i i1 2 21 3 NULL2 2 22 3 NULLselect t1.i,t2.i,t3.i from t2 left join t3 on (t2.i=t3.i),t1 order by t1.i,t2.i,t3.i;i i i1 2 21 3 NULL2 2 22 3 NULLselect * from t1,t2 natural right join t3 order by t1.i,t2.i,t3.i;i i1 41 22 42 2select * from t1,t2 right join t3 on (t2.i=t3.i) order by t1.i,t2.i,t3.i;i i i1 NULL 41 2 22 NULL 42 2 2select t1.i,t2.i,t3.i from t2 natural right join t3,t1 order by t1.i,t2.i,t3.i;i i i1 NULL 41 2 22 NULL 42 2 2select t1.i,t2.i,t3.i from t2 right join t3 on (t2.i=t3.i),t1 order by t1.i,t2.i,t3.i;i i i1 NULL 41 2 22 NULL 42 2 2drop table t1,t2,t3;CREATE TABLE t1 (a int, b int default 0, c int default 1);INSERT INTO t1 (a) VALUES (1),(2),(3),(4),(5),(6),(7),(8);INSERT INTO t1 (a) SELECT a + 8 FROM t1;INSERT INTO t1 (a) SELECT a + 16 FROM t1;CREATE TABLE t2 (a int, d int, e int default 0);INSERT INTO t2 (a, d) VALUES (1,1),(2,2),(3,3),(4,4);INSERT INTO t2 (a, d) SELECT a+4, a+4 FROM t2;INSERT INTO t2 (a, d) SELECT a+8, a+8 FROM t2;EXPLAINSELECT STRAIGHT_JOIN t2.e FROM t1,t2 WHERE t2.d=1 AND t1.b=t2.eORDER BY t1.b, t1.c;id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t1 ALL NULL NULL NULL NULL 32 Using temporary; Using filesort1 SIMPLE t2 ALL NULL NULL NULL NULL 16 Using whereSELECT STRAIGHT_JOIN t2.e FROM t1,t2 WHERE t2.d=1 AND t1.b=t2.eORDER BY t1.b, t1.c;e00000000000000000000000000000000DROP TABLE t1,t2;create table t1 (c int, b int);create table t2 (a int, b int);create table t3 (b int, c int);create table t4 (y int, c int);create table t5 (y int, z int);create table t6 (a int, c int);insert into t1 values (10,1);insert into t1 values (3 ,1);insert into t1 values (3 ,2);insert into t2 values (2, 1);insert into t3 values (1, 3);insert into t3 values (1,10);insert into t4 values (11,3);insert into t4 values (2, 3);insert into t5 values (11,4);insert into t6 values (2, 3);create algorithm=merge view v1a asselect * from t1 natural join t2;create algorithm=merge view v1b(a,b,c) asselect * from t1 natural join t2;create algorithm=merge view v1c asselect b as a, c as b, a as c from t1 natural join t2;create algorithm=merge view v1d(b, a, c) asselect a as c, c as b, b as a from t1 natural join t2;create algorithm=merge view v2a asselect t1.c, t1.b, t2.a from t1 join (t2 join t4 on b + 1 = y) on t1.c = t4.c;create algorithm=merge view v2b asselect t1.c as b, t1.b as a, t2.a as cfrom t1 join (t2 join t4 on b + 1 = y) on t1.c = t4.c;create algorithm=merge view v3a asselect * from t1 natural join t2 natural join t3;create algorithm=merge view v3b asselect * from t1 natural join (t2 natural join t3);create algorithm=merge view v4 asselect * from v2a natural join v3a;select * from (t1 natural join t2) natural join (t3 natural join t4);b c a y1 3 2 111 3 2 2select * from (t1 natural join t2) natural left join (t3 natural join t4);b c a y1 10 2 NULL1 3 2 111 3 2 2select * from (t3 natural join t4) natural right join (t1 natural join t2);b c a y1 10 2 NULL1 3 2 111 3 2 2select * from (t1 natural left join t2) natural left join (t3 natural left join t4);b c a y1 10 2 NULL1 3 2 111 3 2 22 3 NULL NULLselect * from (t4 natural right join t3) natural right join (t2 natural right join t1);b c a y1 10 2 NULL1 3 2 111 3 2 22 3 NULL NULLselect * from t1 natural join t2 natural join t3 natural join t4;c b a y3 1 2 113 1 2 2select * from ((t1 natural join t2) natural join t3) natural join t4;c b a y3 1 2 113 1 2 2select * from t1 natural join (t2 natural join (t3 natural join t4));c b a y3 1 2 113 1 2 2select * from t5 natural right join (t4 natural right join ((t2 natural right join t1) natural right join t3));y c b a z11 3 1 2 42 3 1 2 NULLNULL 10 1 2 NULLselect * from (t1 natural join t2), (t3 natural join t4);b c a c b y1 10 2 3 1 111 10 2 3 1 21 3 2 3 1 111 3 2 3 1 2select * from t5 natural join ((t1 natural join t2), (t3 natural join t4));y z b c a c b11 4 1 10 2 3 111 4 1 3 2 3 1select * from ((t1 natural join t2), (t3 natural join t4)) natural join t5;y b c a c b z11 1 10 2 3 1 411 1 3 2 3 1 4select * from t5 natural join ((t1 natural join t2) cross join (t3 natural join t4));y z b c a c b11 4 1 10 2 3 111 4 1 3 2 3 1select * from ((t1 natural join t2) cross join (t3 natural join t4)) natural join t5;y b c a c b z11 1 10 2 3 1 411 1 3 2 3 1 4select * from (t1 join t2 using (b)) join (t3 join t4 using (c)) using (c);c b a b y3 1 2 1 113 1 2 1 2select * from (t1 join t2 using (b)) natural join (t3 join t4 using (c));b c a y1 3 2 111 3 2 2select a,b,c from (t1 natural join t2) natural join (t3 natural join t4)where b + 1 = y or b + 10 = y group by b,c,a having min(b) < max(y) order by a;a b c2 1 3select * from (t1 natural join t2) natural left join (t3 natural join t4)where b + 1 = y or b + 10 = y group by b,c,a,y having min(b) < max(y) order by a, y;b c a y1 3 2 21 3 2 11select * from (t3 natural join t4) natural right join (t1 natural join t2)where b + 1 = y or b + 10 = y group by b,c,a,y having min(b) < max(y) order by a, y;b c a y1 3 2 21 3 2 11select * from t1 natural join t2 where t1.c > t2.a;b c a1 10 21 3 2select * from t1 natural join t2 where t1.b > t2.b;b c aselect * from t1 natural left join (t4 natural join t5) where t5.z is not NULL;c b y z3 1 11 4
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?