select * from a left join b on a.id=b.uid where a.id>2
和
select * from a left join b on a.id=b.uid and a.id>2
有什么区别?
求大神指点
和
select * from a left join b on a.id=b.uid and a.id>2
有什么区别?
求大神指点
解决方案 »
- 如何统计mysql中某列信息
- 为什么用optimize优化表却提示 Table does not support optimize, doing recreate + ...
- postgresql游标是否可以暂存,以便以后取用?
- 关于MySql的中文乱码问题
- MYSQL提示说:incorrect integer value,我大致查了一下,说是因为MYSQL5的BUG,高手能详细说下吗?谢谢~~
- 从不同的表读取数据的存储过程如何写
- null问题
- 我想要mysql 4.0 manual即官方网站在线那份
- MYSQL:求记录总数
- mysql 异常处理求解决
- mysql 服务无法启动
- MySQL数据库 - 掉电后数据库服务启动不起来
和
select * from a left join b on a.id=b.uid and a.id>2
有什么区别?
有区别的,写在where后面会少很多记录的。
--记录数
第1显示a表id>2的记录
第2显示a表所有记录
select * from a left join b on a.id=b.uid and a.id>2这两句a左连接b时是没有区别的,反过来则有很大区别了。——远离 深圳市前海博纳斯科技有限公司 这家毫无信用欺诈工资的垃圾公司!
-- a.id>2 作用在a表中的数据,只会显示满足条件的记录select * from a left join b on a.id=b.uid and a.id>2
-- a.id>2 作用是b表中的数据,查询出来的还是a的全部数据因为是left,只不过b表中不满足的数据没有了
A left join B on C where D
执行步骤
1. 计算AB的笛卡尔积
2. 筛选出符合C的
3. 给B补NULL
4. 筛选出符合D的