select 连接
来源:互联网 发布:自动加粉软件 编辑:程序博客网 时间:2024/06/03 18:51
表A记录如下:
aID aNum
1 a20050111
2 a20050112
3 a20050113
4 a20050114
5 a20050115
表B记录如下:
bID bName
1 2006032401
2 2006032402
3 2006032403
4 2006032404
8 2006032408
实验如下:
1.left join
sql语句如下:
select * from A
left join B
on A.aID = B.bID
结果如下:
aID aNum bID bName
1 a20050111 1 2006032401
2 a20050112 2 2006032402
3 a20050113 3 2006032403
4 a20050114 4 2006032404
5 a20050115 NULL NULL
(所影响的行数为 5 行)
结果说明:
left join是以A表的记录为基础的,A可以看成左表,B可以看成右表,left join是以左表为准的.
换句话说,左表(A)的记录将会全部表示出来,而右表(B)只会显示符合搜索条件的记录(例子中为: A.aID = B.bID).
B表记录不足的地方均为NULL.
2.right join
sql语句如下:
select * from A
right join B
on A.aID = B.bID
结果如下:
aID aNum bID bName
1 a20050111 1 2006032401
2 a20050112 2 2006032402
3 a20050113 3 2006032403
4 a20050114 4 2006032404
NULL NULL 8 2006032408
(所影响的行数为 5 行)
结果说明:
仔细观察一下,就会发现,和left join的结果刚好相反,这次是以右表(B)为基础的,A表不足的地方用NULL填充.
3.inner join
sql语句如下:
select * from A
innerjoin B
on A.aID = B.bID
结果如下:
aID aNum bID bName
1 a20050111 1 2006032401
2 a20050112 2 2006032402
3 a20050113 3 2006032403
4 a20050114 4 2006032404
结果说明:
很明显,这里只显示出了 A.aID = B.bID的记录.这说明inner join并不以谁为基础,它只显示符合条件的记录. 还有就是inner join 可以结合where语句来使用 如: select * from A innerjoin B on A.aID = B.bID where b.bname='2006032401' 这样的话 就只会放回一条数据了
- select 连接
- select 实现超时连接
- SELECT语句中的自连接
- linux select检测连接断开
- SELECT语句中的表连接
- linux select 并发连接上不去
- select实现connect超时连接
- select服务器---I/O多路连接之select
- SELECT语句的表连接(join)
- oracle select 查询时字符连接符
- sql2000学习笔记之select连接查询
- Oracle_4 sql标准 连接 select小结
- 用select检测对方断开tcp连接
- 使用select处理长连接的问题
- select方法设置socket 连接超时
- SQL连接查询 join sql select
- select连接TCPIP数据收发测试
- select判断连接超时-来着gsoap
- POJ 3083 Children of the Candy Corn(DFS+BFS)
- 单词2016.8.15
- HDU-5839 Special Tetrahedron(纯暴力)
- mysql+powerdesigner
- 学习一下linux中的进程,文件查找,文件压缩与IO重定向
- select 连接
- service中创建浮窗
- 浅谈2016关于用户体验网站优化中的重要性!
- kafka集群环境搭建
- 字符串匹配之KMP、BoyerMoore、Sunday算法
- 浅谈Java多线程(volatile实现可见性)
- android的窗口机制分析------UI管理系统
- pom文件夹入自己的jar包
- PreferenceFragment PreferenceScreen