一、实验目的
1.掌握无条件查询的使用方法。
2.掌握条件查询的使用方法。
3.掌握库函数及汇总查询的使用方法。
4.掌握分组查询的使用方法。
5.掌握查询的排序方法。
6.掌握连接查询的使用方法。
二、实验设备
操作系统:Win11
开发软件:SQL Server
三、实验内容
根据第一部分实验中创建的学生作业管理数据库以及其中的学生表、课程表和学生作业表,进行以下的查询操作(每一个查询都要给出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.查询于兰兰的选课信息,列出学号、姓名、课程名(使用两种连接查询的方式)。
SQL语句
use StudentAssignmentDB;
select Name,StudentID,MajorClass from Students;
select *from Courses;
select distinct MajorClass from Students;
select *from Courses where Hours>60;
select Name,StudentID,MajorClass from Students where year(BirthDate)='1986';
select CourseID,StudentID from StudentAssignments where Assignment1Grade>=80 and Assignment2Grade>=80 and Assignment3Grade>=80;
select Name,StudentID,MajorClass from Students where Name like '张%';
select *from Students where Gender='男' and MajorClass like '%05';
select CourseID,StudentID from StudentAssignments where Assignment1Grade is null or Assignment2Grade is null or Assignment3Grade is null;
select sum(Assignment1Grade)as '作业1的总分' from StudentAssignments where StudentID='0538';
select count(StudentID)as'选修了K001课程的学生人数' from StudentAssignments where CourseID='K001';
select count(MajorClass)as '班级总数' from Students;
select avg(Assignment1Grade),avg( Assignment2Grade),avg(Assignment3Grade) from StudentAssignments group by StudentID having count(CourseID)>=3;
select s.StudentID,s.Name,c.CourseName from Students as s join StudentAssignments as sc on s.StudentID=sc.StudentID join Courses as c on sc.CourseID=c.CourseID where s.Name='于兰兰';