• 数据库上机实验2 单表查询和嵌套查询


    一、实验目的

    1、熟练掌握Select子句中各种用法。

    2、熟练掌握Where子句中各种运算符的使用方法。

    3、掌握各种嵌套查询的使用方法。

    二、实验内容

    根据实验1中创建的学生作业管理数据库以及其中的学生表、课程表和学生作业表,进行以下的查询操作(每一个查询都要给出SQL语句,列出查询结果)。

    1、查询学时数大于60的课程信息。

    select * from course where stime>60
    

    2、查询在1986年出生的学生的学号、姓名和出生日期。

    select sno,sname,birth from student where birth like '1986%'

    3、查询三次作业的成绩都在80分以上的学号、课程号。

    select sno,cno from score where cj1>80 and cj2>80 and cj3>80

    4、查询姓张的学生的学号、姓名和专业班级。

    select sno,sname,major from student where sname like '张%'

    5、查询没有作业成绩的学号和课程号。

    select sno,cno from score where cj1 is null or cj2 is null or cj3 is null

    6、查询选修了K001课程的学生人数。

    select count(*) from score where cno='K001'

    7、查询与“张志国”同一班级的学生信息(使用子查询方式)。

    1. select * from student
    2. where major=(select major from student where sname='张志国')

    8、查询比“计算机应用基础”学时多的课程信息(使用子查询方式)。

    1. select * from course
    2. where stime>(select stime from course where cname='计算机应用基础')

    9、查询选修课程号为K002的学生的学号、姓名(使用exists关键字的相关子查询)。

    1. select sno,sname from student
    2. where exists(select sno from score where student.sno=score.sno and cno='K002')

    10、查询没有选修K001和M001课程的学号、课程号和三次成绩(使用子查询方式)。

    1. select sno,cno,cj1,cj2,cj3 from score
    2. where cno not in(select cno from score where cno='K001' or cno='M001')

    三、实验指导

    1、启动SQL Server2012软件。

    2、通过分离附加的方法,将实验1所创建的作业管理数据库恢复到该软件中。

    3、SQL Server中,程序不区别大小写,特别要注意程序中的标点符号,一定要在英文半角状态下输入,否则会出错。

    4、注意通配符的使用方法,%匹配0个或多个字符,_匹配单个字符。

    5、注意运算符的优先级,算术运算符优于比较运算符,比较运算符优于逻辑运算符,逻辑运算符的优先级是非、与、或。

    6、判断某个列是否为空值是:列名 is null,而不是:列名=null。

    7、子查询要有括号括起来。

  • 相关阅读:
    windwons 下GPU环境和pytorch安装
    前端常见面试题:post请求发送几次?
    LeetCode 1876. 长度为三且各字符不同的子字符串
    Android性能优化,有关内存抖动与解决方案
    【电源专题】为什么旁路/去耦电容这么重要?在PCB Layout时应该注意什么?
    01PCB设计概述
    Redis集群安装之分片集群
    用Python分析了30000+《独行月球》影评数据,看看观众们怎么说~
    Angular 依赖注入介绍及使用(五)
    【数组】逐步求和得到正数的最小值
  • 原文地址:https://blog.csdn.net/qq_64314976/article/details/125989001