SQL表联接详解

2020-11-09 13:00| 发布者: | 查看: |

能够根据图看看

多表查寻分成 内、外联接

外联接分成左联接(left join 或left outer join)、右联接(right join 或是 right outer join)、和详细外界联接 (full join 或是 full outer join)

左联接(left join 或 left outer join)的結果便是left join子句中的左表的全部行,而不但仅是连接列所配对的行,假如左表格中的某行在右表格中沒有配对,则在有关联的結果行中右表的全部挑选列均为空值(NULL)

SQL英语的语法 select * from table1 left join table2 on table1.标准列名 = table2.标准列名;

注解: 显示信息的便是table1中的全部列和能配对的列

右联接(right join 或 right outer join )在这里里不做多讲这左联接很象可是是反过来的,只说一下英语的语法

select *from table1 right join table2 on table1. 标准列= table2.标准列

彻底外界联接(full join 或 full outer join)

显示信息上下表格中的全部行,当某一个表格中沒有配对的行时,则另外一个表的挑选目录列包括空值(NULL)假如有则显示信息所有数据信息

SQL英语的语法:

select *from table1 full join table2 on table1.标准列名= table2.标准列名

内联接:
定义:内联接便是用较为计算符较为要用联接列的值的联接

内联接(join 或是inner join )

SQL英语的语法:

select *fron table1 join table2 on table1.标准列名 = table2.标准列名

回到合乎配对标准的两表列

等额的于:

select A* ,B* from table1 A ,table2 B where A.标准列名 =B.标准列名
select *form table1 cross join table2 where table1.标准列名 = table2.标准列名(注: Cross join 后边不可以跟on 只有用where)

交叉式联接(彻底)

定义:沒有用where子句的交叉式联接将造成联接涉及及的笛梅帝积第一个表的行数乘以第二个表的行数相当于笛梅帝积和結果集的尺寸

交叉式联接: Cross join(没有标准where,假如带回到或显示信息的是配对的行数)

SQL英语的语法:

select *from table1 cross join table2

假如有标准(where)

select * from table1 cross join table2 where table1. 标准列名= table2.标准列名

等额的于

select *from table1,table2 (没有where)

<
>

 
QQ在线咨询
售前咨询热线
18720358503
售后服务热线
18720358503
返回顶部