| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 702 人关注过本帖
标题:关于查询的
只看楼主 加入收藏
静思
Rank: 3Rank: 3
来 自:沈阳
等 级:新手上路
威 望:8
帖 子:630
专家分:0
注 册:2006-2-28
收藏
 问题点数:0 回复次数:6 
关于查询的

create table student--创建学生表
(Sno char(8) primary key,
Sname char(20) unique,
Sage int
constraint check_age check (sage between 14 and 35),--建立约束
Sdept char(6));

create table course--创建课程表
(Cno char(5) primary key,
Cname char (10),
Ctime int ,
Ccredit char(2),
Cpno char(5)
foreign key (Cpno) references course (Cno));--参照完整性

create table sc--创建选课表
(Sno char(8),
Cno char(5),
Grade int,
primary key (Sno,Cno),
foreign key (Sno) references student (Sno),
foreign key (Cno) references course(Cno));

以上是我创建的三个表,有关表中内容详见附件。
我想查询一下计算机专业学生的选课信息,但有些计算机系的学生由于没有选课,所以在选课表中没有记录。
例如我想查询计算机系每个学生的姓名,选修的课程名和成绩(没有选课的也要列出)
如果使用下列查询语句只能列出选课的学生信息:
select sname '姓名',cname'课程名',grade'成绩'
from student stu,course co,sc
where sdept='计算机'and stu.sno=sc.sno and co.cno=sc.cno


有哪位高手知道怎么写查询语句才能列出计算机系每个学生的姓名,选修的课程名和成绩(没有选课的也要列出)
请指教,不胜感激!~!◎!~!


6O2YUlAJ.rar (18.15 KB) 关于查询的


[此贴子已经被作者于2007-5-23 9:52:16编辑过]

搜索更多相关主题的帖子: 查询 
2007-05-23 09:44
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 
full join

飘过~~
2007-05-23 09:47
cyyu_ryh
Rank: 8Rank: 8
等 级:贵宾
威 望:45
帖 子:1899
专家分:176
注 册:2006-10-21
收藏
得分:0 

是否可添加个子查询,来查询未选课程的


有事无事都密我. MSN: cyyu_ryh@hotmail.co.jp E-mail: cyyu_ryh@
2007-05-23 09:51
静思
Rank: 3Rank: 3
来 自:沈阳
等 级:新手上路
威 望:8
帖 子:630
专家分:0
注 册:2006-2-28
收藏
得分:0 

SQL SERVER 2000 中的外连接怎么表示?我用下列查询语句有错误:
select stu.sno '学号',sname'姓名',sage'年龄',sdept'院系',Cno,Grade
from student stu,sc
where stu.sno=sc.sno(*) and sdept='计算机';


英者自知,雄者自胜
2007-05-23 10:01
Kendy123456
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:62
帖 子:2720
专家分:0
注 册:2007-1-3
收藏
得分:0 
select sname '姓名',cname '课程名',grade '成绩'
from student stu left join sc s on stu.sno=s.sno
left join course co on co.cno=sc.cno
where sdept='计算机'

2007-05-23 11:01
初学Delphi
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:330
专家分:0
注 册:2006-4-4
收藏
得分:0 
以下是引用静思在2007-5-23 10:01:08的发言:

SQL SERVER 2000 中的外连接怎么表示?我用下列查询语句有错误:
select stu.sno '学号',sname'姓名',sage'年龄',sdept'院系',Cno,Grade
from student stu,sc
where stu.sno=sc.sno(*) and sdept='计算机';

你这个相当于
inner join 了
按照楼上的方法
left join
right join
full join

2007-05-23 11:14
静思
Rank: 3Rank: 3
来 自:沈阳
等 级:新手上路
威 望:8
帖 子:630
专家分:0
注 册:2006-2-28
收藏
得分:0 
已解决,谢谢各位的回答!~!

英者自知,雄者自胜
2007-05-23 11:28
快速回复:关于查询的
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020090 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved