浅谈SQL中的几种连接
来源:互联网 发布:家里wifi网络拒绝接入 编辑:程序博客网 时间:2024/06/14 19:10
在网上找了些资料,结合本地测试,使用SQL Server 2005调试,整理一下SQL中的各种联接。
SQL 连接分为左连接、右连接、全连接、内连接、交叉连接
一、先用两张表来分析
person
id name dpid
1 xun 1
2 xun2 2
3 xun3 1
department
id name
1 开发部
二、左连接(left join 表名 on 条件)
select * from person as a left join department as b on a.dpid=b.id
结果是
id name dpid id name
1 xun 1 1 开发部
2 xun2 2 null null
3 xun3 1 1 测试部
可见,左连接联合查询后的结果以左表为准扩展开来,左表中的记录不符合条件的,其连接后的字段均为空
三、右连接(right join 表名 on 条件)
select * from person as a right join department as b on a.dpid=b.id
结果是
id name dpdi id name
1 xun 1 1 开发部
3 xun3 1 1 开发部
右连接联合查询的结果以右表为准扩展开来,右表中不符合条件的,其连接后的字段为空,这里的右表只有一条记录,因此扩展后左表中不符合条件的记录不用添加进来。
四、全连接(full join 表名 on 条件)
select * from person as a full join department as b on a.dpid=b.id
结果是
id name dpid id name
1 xun 1 1 开发部
2 xun2 2 null null
3 xun3 1 1 开发部
可以看到全连接将两张表中的所有数据显示出来,不符合条件的在相应的位置为null,上例中person表中id为2的记录的dpid为2,因为dpid为2在department中没有数据,所以连接后相应的属性为空
五、内连接(inner join 表名 on 条件)
select * from person as a inner join department as b on a.dpid=b.id
结果是
id name dpid id name
1 xun 1 1 开发部
3 xun3 1 1 开发部
可以得出内连接返回的是同时存在左表和右表的数据
六、交叉连接(cross join 表名)
a、不带where条件语句
select * from person as a cross join department as b
结果是
id name dpid id name
1 xun 1 1 开发部
2 xun2 2 1 开发部
3 xun3 1 1 开发部
不带where条件的交叉连接产生所涉及的表的笛卡尔积,即第一张表的行数乘以第二张表的行数等于笛卡尔积结果集的大学(上例中person:3*department:1=3)
b、带where条件语句
select * from person as a cross join department as b where a.dpid=b.id
结果是
id name dpid id name
1 xun 1 1 开发部
3 xun3 1 1 开发部
带上where条件,交叉连接后返回的结果集与内连接一样。
- 浅谈SQL中的几种连接
- SQL中的几种连接
- SQL中的几种连接
- SQL中的几种连接
- 浅谈SQL Server中的三种物理连接操作
- 浅谈SQL Server中的三种物理连接操作
- 浅谈SQL Server中的三种物理连接操作
- 浅谈SQL Server中的三种物理连接操作
- 浅谈SQL Server中的三种物理连接操作
- 浅谈SQL Server中的三种物理连接操作
- 转载:浅谈SQL Server中的三种物理连接操作
- 浅谈SQL Server中的三种物理连接操作
- 浅谈SQL Server中的三种物理连接操作
- sql server 中的几种join连接方式
- 浅谈路由器的wan口显示连接中的几种可能
- SQL 的几种连接
- SQL几种连接查询
- 浅谈Java中的几种随机数
- Oracle 中时间的计算
- 学习JPA——Hibernate Annotation使用实例
- .....
- Maven2快速认识和使用
- const char * 转换为 char *
- 浅谈SQL中的几种连接
- 小谈Hibernate中的HQL与QBC查询
- /lib/ld-linux.so.3: No such file or directory
- Apache服务器优化方法收集
- 智力题解题报告 No.19 苹果里里的五角星
- RFID 无线设备编程心得
- 1
- IIP+PHP+MYSQL配置
- to_date()使用问题