有意思的 left join 语句
来源:互联网 发布:数据库的建立过程 编辑:程序博客网 时间:2024/05/25 19:56
问题的初衷是,在一个SQL语句中,有left join, 我加条件在where后面发生死锁,于是想是否可以把条件加入到left join的on后面?
也就是下面两个语句是否效果一样:
语句1: select t1.*,t2.* from t1 left join t2 on t1.id=t2.id and t1.feild=1
语句2: select t1.*,t2.* from t1 left join t2 on t1.id=t2.id where t1.feild=1
数据环境:
create table t1(id int, feild int);
insert into t1 values(1 , 1);insert into t1 values(1 , 2);
insert into t1 values(1 , 3);
insert into t1 values(1 , 4);
insert into t1 values(2 , 1);
insert into t1 values(2 , 2);
create table t2(id int, feild int);
insert into t2 values(1 , 1);
insert into t2 values(1 , 2);
insert into t2 values(1 , 5);
insert into t2 values(1 , 6);
insert into t2 values(2 , 1);
insert into t2 values(2 , 3);
经过验证发现: 语句1可以这样来理解,把left join 的on后面的所有条件看成一个整体,这里就是t1.id=t2.id and t1.feild=1看成一个整体,坐连接的时候,串t2表,看是否有满足条件的记录,如果没有就串null值。
语句2的理解简单了,现在left join,在最后结果集中做where过滤
- 有意思的 left join 语句
- SQL语句的 left join、right join、inner join区别
- left outer join 的where语句写法
- sql 语句left join
- SQL语句LEFT JOIN
- sql语句中inner join,left join,right join,full join,cross join之间的区别
- sql语句中left join、 inner join的使用
- SQL语句inner join 与left join的区别
- SQL语句inner join 与left join的区别
- Sql语句中的inner join ,left outer join ,right outer join ,full join 的理解
- SQL语句中inner join、left join、right join、full join的区别
- [转载]SQL语句中LEFT JOIN ON WHERE和LEFT JOIN ON AND的区别
- mysql :left join语句优化
- 关于sql语句的inner join,left join ,right join的区别
- Hibernate中HQL语句的left join的例子详解
- Hibernate中SQL语句的left join的例子详解
- SQL语句left join/right join/inner join 的用法比较
- SQL语句left join/right join/inner join 的用法比较
- delete对象后到底要不要将对象置为NULL
- Linux 系列(一) - 基本命令
- 重庆领先的四大行业资讯门户
- python request键值判断
- 图片旋转之二-transition动画
- 有意思的 left join 语句
- Android TextView中 字体加粗方法
- “试图执行的操作不受支持”解决
- Portal-Basic Java Web 应用开发框架 v2.6.2 发布(源码、示例及文档)
- Linux 系列(二) - 文本处理
- 智能移动设备,掌控万千精彩
- SPOJ GSS 5. Can you answer these queries V
- C语言与C++的联系之————————c_str()
- VIEWSTATE和EVENTVALIDATION