cross join 是笛卡儿乘积就是一张表的行数乘以另一张表的行数
left join 第一张表的连接列在第二张表中没有匹配是,第二张表中的值返回null
right join 第二张表的连接列在第一张表中没有匹配是,第一张表中的值返回null
full join 返回两张表中的行 left join+right join
inner join 只返回两张表连接列的匹配项
SQL> create table a (a int,b int);
Table created.
SQL> create table b (a int ,b int);
Table created.
SQL> insert into a values(1,1);
1 row created.
SQL> insert into a values(2,2);
1 row created.
SQL> insert into b values(1,1);
1 row created.
SQL> insert into b values(3,3);
1 row created.
SQL> select * from a;
A B
---------- ----------
1 1
2 2
SQL> select * from b;
A B
---------- ----------
1 1
3 3
SQL> select * from a left join b on a.a=b.a; ----left join
A B A B
---------- ---------- ---------- ----------
1 1 1 1
2 2
SQL> select * from a right join b on a.a=b.a; ----right join
A B A B
---------- ---------- ---------- ----------
1 1 1 1
3 3
SQL> select * from a join b on a.a=b.a; ---inner join
A B A B
---------- ---------- ---------- ----------
1 1 1 1
SQL> select * from a full join b on a.a=b.a; ---full join
A B A B
---------- ---------- ---------- ----------
1 1 1 1
2 2
3 3
SQL> select * from a cross join b; ---cross join
A B A B
---------- ---------- ---------- ----------
1 1 1 1
1 1 3 3
2 2 1 1
2 2 3 3
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10972173/viewspace-711547/ ,如需转载,请注明出处,否则将追究法律责任。