sql 关于两个表的联合查询

shijing19850510 2009-07-01 06:11:33
有两张表a和b。a中有字段学号(id),姓名(name)。b中有字段学号(id),成绩(score)。
我想将这两张表联合起来。用select a.id a.name b.score from a,b where a.id=b.id
但是假如我此时a中有数据如下
id name
1 a
2 b
而b中的数据如下:
id score
1 100
表中并没有学号为2的信息。如果我通过上面的语句讲这两张表联立起来,表中将没有2的信息。如果我想让新表中有2的信息,将score置空就行,应该怎么写呢?
麻烦了~谢谢!
...全文
51 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
小灰狼W 2009-07-03
  • 打赏
  • 举报
回复
3楼的写错了..
select id,name,score from a left outer join b using(id)
小灰狼W 2009-07-03
  • 打赏
  • 举报
回复
用外连接就可以
2、3楼的都对,但3楼的更符合新的标准
gzzwind 2009-07-03
  • 打赏
  • 举报
回复
使用左外连接:
... LEFT OUTER JOIN ... ON ...


对如本题问即为:
SELECT a.id,name,score
FROM a LEFT OUTER JOIN b ON a.id=b.id
淅沥加油 2009-07-03
  • 打赏
  • 举报
回复
2楼正确
shijing19850510 2009-07-03
  • 打赏
  • 举报
回复
谢谢大家了~~呵呵
hujiding 2009-07-02
  • 打赏
  • 举报
回复
a表和b表id如果是一致的话,二楼是对滴~如果是不一致的话可以用union来连接
lee24 2009-07-02
  • 打赏
  • 举报
回复
2楼的是对的
duqiangcise 2009-07-02
  • 打赏
  • 举报
回复
select a.id ,a.name,b.score
from a left join
b on
a.id=b.id;
duqiangcise 2009-07-02
  • 打赏
  • 举报
回复
select a.id ,a.name,b.score
from a left join
b on
a.id=b.id;
inthirties 2009-07-01
  • 打赏
  • 举报
回复
select a.id a.name b.score from a,b where a.id=b.id(+)

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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