关于外连接的条件陷阱
来源:互联网 发布:伙伴云表格mac版下载 编辑:程序博客网 时间:2024/06/05 11:33
sutdent:
姓名 | 班级 |
张三 | 一班 |
李四 | 二班 |
score:
姓名 | 科目 | 分数 |
张三 | 语文 | 80 |
张三 | 数学 | 90 |
李四 | 数学 | 100 |
如下语句:
select a.[姓名]
,a.[班级]
,b.[科目]
,b.[分数]
from student a
left outer join score b on a.[姓名] = b.[姓名]
where (b.[科目] = 语文or b.[科目] is null) -----此处使用的Where
结果将为:
姓名 | 班级 | 科目 | 分数 |
张三 | 一班 | 语文 | 80 |
而其实我们结果是想要为:
姓名 | 班级 | 科目 | 分数 |
张三 | 一班 | 语文 | 80 |
李四 | 二班 | NULL | NULL |
以下语句可以得到上面的结果:
select a.[姓名]
,a.[班级]
,b.[科目]
,b.[分数]
from student a
left outer join score b on a.[姓名] = b.[姓名] and b.[科目] =语文 ---此处使用的是and
我们可以看到外连接,还是必须要小心使用的,否则结果会出乎意料。
关于Where 和And 查询效率问题参考http://blog.csdn.net/zhvsby/archive/2008/11/26/3382243.aspx
- 关于外连接的条件陷阱
- 连接oracle的陷阱
- SQL陷阱之leftjoin的where条件
- SQL:外连接on条件与where条件的区别
- SQL:外连接on条件与where条件的区别
- 关于left join 的连接条件和过滤条件的关系
- 关于SQL语句外连接中的过滤条件
- 外连接 ON 条件的三个作用
- Oracle外连接与条件的组合
- 陷阱!关于AcDbPolyline的getPointAt
- 关于多重继承的陷阱
- 关于触发器创建的陷阱
- 关于IT培训的陷阱
- 关于List的remove陷阱
- 外连接 ON 条件的三个作用 SQL中on条件与where条件的区别
- 外连接 ON 条件的三个作用 SQL中on条件与where条件的区别
- 外连接 ON 条件的三个作用 SQL中on条件与where条件的区别
- 《Drools7.0.0.Final规则引擎教程》番外实例篇——默认条件的陷阱
- SQL 行转列
- 一个大学教授发人深省的演讲--国人值得一看
- windows与linux socket程序的不同
- c# 如何重写控件的OnPaint事件
- 北大2304题
- 关于外连接的条件陷阱
- IE和火狐的若干个差异
- Delphi自动获取软件版本信息的类
- DllImport(C#)
- 使用GPIO模拟IIC的遇到的N个问题
- C#中的常用正则表达式总结
- 北大2328题
- Delphi 操作SQL server相关问题大全
- 破解XP登录密码,用U盘绕过登录密码进入Windows XP系统