数据库上的基本操作实验(针对表、视图及不同权限用户的增、删、改、查及数据库的备份和恢复)
本文最初由security9968发布于security9968的csdn博客,禁止任何形式的剽窃行为
转载原创文章请注明,转载自:security的博客
实验3 数据库的简单查询和连接查询
- 实验目的
- 掌握无条件查询的使用方法。
- 掌握条件查询的使用方法。
- 掌握库函数及汇总查询的使用方法。
- 掌握分组查询的使用方法。
- 掌握查询的排序方法。
- 掌握连接查询的使用方法。
- 实验内容
根据第一部分实验中创建的学生作业管理数据库以及其中的学生表、课程表和学生作业表,进行以下的查询操作(每一个查询都要给出SQL语句,列出查询结果)。
- 查询各位学生的学号、班级和姓名。
- 查询课程的全部信息。
- 查询数据库中有哪些专业班级。
- 查询学时数大于60的课程信息。
- 查询在1986年出生的学生的学号、姓名和出生日期。
- 查询三次作业的成绩都在80分以上的学号、课程号。
- 查询姓张的学生的学号、姓名和专业班级。
- 查询05级的男生信息。
- 查询没有作业成绩的学号和课程号。
- 查询学号为0538的学生的作业1总分。
- 查询选修了K001课程的学生人数。
- 查询数据库中共有多少个班级。
- 查询选修三门以上(含三门)课程的学生的学号和作业1平均分、作业2平均分和作业3平均分。
- 查询于兰兰的选课信息,列出学号、姓名、课程名(使用两种连接查询的方式)。
SQL语句代码
/*
1.查询各位学生的学号、班级和姓名。
2.查询课程的全部信息。
3.查询数据库中有哪些专业班级。
4.查询学时数大于60的课程信息。
5.查询在1986年出生的学生的学号、姓名和出生日期。
6.查询三次作业的成绩都在80分以上的学号、课程号。
7.查询姓张的学生的学号、姓名和专业班级。
8.查询05级的男生信息。
9.查询没有作业成绩的学号和课程号。
10.查询学号为0538的学生的作业1总分。
11.查询选修了K001课程的学生人数。
12.查询数据库中共有多少个班级。
13.查询选修三门以上(含三门)课程的学生的学号和作业1平均分、作业2平均分和作业3平均分。
14.查询于兰兰的选课信息,列出学号、姓名、课程名(使用两种连接查询的方式)。
*/
select * from 学生表;
select * from 课程表;
select * from 学生作业表;
--1.查询各位学生的学号、班级和姓名。
select distinct 学号,姓名,专业班级 from 学生表,课程表;
--2.查询课程的全部信息。
select * from 课程表;
--3.查询数据库中有哪些专业班级。
select 专业班级 from 学生表;
--4.查询学时数大于60的课程信息。
select * from 课程表 where 学时数>60;
--5.查询在1986年出生的学生的学号、姓名和出生日期。
select 学号,姓名,出生日期 from 学生表 where 出生日期 like '1986%';
--6.查询三次作业的成绩都在80分以上的学号、课程号。
select 学号,课程号 from 学生作业表 where 作业1成绩>=80 and 作业2成绩>=80 and 作业3成绩 >=80;
--7.查询姓张的学生的学号、姓名和专业班级。
select 学号,姓名,专业班级 from 学生表 where 姓名 like '张%';
--8.查询05级的男生信息。
select * from 学生表 where 专业班级 like '%05' and 性别 in ('男');
--9.查询没有作业成绩的学号和课程号。
select 学号,课程号 from 学生作业表 where 作业1成绩 | 作业2成绩| 作业3成绩 is null;
--10.查询学号为0538的学生的作业1总分。
select sum(作业1成绩) as '学号为0538的学生的作业1总分' from 学生作业表 where 学号 in (0538);
--11.查询选修了K001课程的学生人数。
select distinct count(学号) as '选修了K001课程的学生人数' from 学生作业表 where 课程号 in ('K001');
--12.查询数据库中共有多少个班级。
select count(distinct 专业班级) as '数据库中共有多少个班级' from 学生表;
--13.查询选修三门以上(含三门)课程的学生的学号和作业1平均分、作业2平均分和作业3平均分。
select 学号,avg(作业1成绩) as '作业1平均分',avg(作业2成绩) as '作业2平均