作业帮 > 综合 > 作业

left join条件写on 还是写where

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/22 05:50:56
left join条件写on 还是写where
表1为 id1,name1,age1
表2为 id2,name2,sex2
现在我要筛选出满足,name1 = name2 并且 sex2='女' 的 id1,name1,sex2,这样要怎么写啊
是:select a.id1,a.name1,b.name2 from 表1 a left join 表2 b on a.name1=b.name2 AND b.sex2='女' 呢
还是 select a.id1,a.name1,b.name2 from 表1 a left join 表2 b on a.name1=b.name2 where b.sex2 = '女' 呢
大家看下两个SQL啊,问题关键就在 条件是写到ON 还是 写到WHERE啊?另外,还有一点就是 我上面 的一个条件,b.sex2='女' 但我前面并没有把sex2给select出来,
Sql code:
select id1,name1,sex2
from 表2
left join 表1 on 表1.name1=表2.name2
where 表2.sex2='女'
--主表 表2 全部显示
副表 表1 满足条件则显示
外连接用法 请参考资料
问题回答:你这样的查询要求,sex2不用select出来,除非用到CASE WHEN,一表做多次查询!