欢迎访问web记录!每一步的成长都是一种幸福,聪明的女孩擅长记录幸福!
您现在的位置:web记录 > 数据库 >

表中数据的子查询

更新时间:2012-11-21 浏览次数:
一、实验目的:
1、掌握对表中数据进行单行和多行字查询的方法。
2、掌握对表中数据进行嵌套查询和连接查询的方法。
3、掌握使用关键字对表中数据进行查询的方法。
二、实验内容:
student数据库中创建表t_course
T_course表结构
字段名称
字段类型
大小
约束说明
C_number
char
10
主键
C_name
char
10
 
hours
int
 
 

向表t_course中添加以下数据:
T_course表中数据
C_number
C_name
hours
20010203
数学
80
20010204
语文
70
20010205
英语
60
20010206
历史
55
对表t_studentt_scoret_course表进行以下查询:
1)查询平均成绩最高的学生信息。
2)查询低于全班平均成绩的学生信息。
3)查询女生的考试信息。
4)查询语文在80分以上的学生的S_numberS_namesex
5)查询选修c_number为‘20010203’号课程但成绩高于s_number’ G982301’的同学的信息。
6)查询选修了’20010204’课程的同学信息。(用any关键字)
7)分别查询参加了考试的学生信息和没有参加考试的学生信息。
8)查询所有选修了’ 20010205’课程的S_numberS_name。(用exit关键字)
9)创建新表包含s_numberS_namesex字段,将t_student表中的记录插进去。
10)将群众的成绩增加5分。
11)删除平均成绩不合格的学生信息
12)查询选修‘语文’的所有学生信息。(使用嵌套查询和连接查询两种方法)

use student
go
create table T_course
(C_number char(10) not null primary key,
C_name char(10) not null,
hours int not null)
insert into T_course
values('20010203', '数学', 80),
('20010204', '语文', 70),
('20010205', '英语', 60),
('20010206', '历史',55)
1.
select * from  T_student where S_number=
(select top 1 S_number from T_score group by S_number order by AVG(score) desc)
2.
select * from T_student where S_number in
(select S_number from T_score where score<(select AVG(score)from T_score))

select * from T_student a,
(select * from T_score where score<(select AVG(score)from T_score))as b
where a.S_number=b.S_number
3.
select * from T_score where S_number in
(select S_number from T_student where sex='女')
4.
select T_student.S_number,S_name,sex from T_student
where T_student.S_number  in(select S_number from T_score  
join T_corse on T_corse.C_number=T_score.C_number and T_student.S_number=T_score.S_number
and T_corse.C_name='语文' and score>70)
5.
select * from T_student where S_number in
(select S_number from T_score where C_number='20010203' and score>
(select score from T_score where S_number='G982301' and C_number='20010203'))
6.
select * from T_student where S_number=any
(select S_number from T_score where C_number='20010204')
7.
select * from T_student where exists
(select * from T_score where
T_score.S_number=T_student.S_number)
go
select * from T_student where not exists
(select * from T_score where T_score.S_number=T_student.S_number)
8.
select S_number,S_name from T_student where exists(
select * from T_score where T_score.S_number=T_student.S_number and C_number='20010205')s
9.
select S_number,S_name,sex into newstud from T_student where S_number is null
insert into newstud
select S_number,S_name,sex from T_student
10.
update T_score set score=score+5 where S_number in
(select S_number from T_student where polity='群众')
11.
delete from T_student where S_number in
(select S_number from T_score group by S_number having AVG(score)<65)
12.
select * from T_student where S_number in
(select T_score.S_number from T_score where C_number in
(select T_corse.C_number from T_corse where C_name='语文'))
go
select * from T_student as a
join T_score as b on a.S_number=b.S_number
join T_corse as c on b.C_number=c.C_number
and c.C_name='语文'
关键词:

    + 相关信息

    前端案例

    返回顶部 欢迎访问web记录!每一步的成长都是一种幸福,聪明的女孩擅长记录幸福!