SQL各种连接
来源:互联网 发布:诺思隐形眼镜知乎 编辑:程序博客网 时间:2024/05/22 07:46
1.内连接 inner join
内连接使用比较运算符根据每个表共有的列的值匹配两个表中的行。
2.外连接
外连接可以是左向外连接、右向外连接或完整外部连接。
在FROM子句中指定外连接时,可以由下列几组关键字中的一组指定:
LEFT JOIN 或 LEFT OUTER JOIN。
左向外连接的结果集包括LEFT OUTER子句中指定的左表的所有行,而不仅仅是连接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。
RIGHT JOIN 或 RIGHT OUTER JOIN。
右向外连接是左向外连接的反向连接。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值。
FULL JOIN 或 FULL OUTER JOIN。
完整外部连接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。
3.交叉连接 cross join
交叉连接返回左表中的所有行,左表中的每一行与右表中的所有行组合。交叉连接也称作笛卡尔积。
例子:
a表 id name b表 id job parent_id
1 张3 1 23 1
2 李四 2 34 2
3 王武 3 34 4
a.id同parent_id 存在
内连接
select a.*,b.* from a inner join b on a.id=b.parent_id
结果是
1 张3 1 23 1
2 李四 2 34 2
左连接
select a.*,b.* from a left join b on a.id=b.parent_id
结果是
1 张3 1 23 1
2 李四 2 34 2
3 王武 null
右连接
select a.*,b.* from a right join b on a.id=b.parent_id
结果是
1 张3 1 23 1
2 李四 2 34 2
null 3 34 4
完全连接
select a.*,b.* from a full join b on a.id=b.parent_id
结果是
1 张3 1 23 1
2 李四 2 34 2
null 3 34 4
3 王武 null
- SQL各种连接学习
- SQL各种连接学习
- sql中的各种连接
- sql各种表连接
- SQL各种连接查询
- sql各种表连接
- SQL各种连接
- sql中的各种连接
- SQL各种连接详解
- 图解各种SQL连接
- SQL各种连接
- sql各种连接总结
- SQL各种连接查询详解
- 解析各种SQL连接字符串
- sql的各种连接查询
- SQL各种连接查询详解
- SQL各种连接查询详解
- SQL各种连接查询详解
- 堆 续5
- kotlin 泛型学习笔记
- “程序员”和“码农”究竟有什么区别?
- 纪念下 恶心的oracle试图排序
- 首届阿里巴巴研发效能嘉年华
- SQL各种连接
- 美国国父乔治华盛顿首任就职演说
- Oracle Golden Gate 配置
- 胶水语言Python技术百问_从新手到进阶
- 2017省市区最新编码(依据国家统计局最新数据)
- Spring MVC接口解决GET请求时中文乱码的问题
- java语句实现数据库的增删查改(面向对象方式,以student为例)
- FTCon2017|通联数据首席科学家蒋龙:如何用人工智能发现投资机会?
- 区间问题,前缀和(Olympiad,HDU 5327)