数据库第二次作业--SQL的单表查询与多表查询

发布于:2025-05-20 ⋅ 阅读:(14) ⋅ 点赞:(0)

在这里插入图片描述


单表查询

    1. 查询专业信息表中的专业名称和专业类型
    SELECT Mname, Mtype  
    FROM MajorP;
    
    1. 查询一个学校有多少个专业
    SELECT COUNT(Mno) AS 专业数量
    FROM MajorP;
    
    1. 查询学校的男女学生各有多少位
    SELECT Ssex, COUNT(*) AS 人数
    FROM StudentP
    GROUP BY Ssex
    
    1. 查询每个专业各有多少位学生
    SELECT Mname, COUTN(Sno) AS 学生数量
    FROM StudentP
    GROUP BY Mname;
    
    1. 查找男学生最多的专业及其人数
    SELECT Mname, COUTN(*) AS 男生人数
    FROM Student
    WHERE Ssex = "男"
    GROUP BY Mname
    ORDER BY 男生人数 DESC
    LIMIT 1;
    
    1. 查询选择了81001课程且考试及格的学生的学号和成绩,按成绩降序排列
    SELECT Sno,Grade
    FROM SCP
    WHERE Grade>=60 AND Cno = "81001"
    ORDER BY Grade DESC;
    
    1. 查询选择了81001课程中学生的最高分、最低分、平均分
    SELECT MAX(Grade) AS 最高分;MIN(Grade) AS 最低分,AVG(Grade) AS 平均分
    FROM SCP
    WHERE Cno = '81001'
    
    1. 查询不同的学期分别选修的课程的总数
    SELECT Semester COUNT(Cno) AS 课程数量
    FROM SCP
    GROUP BY Semester
    

多表查询

    1. 查询每个学生的学号、姓名、专业名称、专业类型
    SELECT S.Sno,S.Sname,M.Mname,M.Mtype
    FROM StudentP S
    JOIN MajorP M ON S.Mno=M.Mno;
    
    1. 课程选课人数统计
    SELECT COUNT(*) AS 人数
    FROM SCP 
    JOIN CourseP  ON SCP.Cno = CourseP.Cno
    WHERE CourseP.Cname = "数据库系统概论";
    
    1. 查询选择了在2019年第二学期开设的课程的学生姓名、课程名称和考试分数
    SELECT StudentP.Sname,CourseP.Cname,SCP.Grade
    FROM SCP
    JOIN CourseP ON CourseP.Cno = SCP.Cno
    JOIN StudentP ON StudentP.Sno = SCP.Sno
    WHERE SCP.Semester="2019_2";
    

网站公告

今日签到

点亮在社区的每一天
去签到