sql server 2005 查询语句

对于教学数据库的几个基本表:
试用SQL的查询语句表达下列查询:

(1)查询姓‘刘’的老师所授课程的课程编号号和课程名。
(2)查询在1990年1月1日以后出生的学生信息。
(3)查询‘数据库’这门课的授课学时和学分。
(4)查询‘数据库’这门课的上课时间和上课地点。
(5)查询‘数据库’这门课的授课教师姓名、性别和联系电话。
表1 student表(学生信息表)
字段名称 类 型 宽 度 允许空值 主 键 说 明
sno char 8 NOT NULL 是 学生学号
sname char 8 NOT NULL 学生姓名
sex char 2 NULL 学生性别
native char 20 NULL 籍贯
birthday smalldate 4 NULL 学生出生日期
dno char 6 NULL 学生所在院系
spno char 8 NULL 专业代码(外键)
classno char 4 NULL 班级号
entime smalldate 4 NULL 学生入校时间
home varchar 40 NULL 学生家庭住址
tel varchar 40 NULL 学生联系电话

表2 course表(课程信息表)
字段名称 类 型 宽 度 允许空值 主 键 说 明
cno char 10 NOT NULL 是 课程编号
spno char 8 NULL 专业代码(外键)
cname char 20 NOT NULL 课程名称
ctno tinyint 1 NULL 课程类型编号(外键)
experiment tinyint 1 NULL 实验时数
lecture tinyint 1 NULL 授课学时
semester tinyint 1 NULL 开课学期
credit tinyint 1 NULL 课程学分

表3 student_course表(学生选课成绩表)
字段名称 类 型 宽 度 允许空值 主 键 说 明
sno char 8 NOT NULL 是 学生学号
tcid smallint 2 NOT NULL 是 上课编号
score tinyint 1 NULL 学生成绩

表4 teacher表(教师信息表)
字段名称 类 型 宽 度 允许空值 主 键 说 明
tno char 8 NOT NULL 是 教师编号
tname char 8 NOT NULL 教师姓名
sex char 2 NULL 教师性别
birthday smalldate 4 NULL 教师出生日期
dno char 6 NULL 教师所在院系
pno tinyint 1 NULL 教师职务或职称编号
home varchar 40 NULL 教师家庭住址
zipcode char 6 NULL 邮政编码
tel varchar 40 NULL 联系电话
email varchar 40 NULL 电子邮件

表5 teacher_course表(教师上课课表)
字段名称 类 型 宽 度 允许空值 主 键 说 明
tcid smallint 2 NOT NULL 是 上课编号
tno char 8 NULL 教师编号(外键)
spno char 8 NULL 专业代码(外键)
classno char 4 NULL 班级号
cno char 10 NOT NULL 课程编号(外键)
semester char 6 NULL 学期
schoolyear char 10 NULL 学年
classtime varchar 40 NULL 上课时间
classroom varchar 40 NULL 上课地点
weektime tinyint 1 NULL 每周课时数

这5个题怎么做?求答案

(1)select teacher_course.cno,course.cname from teacher_course,teacher, course
where teacher_course.tno=teacher.tno
and course.cno=teacher_course.cno
and teacher.name like'刘%';
(2)select * from student where birthday>'1990/01/01';
(3)select lecture,credit from course where cname='数据库';
(4)select teacher_course.classtime,teacher_course.classroom from teacher_course,course
where teacher_course.cno=course.cno
and course.cname='数据库';
(5)select teacher.tname, teacher.sex, teacher.tel from teacher_course,teacher, course
where teacher_course.tno=teacher.tno
and course.cno=teacher_course.cno
and course.cname='数据库';
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-02
第一个:
select cno, cname
from course
where con in (select cno from teacher_course where tno in (select tno from teacher where tname like '刘%' ) )

第二个:
select * from student where birthday > '1990-1-1'

第三个:
select lecture, credit from course where cname='数据库'

第四个:
select classtime, classroom
from teacher_course
where cno in (select cno from course where cname='数据库' )

第五个:
select tname, sex, tel
from teacher
where tno in (select tno from teacher_course where cno in (select cno from course where cname='数据库' ) )
第2个回答  2011-12-02
(1)查询姓‘刘’的老师所授课程的课程编号号和课程名。
select a.cno,c.cname
from teacher_course a, teacher b,course c
where a.tno=b.tno and b.tname like N'刘%' and a.cno=c.cno

(2)查询在1990年1月1日以后出生的学生信息。
select *
from student
where birthday>'1990-01-01'

(3)查询‘数据库’这门课的授课学时和学分。
select lecture,credit
from course
where cname='数据库'

(4)查询‘数据库’这门课的上课时间和上课地点。
select distinct classtime,classroom
from teacher_course
where cno in (select cno from course where cname='数据库')

(5)查询‘数据库’这门课的授课教师姓名、性别和联系电话。
select tname,sex,tel
from teacher
where tno in ( select distinct tno from teacher_course
where cno= (select cno from course where cname='数据库')
)
第3个回答  2011-12-02
1)查询姓‘刘’的老师所授课程的课程编号号和课程名。
select s.cname ,cno from teacher_course c ,teacher t ,course s
where c.tno=t.tno and t.tname like '刘%' and t.cno=c.cno
2)查询在1990年1月1日以后出生的学生信息。
select * from student where birthday >'1990-01-01'
3)查询‘数据库’这门课的授课学时和学分。
select lecture '授课学时', credit ‘学分’ from course where cname ='数据库'
(4)查询‘数据库’这门课的上课时间和上课地点。
select c.classtime, classroom
from course
where cname='数据库'
5)查询‘数据库’这门课的授课教师姓名、性别和联系电话。

select tname,sex ,tel from teacher_course t ,course c
where t.cno=c.cno
and c.cname='数据库'
第4个回答  2011-12-02
不知道