SELECT a.ID, a.DelTag, a.Type, a.SendTime, a.ReadTime,b.Name FROM
a LEFT OUTER JOIN b ON a.ID = b.ID AND a.Type = '1'
a表
id type
1 1
2 1
3 2
b表
id name
1 张三
2 李四
3 王五
只想在视图中显示type=1的信息,在不加wherer有前提下怎么实现?
问题:a.type='1'这个条件无效,过滤不出a表type=1的值
a LEFT OUTER JOIN b ON a.ID = b.ID AND a.Type = '1'
a表
id type
1 1
2 1
3 2
b表
id name
1 张三
2 李四
3 王五
只想在视图中显示type=1的信息,在不加wherer有前提下怎么实现?
问题:a.type='1'这个条件无效,过滤不出a表type=1的值
a LEFT OUTER JOIN b ON a.ID = b.ID
where a.Type = '1'
注意连接方式!
a LEFT OUTER JOIN b ON a.ID = b.ID where a.Type = '1'
where a.Type = '1'
a LEFT OUTER JOIN b ON a.ID = b.ID
where a.Type = '1'left join 后面表示连接条件 ; where后面是查询条件!我是这么理解的!
on 是第2步
left outer是第三步 on帅选后还是要添加外部行的
where 筛选器是在添加外部行后再过滤的
left join 会把on 筛选去掉的外部行再添回来,where过滤最终结果
left join就不可以了 还是加where吧
感觉这两张表没必要用left join吧