inner join on,left join on,right join on简单解析
来源:互联网 发布:反智 知乎 编辑:程序博客网 时间:2024/06/07 02:07
表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 on,left join on,right join on简单解析
- inner join on, left join on, right join on讲解
- inner join on, left join on, right join on
- inner join on, left join on, right join on讲解
- inner join on, left join on, right join on讲解
- inner join on, left join on, right join on
- inner join on, left join on, right join on讲解
- SQL--inner join on, left join on, right join on
- inner join on, left join on, right join on讲解
- inner join on, left join on, right join on对比
- inner join on, left join on, right join on
- inner join on, left join on, right join on讲解
- inner join on, left join on, right join on
- inner join on, left join on, right join on
- inner join on, left join on, right join on
- inner join on, left join on, right join on
- inner join on , left join on , right join on
- inner join on, left join on, right join on
- ftp 不是内部或外部命令,也不是可运行的程序
- 批量删除表
- 梦一回那曾经心爱的女孩 (转)
- C语言版GDI+应用例子 -- 文字
- 一套ADO.net试题(附答案)
- inner join on,left join on,right join on简单解析
- set_name__method (也谈命名)
- pom.xml之(四)
- 面向对象的基本概念
- 从C++到JAVA(1) 在CSDN博客中部署及运行JAVA Applet
- “printf”与“sprintf”的使用方法区别
- 好奇!
- Google Code Jam 2009 资格赛题目B 分析
- asp.net对图片的读写