SQL外连接中如何使用AND条件?
在类似SELECT XX FROM XX JOIN XX ON XX = XX AND XXXXX
这样的语句中,AND条件是怎么使用的呢?
例如,执行下面这条SQL语句时
sql
SELECT s.s_no,c.course_no,score FROM student s LEFT JOIN choice c ON s.s_no = c.s_no;
结果如下:
在后面加上AND条件后
sql
SELECT s.s_no,c.course_no,score FROM student s LEFT JOIN choice c ON s.s_no = c.s_no AND score != 88;
结果变成了:
原本的第7行被过滤掉可以理解,为什么原本的第9行结果也被过滤了呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
当你写score != 88; 就暗含了score不为空的条件
如果你希望原第9行显示,你要写成isnull(score,0)!=88
请在SQL后面加一个order by,人为指定其排序规则,防止由于结果的排序问题导致第一张表第9行记录出现在很后面