请教一个查询语句问题.

mmcanyu 2009-06-16 03:25:02
表1: 学校代号,学校名称.

表2: 班级代号,班级名称.

表3: 学号,班级名称,学校名称.

表4: 学号,学生姓名.

表1的学号有可能不出现在表2里, 也就是说有的学生没有姓名^-^.

我要一条语句返回所有信息.

Select 表3.学号,表4.姓名,表2.班级名称,表1.学校名称
From 表1,表2,表3,表4
........................

后面就不知道怎么写了.
问题就是表3的学号不一定会出现在表4,
原表不是这样,但是问题是一样.
...全文
69 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
mmcanyu 2009-06-16
  • 打赏
  • 举报
回复
谢谢各位,OK了
sdhdy 2009-06-16
  • 打赏
  • 举报
回复
各种连接的用法,楼主可以参考一下这个:
http://blog.csdn.net/sdhdy/archive/2009/06/06/4248355.aspx
武哥博文 2009-06-16
  • 打赏
  • 举报
回复
同意楼上,采用左连接。
sdhdy 2009-06-16
  • 打赏
  • 举报
回复
--用left join 
Select 表3.学号,表4.姓名,表2.班级名称,表1.学校名称
From 表3
left join 表1 on 表3.学校名称=表1.学校名称
left join 表2 on 表3.班级名称=表2.班级名称
left join 表4 on 表3.学号=表4.学号
--小F-- 2009-06-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 libin_ftsafe 的回复:]
SQL codeSelect
a.学号,b.姓名,c.班级名称,d.学校名称
From
表3 a
left join 表4 b on a.学号=b.学号
left join 表2 c on a.班级代号=c.班级代号
left join 表1 d on a.学校代号=d.学校代号
[/Quote]

佩服钻钻
子陌红尘 2009-06-16
  • 打赏
  • 举报
回复
Select 
a.学号,b.姓名,c.班级名称,d.学校名称
From
表3 a
left join 表4 b on a.学号=b.学号
left join 表2 c on a.班级代号=c.班级代号
left join 表1 d on a.学校代号=d.学校代号

34,590

社区成员

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

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