Mysql基本用法-left join、right join、 inner join、子查询和join-02
left join #左连接又叫外连接
left
join
返回左表中所有记录和右表中连接字段相等的记录
- test_user表
- phpcvs表
SQL: select * from test_user left join phpcvs on test_user.id=phpcvs.id
执行结果如下图:
right join #右连接又叫外连接
right
join
返回右表中所有记录和左表中连接字段相等的记录
SQL: select * from test_user right join phpcvs on test_user.id=phpcvs.id
执行结果如下图:
(* 这里执行结果只有一条数据是因为right join的时候phpcvs表里只有一条数据。)
inner join #等值连接又叫内链接
inner
join
只返回两个表中连接字段相等的行
SQL: select * from test_user inner join phpcvs on test_user.id=phpcvs.id
执行结果如下图:
(* 这里返回两个表中字段相等的值,所以只会有一条数据)
子查询 和 JOIN
- 子查询
SQL: select * from test_user where id not in (select id from phpcvs)
- JOIN
SQL: select test_user.* from test_user left join phpcvs on test_user.id=phpcvs.id where phpcvs.id is null
* 子查询 和 JOIN 在数据量少的情况下感觉两种情况的执行时间都差不多。有时候子查询还会比用JOIN要快。
* 连接(JOIN).. 更有效率一些,是因为 MySQL不需要在内存中创建临时表来完成这个逻辑上的需要两个步骤的查询工作。
最新文章
- 大朋展翅 html5上传图片(三)一解决部分手机拍相册批量上传图片转向问题
- webControls与客户端脚本路径
- IP验证正则表达式
- iOS 懒加载不起作用的原因
- python 跳出嵌套循环方法
- android selector
- Enterprise Library深入解析与灵活应用(2): 通过SqlDependency实现Cache和Database的同步
- 关于 unity5.3.1 录制 animation 带有 rotation 信息打包 Android 会运动错乱的问题
- django之JavaScript的简单学习2
- python中类的继承
- hibernate 缓存 4.3
- LeetCode--Best Time to Buy and Sell Stock (贪心策略 or 动态规划)
- 基于Spring + Spring MVC + Mybatis 高性能web构建
- redis cluster中添加删除重分配节点例子
- 开篇 Android系统的体系结构
- C#图解教程 第七章 类和继承
- 第44章 添加新协议 - Identity Server 4 中文文档(v1.0.0)
- package-lock.json和package.json的作用
- ubuntu——caffe配置deeplab
- Django中需要注意的点