定义
将两个表或者两个以上的表以一定的连接条件连接起来
从中检索出满足条件的数据
分类
内连接
1.select ....... from A,B的用法
产生的结果:
行数是A和B的乘积
列数是A和B之和
或者说
把A表的每一条记录都和B表的每一条记录组合在一起
形成的是一个笛卡尔积
select......from B,A和select......fromA,B输出结果一样
2.select ......from A,B, where...的用法,产生的笛卡尔积用where过滤
3.select ......from A join B on......的用法 将两张表按照特定条件连接在一起
4.SQL92标准和SQL99标准的区别
select ......from A,B where ......是sql92标准
select ......from A join B on......是sql99标准
输出结果一样
5.查询的顺序
select top ...... from A join B on ...... join C on ...... where...... group by ...... hacing...... order by ......
左(右)外连接
定义:不但返回满足连接条件的所有记录,而且会返回部分不满足条件的记录
实际意义:返回一个事物及其事物的相关信息,如果该事务没有相关信息,则输出null
select * from ....... left(right) join ...... on .......
完全连接
两个表中匹配所有行记录
左表中那些在右表中找不到匹配的行的记录,这些记录的右边全为null,反之右表毅然
select * from xxxxxx full join xxxxxx on xxxxxx
交叉连接
select * from xxxxxx cross join xxxxxx on xxxxxx
等价于
select * from xxxxxx,xxxxxx
自连接
定义:一张表自己和自己连接起来查询数据
联合
定义:表和表之间的数据以纵向的方式连接在一起
select * from xxxxxx union select xxxx from xxxxxx