请教一个SELECT语句的写法

holy_phoenix 2004-09-07 06:10:30
请教一个SELECT语句的写法:

有A、B两个表,其中A中有字段type, code,B中有字段code, name。现在要对这两个表进行检索,结果集的记录中包括:type code name。
请问SQL语句怎么写?

先谢!
...全文
241 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
abcde52511 2004-09-12
  • 打赏
  • 举报
回复
union自动会删除重复记录的,所以不需要用distinct,除非你用union all
zhhg 2004-09-11
  • 打赏
  • 举报
回复
用union 啊
很简单的。
yujiabian 2004-09-11
  • 打赏
  • 举报
回复
select distinct a.type,a.code,b.name from a,b where a.code=b.code
如果你得表中可能又重复数据,加上distinct
beckhambobo 2004-09-11
  • 打赏
  • 举报
回复
select DISTINCT type,code,name
from
(
select a.type,a.code,b.name from a,b where a.code=b.code(+)
union
select a.type,a.code,b.name from a,b where a.code(+)=b.code
)
ligenlee 2004-09-10
  • 打赏
  • 举报
回复
inner join
or
full outer join
yangbright 2004-09-10
  • 打赏
  • 举报
回复
有個問題要說清楚,是不是a/b的全部數據都要?還是要A/B都有的數據?還是要A或B表中所有的?
bzszp 2004-09-10
  • 打赏
  • 举报
回复
(+)表示外连接
9i,sql server中的left outer join /right outer join;
holy_phoenix 2004-09-10
  • 打赏
  • 举报
回复
是的,A.code和B.code是一个东西,应该需要关联。

dinya2003(OK)和zhpsam109(孤寂无边)的解法有什么不同?
例如b.code(+)中的(+)表示什么意思?
Paradise_heida 2004-09-10
  • 打赏
  • 举报
回复
是也……
holy_phoenix 2004-09-10
  • 打赏
  • 举报
回复
两个表中的数据都要出来。
我试了一下,是不是要加DISTINCT?否则会出现重复数据?
shbjwq430105 2004-09-10
  • 打赏
  • 举报
回复
楼主没有说清楚
连接有两种
内部连接、外部连接
外部有分为:左连接与右连接
看你需要显示那种连接、需要显示那些信息
xxc1981 2004-09-08
  • 打赏
  • 举报
回复
没有说清楚表的关系啊.
我觉得楼主应当先把表直接的关系搞清楚.
表设计的好是最重要的.
zhpsam109 2004-09-07
  • 打赏
  • 举报
回复
同上!

select a.type,a.code,b.name from a,b where a.code=b.code(+)
union
select a.type,a.code,b.name from a,b where a.code(+)=b.code

dinya2003 2004-09-07
  • 打赏
  • 举报
回复
你的需求说的不是很明确,两个字段的code是关联吗?要显示全部记录吗?

select a.type,a.code,b.name from a,b where a.code=b.code

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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