高级数据查询

发布 2021-05-08 19:34:28 阅读 8479

1.学生管理数据库。

学生表:表名——student

属性:sno 字符型,最大7个字符表示学生学号。

sname 字符型,最大8个字符表示学生姓名。

sage 整型表示学生年龄。

ssex 字符型,最大2个字符表示学生性别。

sdate 日期型表示学生入学时间。

sdept 字符型,长度为20 表示所在系。

约束:主码——sno 非空属性——sname

创建课程表,具体要求如下。

课程表:表名——course

属性:cno 字符型,最大4个字符表示课程编号。

cname 字符型,最大10个字符表示课程名。

cteacher 字符型,最大8个字符表示教师姓名。

coffice 字符型,最大20个字符表示办公室。

约束:主码——cno 非空属性——cname

创建选课表,具体要求如下。

选课表:表名——sc

属性:sno 字符型,最大7个字符表示学生学号。

cno 字符型,最大4个字符表示课程编号。

grade 整型。

约束:主码——sno,cno 同时,sno,cno均为外码。

create database s_c

create table student(sno char(7) primary key,sname char(8) not null,sage int,ssex char(2),sdate datetime,sdept char(20))

create table course(cno char(4) primary key,cname char(10) not null,cteacher char(8),coffice char(20))

create table sc(sno char(7) foreign key references student,cno char(4) foreign key references course,grade int,primary key(sno,cno))

1) 统计每个系的学生人数。

select sdept, count(*)学生人数。

from student

group by sdept

2) 查询信管系的最大年龄和最小年龄。

select

3) 查询信管系的最大年龄和最小年龄的学生姓名。

select sname from student

where sdept=’信管系’

and 4) 统计选修‘c01’课程的学生的最高分,最低分、总成绩及平均分。

select max (grade),min(srade),sum(grade),**g(g

5) 查询所有学生的选课信息,要求列出学生学号、姓名、课程名和成绩。

6) select student. sno,sname,cname,grade

7) from student ,course,sc

where

and 6) 统计每门课程的选修人数。

sel7) 统计每个学生选修的课程门数及总成绩。

8) 查询哪些课程没有人选修,要求列出课程号、课程名。

select cno ,cname from cours

where cno not on (select cno from sc)

8) 查询各科平均成绩超过80分的学生姓名。

select snamr from student ,sc

where student .sno=

group by sname rade)>80

h**ing **g(g

9) 查询选修了‘c03’号课程的同学所在的系及该同学的姓名。

select sdept ,sname

from student,,sc

where cno =’c03’

and student .

10) 查询‘数据库基础’这门课的成绩在80分以上的学生姓名。

select cname from course,sc

h**ing **g(gr

11) 统计平均成绩大于70分的课程名。

select

12) 统计平均成绩大于70分的学生姓名及所在系。

14)从学生管理数据库的三张表中检索学生的学号、姓名、学习课程号、学习课程名及课程成绩。

15)使用不带h**ing 的group by子句汇总出sc表中的学生的学号及总成绩。

select sno , sum(grade)

from sc group by sno

16)使用带h**ing 的group by子句汇总出sc表中总分大于150分的学生的学号及总成绩。

17)查询修了3门以上课程的学生的学号。

18)查询信管系修了某课程的学生的修课成绩,要求列出学生姓名、课程名和成绩。

select cno cname

1) 将一个新学生元组(学号:200915128,姓名:陈冬,年龄:18,性别:男,入学时间:2009-9-1,系别:信管系)插入到student表中。

2) 插入一条课程信息(课程号:c001,课程名:数据库原理与应用)。

3) 将学生***的年龄改为22岁。

4) 将所有学生的年龄增加1岁。

5) 将计算机系所有学生的成绩置零。

6) 删除学号为***的学生记录。

7) 删除所有学生的选课记录。

8) 删除计算机系所有学生的选课记录。

高级数据查询

第6章高级数据查询。6.1 一般数据查询功能扩展6.1.1使用top限制结果集。1 top n 取查询结果的前n行数据。2 top n percent 取查询结果的n 行数据。3 with ties 表示包括最后一行取值并列的结果。6.1.2 使用case函数1.简单的case 函数case函数语法...

实验五高级数据查询

一 操作。1 新建查询 启动ssms,工具栏栅选择 新建查询 在查询编辑窗口使用sql语句进行查询操作。2 在 新建查询 窗口中,编辑 新建 保存 执行sql脚本文件。3 检验并保存程序执行结果。练习 使用t sql语句完成以下题目。1 查询所在城市是 上海 的出版商出版的书刊名 书价 作者名 出版...

数据查询练习

1.从图书管理数据库mbook中查询出所有读者的信息。2.查询姓名为 王林 的读者的借书证号 专业和借书量。3.计算 sql server实用教程 第3版 借出多少本。4.模糊查询书名中有 sql sever 字样的图书的书名 作译者和出版社。查询结果中将这三列的标题更改为bookname auth...