Join有关的几种连接查询
来源:互联网 发布:超越无限 知乎 编辑:程序博客网 时间:2024/05/21 15:04
JOIN 连接查询是SQL基础中串表查询最重要的组成部分之一,也是SQL初学者入门的一个转折点。内容很基础,但很重要!
我们常用如下几种链接方式:
1.INNER JOIN (内连接)
取的是两表之间的交集,如果把两个表的集合看成是两个圆,结果集如下图所示:
举例说明一下:
存在如下两张表
最终结果集取的是两张表共有的id的。
2.LEFT JOIN (左连接)
以左边的表为主,结果集取的是左表的全部以及右表中能在左表中关联到的部分,结果集如下:
举例说明一下:
结果集以左表为主,左表的全部内容都可以被列出,而右边只有能和左表关联上的部分才能被列出,关联不上的以null来代替
3.RIGHT JOIN (右连接)
如left join 相反,如下图:
举例说明一下:
左表关联不上的部分标记为null,和left join 相反
4.FULL JOIN (全连接)
结果集是左右表的全部内容,如下图:
举例说明一下:
左右表的全部内容都被展示出来
5.CROSS JOIN (交叉连接,很少用)
前四种链接方式都需要 接 ON 进行bool值的判断,最后一种连接方式不需要进行bool值的判断,结果集行数就是关联的两张表的行数的乘积。
举例说明一下:
结果集一共是9行,交叉连接不需要卡关联条件,直接“胡乱链接”,左表的每一行和右表的每一行做关联,不过我们可以自己加个where 条件:
这个结果集不就和inner join 的结果集一模一样的了嘛!
而且这两者的内部算法以及开销都是一模一样的:
阅读全文
1 0
- Join有关的几种连接查询
- SQL JOIN 连接的几种方式
- MYSQL 的几种join连接方式
- MySQL的几种连接 join/inner join/cross join/逗号/left join/right join/natural join
- MySQL的几种连接 join/inner join/cross join/逗号/left join/right join/natural join
- Mysql的join(连接查询)
- 有关连接的查询语句
- 数据库的几种连接查询
- 【转载】数据库的几种连接查询
- Sql连接查询的几种方式
- 数据库的几种连接查询
- SQL的几种连接查询
- 数据库的几种连接查询
- 连接查询的几种写法
- sql的 left join连接查询
- 有关位图连接索引(bitmap join index)的一些测试
- join 连接查询
- Join 连接查询
- MongoDB 与 MySQL操作数据库对比
- 2017半年总结
- GIT的简易搭建(Window下)
- Object 用法
- es6环境中,export与import使用方法
- Join有关的几种连接查询
- HDU
- form表单
- 去除input为date的小三角方法 -webkit-appearance: none;
- Vessels
- 线程进行定时操作
- iOS音频——AudioToolbox
- iOS:一句代码实现文本输入的限制
- Hadoop2.8.0 单机搭建和eclipse开发应用配置 新手笔记