left outer join 问题

bedsb 2006-01-05 04:33:57
a
---
id 11
1 eee
2 www
3 ddd
4 eee

b
----
id aa bb
1 tt 5
2 rr 3
5 hh 1

select a.id,a.11,b.aa,b.bb from a left outer join b
on a.id=b.id
where a.11 ='eee'
and b.bb > 2
可以这样写吗,结果是什么?

1 eee tt 5
4 eee null null这样吗.
想这个left out b 这个b表中的限制条件能写在WHERE 中吗?这个我不是很明白,A的条件的?
...全文
74 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
bedsb 2006-01-05
  • 打赏
  • 举报
回复
为什么b.bb > 2写在WHERE中就只有一条记录了?想不通
zhaoanle 2006-01-05
  • 打赏
  • 举报
回复
结果应该是 1 eee tt 5
不能写在where 中
zlp321002 2006-01-05
  • 打赏
  • 举报
回复
left outer join=left join
连接条件加 "on"
-狙击手- 2006-01-05
  • 打赏
  • 举报
回复
select a.id,a.11,b.aa,b.bb from a left outer join b
on a.id=b.id
where a.11 ='eee'
and b.bb > 2
可以这样写吗,结果是什么?

1 eee tt 5
4 eee null null这样吗.
================================
不是

1 eee tt 5
要想得到你要的结果得这样
select a.id,a.11,b.aa,b.bb from a left outer join b
on a.id=b.id and b.bb > 2
where a.11 ='eee'
lw1a2 2006-01-05
  • 打赏
  • 举报
回复
你不明白左联结的概念?
子陌红尘 2006-01-05
  • 打赏
  • 举报
回复
declare @a table(id int,[11] varchar(20))
insert into @a select 1,'eee'
insert into @a select 2,'www'
insert into @a select 3,'ddd'
insert into @a select 4,'eee'

declare @b table(id int,aa varchar(20),bb int)
insert into @b select 1,'tt',5
insert into @b select 2,'rr',3
insert into @b select 5,'hh',1

select
a.id,a.[11],b.aa,b.bb
from
@a a
left outer join
@b b
on
a.id=b.id and b.bb > 2
where
a.[11] ='eee'

/*
id 11 aa bb
----------- -------------------- -------------------- -----------
1 eee tt 5
4 eee NULL NULL
*/

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧