zoukankan      html  css  js  c++  java
  • 第三章作业数据查询

    第三章作业数据查询

    根据上述数据库及测试数据,上机验证书上第三章例3.16到例3.48的所有例程,将代码和运行结果截图形成一个附件提交。

    1.例3.16

    查询全体学生的学号与姓名

    SELECT Sno,Sname
    FROM student;
    

    image-20210415215717695

    2.例3.17

    查询全体学生的姓名、学号、所在系

    SELECT Sname,Sno,Sdept
    FROM Student;
    

    image-20210415215843719

    3.例3.18

    查询全体学生的详细记录

    SELECT Sno,Sname,Ssex,Sage,Sdept
    FROM Student;
    或者
    SELECT *
    FROM Student;
    

    image-20210415220029592

    image-20210415220121101

    4.例3.19

    查全体学生的姓名及其出生年份

    SELECT Sname,2007 - Sage /*假定当年的年份为2007年*/
    FROM Student;
    

    image-20210415220228815

    5.例3.20

    查询全体学生的姓名、出生年份和所有系,要求用小写字母表示所有系名

    SELECT Sname,'Year of Birth:',2007-Sage,LOWER(Sdept)
    FROM Student;
    

    image-20210415220823554

    使用列别名改变查询结果的列标题

    SELECT Sname NAME,'Year of Birth:' BIRTH,
    2007-Sage BIRTHDAY,LOWER(Sdept) DEPARTMENT
    FROM Student;
    

    image-20210415221020879

    6.例3.21

    查询选修了课程的学生学号

    SELECT Sno FROM SC;
    

    image-20210415221318102

    指定DISTINCT关键词,去掉表中重复的行

    SELECT Sno FROM SC
    

    image-20210415221438125

    7.例3.22

    查询计算机科学系全体学生的名单

    SELECT Sname
    FROM Student
    WHERE Sdept='CS';
    

    image-20210415221635629

    8.例3.23

    查询所有年龄在20岁以下的学生姓名及其年龄

    SELECT Sname,Sage
    FROM Student
    WHERE Sage < 20;
    

    image-20210415221753975

    9.例3.24

    查询考试成绩有不及格的学生的学号

    SELECT DISTINCT Sno
    FROM SC
    WHERE Grade<60;
    

    image-20210415221841943

    10.例3.25

    查询年龄在20~23岁(包括20岁和23岁)之间的学生的姓名

    SELECT Sname,Sdept,Sage
    FROM Student
    WHERE Sage BETWEEN 20 AND 23;
    

    image-20210415222059215

    11.例3.26

    查询年龄不在20~23岁之间的学生姓名、系别和年龄

    SELECT Sname,Sdept,Sage
    FROM Student
    WHERE Sage NOT BETWEEN 20 AND 23;
    

    image-20210415222148871

    12.例3.27

    查询信息系(IS)、数学系(MA)和计算机科学系(CS)学生的姓名和性别

    SELECT Sname,Ssex
    FROM Student
    WHERE Sdept IN ( 'IS','MA','CS' );
    

    image-20210415222312278

    13.例3.28

    查询既不是信息系、数学系,也不是计算机科学系的学生的姓名和性别

    SELECT Sname,Ssex
    FROM Student
    WHERE Sdept NOT IN ( 'IS','MA','CS' );
    

    image-20210415222406418

    14.例3.29

    查询学号为200215121的学生的详细情况

    SELECT *
    FROM Student
    WHERE Sno LIKE '200215121';
    或者
    SELECT *
    FROM Student
    WHERE Sno = '200215121';
    

    image-20210415222708690

    15.例3.30

    查询所有姓刘学生的姓名、学号和性别

    SELECT Sname,Sno,Ssex
    FROM Student
    WHERE Sname LIKE '刘%';
    

    image-20210415222941769

    16.例3.31

    查询姓"欧阳"且全名为三个汉字的学生的姓名

    SELECT Sname
    FROM Student
    WHERE Sname LIKE '欧阳_ %';
    

    image-20210415232427246

    17.例3.32

    查询名字中第2个字为"阳"字的学生的姓名和学号

    SELECT Sname
    FROM Student
    WHERE Sname LIKE '_阳%';
    

    image-20210415233153203

    18.例3.33

    查询所有不姓刘的学生姓名

    SELECT Sname,Sno,Ssexi
    

    image-20210415233249149

    19.例3.34

    查询DB_Design课程的课程号和学分

    SELECT Cno,Ccredit
    FROM Course
    WHERE Cname LIKE 'DB\_Design%' ESCAPE '\';
    

    image-20210415233647842

    20.例3.35

    查询以"DB_"开头,且倒数第3个字符为 i的课程的详细情况

    SELECT Cno,Ccredit
    FROM Course
    WHERE Cname LIKE 'DB\_%i%g_ %' ESCAPE '\';
    或者
    SELECT Cno,Ccredit
    FROM Course
    WHERE Cname LIKE 'DB\_%i_%n %' ESCAPE '\';
    

    image-20210415234119019

    21.例3.36

    某些学生选修课程后没有参加考试,所以有选课记录,但没有考试成绩。查询缺少成绩的学生的学号和相应的课程号

    SELECT Sno,Cno
    FROM SC
    WHERE Grade IS NULL;
    

    image-20210415235131110

    22.例3.37

    查所有有成绩的学生学号和课程号

    SELECT Sno,Cno
    FROM SC
    WHERE Grade IS NOT NULL;
    

    image-20210415235229256

    23.例3.38

    查询计算机系年龄在20岁以下的学生姓名

    SELECT Sname
    FROM Student
    WHERE Sdept= 'CS' AND Sage<20;
    

    image-20210415235321570

    查询信息系(IS)、数学系(MA)和计算机科学系(CS)学生的姓名和性别

    SELECT Sname,Ssex
    FROM Student
    WHERE Sdept IN ( 'IS','MA','CS' )
    或者
    SELECT Sname,Ssex
    FROM Student
    WHERE Sdept= 'IS' OR Sdept= 'MA' OR Sdept= 'CS';
    

    image-20210415235541339

    24.例3.39

    查询选修了3(???)号课程的学生的学号及其成绩,查询结果按分数降序排列

    SELECT Sno,Grade
    FROM SC
    WHERE Cno= '0202'
    ORDER BY Grade DESC;
    

    image-20210415235947614

    25.例3.40

    查询全体学生情况,查询结果按所在系的系号升序排列,同一系中的学生按年龄降序排列

    SELECT *
    FROM Student
    ORDER BY Sdept,Sage DESC;
    

    image-20210416000054777

    26.例3.41

    查询学生总人数

    SELECT COUNT(*)
    FROM Student;
    

    image-20210416000157337

    27.例3.42

    查询选修了课程的学生人数

    SELECT COUNT(DISTINCT Sno)
    FROM SC;
    

    image-20210416000240213

    28.例3.43

    计算1号(???)课程的学生平均成绩

    SELECT AVG(Grade)
    FROM SC
    WHERE Cno= '0202';
    

    image-20210416000313955

    29.例3.44

    查询选修1号(???)课程的学生最高分数

    SELECT MAX(Grade)
    FROM SC
    WHERE Cno= '0202';
    

    image-20210416000447739

    30.例3.45

    查询学生200215012(???)选修课程的总学分数

    SELECT SUM(Ccredit)
    FROM SC, Course
    WHERE Sno='200215126' AND SC.Cno=Course.Cno;
    

    image-20210416000636334

    31.例3.46

    求各个课程号及相应的选课人数

    SELECT Cno,COUNT(Sno)
    FROM SC
    GROUP BY Cno;
    

    image-20210416000747262

    32.例3.47

    查询选修了1(3)门以上课程的学生学号

    SELECT Sno
    FROM SC
    GROUP BY Sno
    HAVING COUNT(*) >1;
    

    image-20210416000849818

    33.例3.48

    查询平均成绩大于等于90分的学生学号和平均成绩

    SELECT Sno, AVG(Grade)
    FROM SC
    GROUP BY Sno
    HAVING AVG(Grade) >90;
    

    image-20210416001158242

  • 相关阅读:
    前端开发 Knockout
    一套基于Spring Boot+Vue+Shiro前后端分离的代码生成器
    七个开源的 Spring Boot 前后端分离项目
    Java老司机:把这些主流技术搞懂,拿20K没问题
    svn无法cleanup解决方案
    软件测试-1挡板测试
    电子琴
    myeclipse10激活注册码生成器代码
    LNK2005
    无法打开包含文件:"fstream.h"
  • 原文地址:https://www.cnblogs.com/wqnmlkb/p/14665188.html
Copyright © 2011-2022 走看看