【数据库】right join的一个误区
来源:互联网 发布:淘宝我的空间 编辑:程序博客网 时间:2024/06/06 07:15
我现在想查询B表中的所有type为1的数据,A表中查出一些字段加入到B结果中。
比较下下面两句SQL
1.select * from A right join B on B.type=1 where A.id=B.aid;
2.select * from B left join A on A.id=B.aid where B.type=1 ;
我原先是按第一句写的,结果出来时,我感到很奇怪。为什么right join,不能把右边表里type为1的数据全部获取出来。
第一句,先执行on部分,查出了所有B的数据,然后和A进行右连接,最后根据条件A.id=B.aid,筛选数据,这样如果不满足A.id=B.aid的数据,将会从结果中去除,包括B的数据!
第二句,先执行on部分,查出A中所有满足A.id=B.aid的数据,再进行左连接,最后根据type=1做筛选。
可见,第二句sql才是正确的方法。
0 0
- 【数据库】right join的一个误区
- mysql数据库join、left join与right join 的区别
- MySQL中关于join的一个误区
- 数据库中left join 和right join的区别
- 数据库:left join,right join,inner join
- 数据库Left join, Right join,Inner join
- 关于left join 查询的一个小误区
- 数据库表的连接(Left join , Right Join, Inner Join)用法详解
- 数据库表的连接(Left join , Right Join, Inner Join)用法详解
- 数据库表的连接(Left join , Right Join, Inner Join)用法详解
- SQL Server数据库之left join 、right join 和 inner join 的区别
- 数据库表的连接用法详解(Left join , Right Join, Inner Join)
- 数据库相关,left join right join inner join 的用法及区别
- [数据库]sql之left join、right join、inner join的区别
- 数据库表的连接(Left join , Right Join, Inner Join)用法详解
- 每日一记-数据库的Inner Join、Left Join、Right Join
- 数据库 inner join,right join,left join ,以及其后的and ,where 条件
- 数据库脚本left join ,right join 等。。。
- CodeForces 233B Non-square Equation (数学)
- Axis标准验证+xml参数解析
- 453. Minimum Moves to Equal Array Elements
- mysql 常用命令
- Handler和属性动画实现TextView广告轮播效果
- 【数据库】right join的一个误区
- 打算写写东西
- Eclipse开发基于maven的android项目时报错
- iOS安全性测试框架---Needle环境搭建
- Qt 调用gio.h
- 关于nginx笔记
- 405. Convert a Number to Hexadecimal
- bootstrap table
- RabbitMQ基础概念详细介绍