sql之join用法完全版
来源:互联网 发布:总舵主软件 编辑:程序博客网 时间:2024/06/03 18:40
cross join
inner join
left outer join
right outer join
full outer join
首先都是基于cross join(笛卡尔乘积),然后是inner join,在笛卡尔乘积的结果集中去掉不符合连接条件的行。
left outer join 是在inner join的结果集上加上左表中没被选上的行,行的右表部分每个字段都用NUll填充。
right outer join 是在inner join的结果集上加上右表中没被选上的行,行的左表部分全用NULL填充。
SQL 之JOIN 用法完全版
一、各种JOIN的含义
SQL中大概有这么几种JOIN:
cross join
inner join
left outer join
right outer join
full outer join
首先都是基于cross join(笛卡尔乘积),然后是inner join,在笛卡尔乘积的结果集中去掉不符合连接条件的行。
left outer join 是在inner join的结果集上加上左表中没被选上的行,行的右表部分每个字段都用NUll填充。
right outer join 是在inner join的结果集上加上右表中没被选上的行,行的左表部分全用NULL填充。
outer的意思就是"没有关联上的行"。
二、旧式写法和标准写法:
1、INNER Join code as the following:
Select * from A a, B b where a.categoryID = b.categoryID;
Equals:
Select * from A a inner join B b on a.categoryID = b.categoryID;
2、OUTER Join code as the following
select * from A a full(left/right) outer join B b on a on a.categoryID = b.categoryID;
Equals::
Select * from A a, B b where a.categoryID *= b.categoryID;
Select * from A a, B b where a.categoryID =* b.categoryID;
三、例子
Table A have 12( 8+4) entries, 8 entries have valid relation with B
Table B have 80(77+3) entries , 77 entries have valid relation with A.
then the return amount of join is :
cross join : 12*80
inner join : 77
full outer join : 77+4+3
left outer join: 77 + 4
right outrer join: 77 + 3
- sql之join用法完全版
- SQL--JOIN之完全用法
- SQL--JOIN之完全用法
- SQL--JOIN之完全用法
- SQL--JOIN之完全用法
- SQL--JOIN之完全用法
- SQL:JOIN之完全用法
- SQL--JOIN之完全用法
- SQL--JOIN之完全用法
- SQL:JOIN之完全用法
- SQL--JOIN之完全用法
- SQL--JOIN之完全用法
- SQL JOIN之完全用法
- SQL---JOIN之完全用法---
- SQL--JOIN之完全用法
- SQL--JOIN之完全用法
- SQL:JOIN之完全用法
- SQL--JOIN之完全用法
- HDU 5339 Untitled (DFS)
- 电信泄露客户信息,导致客户被骗损失钱财
- 在Activity获取屏幕的宽高
- nginx limit_req限速设置
- 关于iOS多线程,你看我就够了(已更新)
- sql之join用法完全版
- p3143 二叉树的序遍历
- FZU 1752 Quickmod Quickmulti
- 背景图像位置 background-position
- 点我游戏~起点
- Atom飞行手册翻译: 2.14 小结
- 一道IOS面试题
- 分治算法--二分搜索
- hbase单机版初步了解