实验四 SQL连接查询

2023-05-16

一、实验目的:
掌握SQL连接查询语句

二、实验内容和主要步骤:

  1. 查询每个学生及其选修成绩的情况
    select sno,cno,Grade
    from sc;
  2. 分别用左外连接和右外连接实现查询所有学生信息及其选修成绩的情况(包括没有选课的学生信息)
    select sname,cno,Grade
    from student left outer join sc on(student.sno=sc.sno);

select sname,cno,Grade
from student left outer join sc on(student.sno=sc.sno);

  1. 查询选修2号课程且成绩在90分以上的学生姓名和系别信息
    select sname,cno,sdept,Grade
    from student,sc
    where student.sno=sc.sno
    having cno=‘002’ and Grade>90;

  2. 查询每个学生的学号、姓名、选修的课程名及成绩
    SELECT student.sno,sname,cname,Grade
    FROM student,sc,course
    WHERE student.sno=sc.sno AND sc.cno=course.cno;

  3. 查询计算机系的学生所学课程的课程名。
    select student.sno,sname,cname,sdept
    from student,sc,course
    where student.sno=sc.sno and sc.cno=course.cno
    having sdept=‘cs’;

  4. 查询姓张的同学学的课程的课程名称。
    SELECT sname,cname
    FROM student,sc,course
    WHERE student.sno=sc.sno AND sc.cno=course.cno
    HAVING sname LIKE ‘张%’;

  5. 查询至少选修两门课程的学生姓名(*)
    SELECT sname,COUNT(sc.sno)
    FROM student,sc
    WHERE student.sno=sc.sno
    GROUP BY sc.sno
    HAVING COUNT(sc.sno)>=2;

  6. 查询课程平均成绩大于80的课程名称(*)
    SELECT sname,COUNT(sc.sno)
    FROM student,sc
    WHERE student.sno=sc.sno
    GROUP BY sc.sno
    HAVING COUNT(sc.sno)>=2;

  7. 查询选修人数最多的课程名称(*)
    select cname,count(sc.sno) as 人数
    from course,sc
    where course.cno=sc.cno
    group by sc.cno
    having count(sc.sno)>=all(
    select count(sc.sno)
    from sc
    group by sc.cno
    );

  8. 查询计算机系的学生选修课程中选修人数前三名的课程名称(
    select cname,count(
    )
    from student,course,sc
    where student.sno=sc.sno and course.cno=sc.cno
    group by cname
    order by count(*) desc
    limit 3;

  9. 查询每门课程的先修课程名称和学分信息
    SELECT cname,credit
    FROM course;

  10. 分别用左外连接和右外连接实现查询所有课程信息和其先修课程信息(包括没有先修课程的课程信息)
    SELECT sc.,course.
    FROM sc LEFT JOIN course ON sc.cno=course.cno;

select sc.,course.
from sc right join course on sc.cno=course.cno;
13. 查询每门课程的间接先修课的信息(先修课程的先修课程)
select a1.cno,a2.cno
from course
a1 left join course a2 on a1.cpno=a2.cno;

  1. 查询有不及格的学生姓名和所在系
    select distinct sname,sdept
    from student,sc
    where student.sno=sc.sno
    and(Grade<60 or Grade is null);
  2. 查询所有成绩为优秀(大于90分)的学生姓名(*)
    SELECT sname,sno
    FROM student
    WHERE sno IN(
    SELECT sno FROM sc WHERE Grade>90);
  3. 增加一个表格成绩等级表,表里记录成绩等级编号和每个等级对应的最低成绩和最高成绩
    create table glevel(
    id tinyint primary key,
    lowgrade int not null,
    highgrade int not null
    )

insert into glevel values(1,90,100),(2,80,89),(3,70,79),(4,60,69),(5,0,59);
17. 查询每个成绩等级有多少计数(
select id,count(
)
from sc,glevel
where Grade between lowgrade and highgrade
group by id;
18. 查询每个学生每个成绩等级有多少计数(
select sno,id,count(
)
from sc,glevel
where Grade between lowgrade and highgrade
group by sno,id;
19. 查询每门课程每个成绩等级有多少计数(
select cno,id,count(
)
from sc,glevel
where Grade between lowgrade and highgrade
group by cno,id;
20. 查询每个学生选修成绩的对应等级
SELECT cno,id
FROM sc,glevel
WHERE Grade BETWEEN lowgrade AND highgrade
GROUP BY cno,id;
21. 查询选修成绩等级是5的课程名称和学生姓名
SELECT cname,sname
FROM student,sc,course,glevel
WHERE student.sno=sc.sno AND sc.cno=course.cno
AND id=‘5’;
三、实验要求:

  1. 将上述任务中完整的SQL语句调试并使之运行正确;
  2. 写出实验报告(在实验系统完成)
    注意:(*)为进阶题,这部分属于选做部分,且有些题目可以使用多种方法进行表示
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

实验四 SQL连接查询 的相关文章

  • CMake初级简明教程

    我藏在人群中 然后失去晴空 像我的名字 从你的记忆清空 你头顶的风 本文仅仅介绍了一些常用函数的参数的简单写法以及个人理解 xff0c 如果你想了解更多 xff0c 可以去查找专门介绍该函数的博客 本文只能保证你读完之后对各个函数有基本的认
  • ubuntu18安装ros1

    是非成败转头空 青山依旧在 xff0c 几度夕阳红 临江仙 滚滚长江东逝水 杨慎 0 前言 我都不明白安装一个ros有这么难么 xff0c 某学弟经常说卡住了安不了啥啥的 真是服了 xff0c 我再安一遍看看还有谁特么再说安不上 1 添加源
  • centos urllib3安装出错

    当卸载urllib3之后 xff0c 尝试重新安装 xff0c 发现出现问题 而后 xff0c 经过一番学习 xff0c 找到了解决办法 pip install upgrade urllib3 问题解决 xff01
  • Numpy简单学习(Spyder)

    1 Numpy创建 A 61 np array 1 2 3 4 5 6 两行三列的列表 类型为n维列表 Z 61 np zeros 3 2 3行2列的全0矩阵 Z1 61 np zeros 3 5 3行5列全0矩阵 全1矩阵 np ones
  • sip篇——服务器

    上篇提到sip定义了如何管理整个会话过程 xff0c 其实就是负责建立连接 监控和断开一个或多个参与者参与的会话 xff0c 利用IP地址和协议建立网络会话 xff0c 使得世界各地的人都可以通过互联网及时建立连接 1 sip中的逻辑组件
  • RTSP协议,与sip区别

    RTSP Real Time Streaming Protocol 是应用层中的实时流协议 xff0c 处于RTP RTCP SRTP等之上 xff0c 使用RTP或TCP来进行数据的传输 xff0c 其本身并不传输媒体流数据 xff0c
  • sip服务器搭建篇——虚拟机

    1 摘要 sip服务器 xff08 上篇所述的代理 注册 重定向等服务器功能组合而成的服务器软件 xff09 基于Linux操作系统而搭建 xff0c 这就需要在windows操作系统中下载虚拟机 xff0c 然后在虚拟机中才能使用Linu
  • Ubuntu常用命令[1]-ls、pwd、cd、mkdir、rmdir、apt

    xff0a ls ls是list的缩写 xff0c 列出当前目录下所有的文件或子目录 ls l 则是以更详细的模式进行查看 要点1 xff1a 在输入命令和路径时 xff0c 按tab键可自动补全 xff0c 例如ls ho xff0c 按
  • 什么是网关,网关的作用是什么

    1 什么是网关 网关又称网间连接器 协议转换器 xff0c 也就是网段 局域网 广域网 关卡 xff0c 不同网段中的主机不能直接通信 xff0c 需要通过关卡才能进行互访 xff0c 比如IP地址为192 168 31 9 子网掩码 xf
  • 无法访问opensips control panel

    OpenSIPS控制面板是一个用于供应的PHP Web门户OpenSIPS服务器 xff0c 可以为opensips提供系统和用户配置 xff0c 我们可以在该面板上添加 修改 管理sip账户信息和权限 有时候无法访问 xff0c 需要先将
  • sip电话注册失败问题解决心得总结

    这是我学习搭建opensips服务器以来持续性最长的一个问题 xff0c 具体就是终端电话软件一直注册不了已经创建好的sip会话账号 我刚开始用的终端电话软件是Zoiper xff0c 要么一直在注册中 xff0c 要么直接注册失败 xff
  • 面向对象以及类和对象的概念

    面向对象 面向对象和面向过程的区别 面向过程 xff1a 主要的关注点是实现具体的过程 xff0c 因果关系 集成显卡的开发思路 优点 xff1a 对于业务逻辑比较简单的程序 xff0c 可以达到快速开发 xff0c 前期投入成本较低 缺点
  • 尚硅谷hadoop3.x集群配置笔记及常见错误解决方式

    1 搭建集群准备工作 总体流程 准备3台客户机 xff08 关闭防火墙 静态IP 主机名称 xff09 安装JDK 配置环境变量 安装Hadoop 配置环境变量 配置集群 单点启动 配置ssh 群起并测试集群 一 模板虚拟机的搭建 配置要求
  • Centos 7系统下NTP时间同步服务配置

    NTP分为服务器端与客户端 xff08 自己选择某一台机器为服务器端 xff0c 其他机器则为客户端 xff09 xff0c 其中 xff0c 客户端通过向服务器端发送时间同步请求实现整个集群的时间同步 具体操作步骤如下所示 xff1a 1
  • EduCoder-程序设计技术R(第四部分循环结构程序设计1)- 第5关:求sn=a+aa+aaa+aaaa+......的值

    大家好鸭 x1f60e xff0c 前几期的EduCoder题解 xff0c 阅读量超过了之前的好多文章 xff01 谢谢大家的阅读 如果题目AC的话 xff0c 求一个免费的赞噢 x1f47b 如果有编程相关的问题 xff0c 可以一起交
  • 和风天气获取天气情况

    和风天气api xff08 实时天气 xff09 https dev qweather com docs api weather weather now 控制台 https console qweather com apps 1 进入控制台
  • Java习题练习:组队

    目录 题目描述 思路 其他真题 题目描述 作为篮球队教练 你需要从以下名单中选出1 号位至5 号位各一名球员 组成球队的首发阵容 每位球员担任1 号位至5 号位时的评分如下表所示 请你计算首发阵容1 号位至5 号位的评分之和最大可能是多少
  • 基于朴素贝叶斯分类器的西瓜数据集(实战)

    最近刚开始学习机器学习中的朴素贝叶斯分类器 xff0c 用西瓜数据集做了一下 xff0c 最后结果预测正确率75 xff0c 其中运用到的python语法并不复杂 xff0c 适合小白观看 目录 朴素贝叶斯分类器思想的自然语言描述 xff1
  • Golang将密码盐加密

    代码地址 xff1a https gitcode net m0 51510236 go password 首先我们来初始化一个项目 go mod init go password golang密码加密我们可以使用 golang org x
  • Spring使用SpringJUnit4ClassRunner时出现java.lang.NoSuchMethodError错误

    报错情况如下 xff1a java lang NoSuchMethodError org springframework core annotation AnnotatedElementUtils getAnnotationAttribut

随机推荐

  • 自己动手搭建网站:electerm远程连接云服务器,部署环境并发布第一个静态页面

    上篇写了云服务器和域名的选购 xff0c 这篇接上篇 xff0c 记录一下如何远程连接云服务器 xff0c 并发布第一个静态网页 xff0c 环境部署在另一篇博文里 xff1a Linux xff08 CentOS7 xff09 下配置jd
  • 解决IDEA报错Failed to start bean ‘documentationPluginsBootstrapper‘

    前言 白嫖容易 xff0c 创作不易 xff0c 若以下方案解决了问题烦请点赞支持一下 xff08 关注一下更好 xff09 在使用IDEA做项目时使用了Swagger进行接口文档的处理 swagger 使用的版本为2 9 2 xff0c
  • C语言%d输出的不同形式

    d就是普通的输出 2d是将数字按宽度为2 xff0c 采用右对齐方式输出 xff0c 若数据位数不到2位 xff0c 则左边补空格 2d是将数字按宽度为2 xff0c 采用左对齐方式输出 xff0c 若数据位数不到2位 xff0c 则右边补
  • latex常用语法

    字母表 字母上面的上标输入方法 xff0c 如右图所示 xff0c 如 bar a 表示字母a头上有一横线 小写希腊字母的输入方法 xff0c 如右图所示 xff0c 大写希腊字母的输入方法 xff0c 如右图所示 xff0c 大写希腊字母
  • Centos 7 内核升级

    一 升级至最新版本内核 1 升级系统包 xff0c 命令如下 yum update y 2 升级内核 xff0c 命令如下 rpm import http www elrepo orq RPM GPG KEY elrepo orq rpm
  • Win11安装Android子系统

    目录 一 获取安卓子系统安装包 二 安装Hyper v 三 运行Android安装包 四 安装组策略编辑器 五 配置Android环境 六 安装安卓apk格式app 一 获取安卓子系统安装包 百度云盘获取包 链接 xff1a https p
  • python-切割字符串成为列表(split函数)

    split函数切割字符串成为列表 在python的input时 xff0c 我们接收都是string类型 information span class token operator 61 span span class token buil
  • MyBatis实现分页查询

    目录 一 基于注解的简单分页查询 1 定义对象 2 Mapper接口 3 Controller类 4 功能实现 二 基于注解的较复杂分页查询 1 定义shop实体类和page分页类 2 Mapper接口 3 Controller类 4 功能
  • python 读取word表格中的表格

    解决方案 xff1a 在网上没有找到可行的嵌套表格内容读取方法 查看python docx包源代码找到以下两种解决方案 xff1a 方案一 xff1a 按行列读到单元格后再取tables xff0c 此处table cell tables值
  • sublime配置C/C++并调试

    文章目录 前言1 工具准备1 1 sublime的安装1 2 MinGw的安装和配置 2 开始配置2 1 MinGw路径放进环境变量2 2 sublime的配置 3 开始使用3 1 运行代码3 2 调试代码 前言 本文主要讲关于sublim
  • 洛谷P1025 [NOIP2001 提高组] 数的划分(DP)

    题目描述 将整数 n n n 分成 k k k 份 xff0c 且每份不能为空 xff0c 任意两个方案不相同 xff08 不考虑顺序 xff09 例如 xff1a
  • 【Rust深入浅出-5】拓展数据类型

    Rust深入浅出 5 拓展数据类型 第一章Hello World 第二章 变量和基本数据类型 第三章 运算符 第四章 类型转换 第五章 拓展数据类型 文章目录 Rust深入浅出 5 拓展数据类型前言slice切片tuple元组索引match
  • sort 函数排序之cmp浅析

    1 一般来说 xff0c sort可对整型和浮点型数据进行排序 xff0c 排序从小到大 xff0c 如果需要变为从大到小 xff0c 那么我们可以定义一个cmp函数 xff0c 定义如下 xff1a bool cmp int x int
  • 魔导师晨拥

    链接 xff1a 登录 专业IT笔试面试备考平台 牛客网 来源 xff1a 牛客网 魔导师晨拥是 炉石传说 中的一张传说卡牌 魔导师晨拥的英雄技能为初始造成 222 点伤害 xff0c 如果恰好消灭某个随从 xff0c 则伤害永久增加 11
  • Royal TSX常见问题:解决远程桌面(RDP)连接错误

    Royal TSX mac破解版是一款帮助用户管理桌面的Mac桌面管理软件 xff0c Royal TSX for mac为你提供方便安全的访问远程系统 Royal TSX专为服务器管理员 系统工程师 开发人员和IT信息工作者开发设计 xf
  • 解决jupyter notebook :No module named ‘tensorflow‘ 及python.exe无法找到入口问题及500 : Internal Server Error

    目录 jupyter notebook ModuleNotFoundError No module named 39 tensorflow 39 问题 可能性1 xff1a tensorflow版本与python版本不匹配 可能性2 xff
  • Ceph安装步骤1——基础Ceph集群安装

    一 基础环境 本文所搭建环境为Centos 7 内核4 17版本 xff0c 安装Ceph版本为luminous 一共配置三台机器 xff0c 每台机器的IP地址和主机名称分别为 xff1a 192 168 1 131 ceph admin
  • 远程桌面--某些设置由你的组织管理

    解决某些设置由你的组织管理 在cmd的运行里输入 gpedit msc 选择 计算机配置 gt 选择 管理模块 gt 选择 Windows组件 gt 选择 远程桌面服务 gt 选择 远程 桌面会话主机 gt 选择 连接 gt 右击 允许用户
  • 数据结构--第三章--栈和队列--知识点回顾

    第三章 栈和队列 一 基本知识点 1 栈 队列和线性表的异同 2 顺序栈的基本运算算法设计 3 链栈的基本运算算法设计 4 顺序队的基本运算算法设计 5 环形队列和非环形队列的特点 6 链队的基本运算算法设计 7 利用栈 队列求解复杂的应用
  • 实验四 SQL连接查询

    一 实验目的 xff1a 掌握SQL连接查询语句 二 实验内容和主要步骤 xff1a 查询每个学生及其选修成绩的情况 select sno cno Grade from sc 分别用左外连接和右外连接实现查询所有学生信息及其选修成绩的情况