SQL编程题复习(24/9/19)
练习题 x25
- 10-145 查询S001学生选修而S003学生未选修的课程(MSSQL)
- 10-146 检索出 sc表中至少选修了’C001’与’C002’课程的学生学号
- 10-147 查询平均分高于60分的课程(MSSQL)
- 10-148 检索C002号课程的成绩最高的二人学号,姓名与成绩(`——建议二刷`)
- 10-149 统计每个民族的学生总人数
- 10-150 统计每种商品的销售数量
- 10-151 将student表中的数计学院的学生信息插入到stu表中。
- 10-152 按城市所属的省份统计省份下所有城市的人口(`——建议二刷`)
- 10-153 查询各厂商生产的PC的最高价格
- 10-154 查询至少生产三种不同速度PC的厂商(`——建议二刷`)
- 10-155 查询生产三种不同型号的PC的厂商
- 10-156 查询速度低于任何PC的便携式电脑
- 10-157 查询在两种或两种以上PC机上出现的硬盘容量
- 10-158 查询拥有相同速度和内存的PC机的成对的型号,输出结果属性名分别为model1,model2(`———建议二刷`)
- 10-159 查询选修张老师讲授所有课程的学生(`——建议二刷`)
- 10-160 计算每位同学获得的总学分,并将所有学生的总学分按学号升序排序后一起插入到totalcredit表中(`——建议二刷`)
- 10-161 检索出学生‘张三’选修的所有及格的课程及成绩,最后计算他所获得的总学分。输出成绩结果集按课程号升序排序(`——建议二刷`)
- 10-162 查询平均成绩最高的前3名同学的学号,姓名,性别及年龄。假设当前为2020年,年龄仅按年计算.
- 10-163 显示已修数据库的同学信息,包括学号、姓名、班级名称
- 10-164 请设计一个视图V_average_point,计算学生平均绩点(`——建议二刷`)
- 10-165 建立’天津’的供应商视图vSup(`创建视图`)
- 10-166 删除没有销售过的产品
- 10-167 查询’A01’仓库中的职工中比’A02’任意一个职工薪水少的职工编号与姓名
- 10-168 创建一个每种货物的销售数量的视图good_total,要求是在2010年04月01日到2010年7月31日之间销售的货品,字段包括(gid,total)(`创建视图`)
- 10-169 检索李玉敏选修的课程编号及成绩
10-145 查询S001学生选修而S003学生未选修的课程(MSSQL)
-- 在S001选修的课程中,但S003未选的课程
select cno 课程号
from sc
where sno='S001'
and cno not in (select cno -- 1.S003选修的课程from scwhere sno='S003'
)
10-146 检索出 sc表中至少选修了’C001’与’C002’课程的学生学号
select sno 学号
from sc
where cno in('C001','C002') -- 1.至少选C001、C002
group by sno
having count(cno) >=2 -- 2.至少选修两门
10-147 查询平均分高于60分的课程(MSSQL)
select cou.cno 课程号,cname 课程名
from cou,sc
where cou.cno=sc.cno
group by cou.cno,cname
having avg(grade)>60-- 避免 ambiguous 错误
10-148 检索C002号课程的成绩最高的二人学号,姓名与成绩(——建议二刷)
select top 2sc.sno,sname,grade
from sc,stu
where cno='C002'
and sc.sno=stu.sno
order by grade desc-- limit num 不行就使用 top num
-- 建议二刷
10-149 统计每个民族的学生总人数
select nation 民族,count(*) 总人数
from student
group by nation
10-150 统计每种商品的销售数量
select gid 商品编号,sum(quantity) 销售总数量
from recorder
group by gid
10-151 将student表中的数计学院的学生信息插入到stu表中。
insert into stu
select *
from student
where dept = '数计学院'
10-152 按城市所属的省份统计省份下所有城市的人口(——建议二刷)
浙江省:杭州,宁波,温州
江苏省:苏州,南京,无锡
请写sql统计出浙江省和江苏省所有人口
select name,sum(population) population
from (select case when name in('杭州','宁波','温州') then '浙江' when name in('苏州','南京','无锡') then '江苏'end name,populationfrom city
) temp
group by name-- 派生表查询 + case when 条件 then value
-- end 取别名
10-153 查询各厂商生产的PC的最高价格
select maker,max(price) max_price
from product,pc
where product.model=pc.model
and type='个人电脑'
group by maker
10-154 查询至少生产三种不同速度PC的厂商(——建议二刷)
-- 至少生产 三种不同速度PC的 厂商select maker
from (select distinct maker,speed -- 1.一定要去重from pc,productwhere pc.model=product.modeland type='个人电脑'
) temp
group by maker
having count(speed)>=3 -- 2.为了使用count()函数
10-155 查询生产三种不同型号的PC的厂商
-- select maker
-- from product
-- where type='个人电脑'
-- group by maker
-- having count(model) >= 3select maker
from product
where model in (select modelfrom pc
)
group by maker
having count(model) >= 3
10-156 查询速度低于任何PC的便携式电脑
-- 速度 低于任何PC 的便携式电脑
-- laptop速度比最小的pc的速度还小
select model
from laptop
where speed < (select min(speed)from pc
)
10-157 查询在两种或两种以上PC机上出现的硬盘容量
select hd
from pc
group by hd
having count(*) >= 2
10-158 查询拥有相同速度和内存的PC机的成对的型号,输出结果属性名分别为model1,model2(———建议二刷)
-- 拥有 相同速度和内存 的PC机 的成对 的型号
select a.model model1,b.model model2
from pc a,pc b
where a.speed=b.speed
and a.ram=b.ram
and a.model < b.model -- 避免重叠计算-- !!!建议二刷
10-159 查询选修张老师讲授所有课程的学生(——建议二刷)
-- 张老师 所讲授的(所有课程) 的学生-- 查询张老师所教课程的课程号
select sname
from stu
where sno in (select sno -- 2.查询满足条件的人 的学号from scwhere cno in (select cno -- 1.张老师所教课程 的课程号from couwhere teacher='张老师')group by sno -- 3.通过学号分组having count(cno) = ( -- 4.每个人选课数量select count(*) -- 2.张老师所教课程 的课程号 的数量from couwhere teacher='张老师')
)-- 多表嵌套查询
-- 建议二刷
10-160 计算每位同学获得的总学分,并将所有学生的总学分按学号升序排序后一起插入到totalcredit表中(——建议二刷)
注意:
1)当某门课程成绩在60分以上时才能合计计入总学分
2)如果某学生尚未选修任何课程时,总学分计为0,并插入到totalcredit表中
-- 当某门课程成绩在60分以上时 才能合计计入总学分
-- case when grade>=60 then credit
-- else 0 end 取别名insert into totalcredit
select sno,sum(credit)
from (select stu.sno,case when grade>=60 then creditelse 0 end creditfrom stuleft join sc on stu.sno=sc.snoleft join cou on sc.cno=cou.cno
) temp
group by sno
order by sno asc-- 多表连接
-- 左连接 stu 表
-- 建议二刷
10-161 检索出学生‘张三’选修的所有及格的课程及成绩,最后计算他所获得的总学分。输出成绩结果集按课程号升序排序(——建议二刷)
注意:选课成绩在60分以上才能获得相应的学分。cou表中credit列为某课程的学分值 。假定学生姓名没有重名的情
-- select
-- cno 课程号,
-- cname 课程名,
-- grade 成绩,
-- credit 学分
-- from -- 方法一
-- select
-- cou.cno 课程号,
-- cname 课程名,
-- grade 成绩,
-- credit 学分
-- from cou
-- join (
-- select cno,grade -- 查询张三选修的课程和成绩
-- from sc
-- where grade > 60
-- and sno in (
-- select sno-- 1.查询张三的学号
-- from stu
-- where sname = '张三'
-- )
-- ) temp
-- on cou.cno=temp.cno-- union
-- select
-- stu.sname,
-- '所有及格课程',
-- '合计总学分',
-- sum(credit)
-- from stu,cou,sc
-- where stu.sno=sc.sno
-- and cou.cno=sc.cno
-- and stu.sname='张三'
-- and grade > 60-- order by 课程号-- -- 子查询、派生表查询、union
-- -- order by 不能写在union之前-- 方法二
select cou.cno 课程号,cname 课程名,grade 成绩,credit 学分
from stu,cou,sc
where stu.sno=sc.sno
and cou.cno=sc.cno
and grade >= 60
and sname='张三'unionselect sname,'所有及格课程','合计总学分',sum(credit) 学分
from stu,cou,sc
where stu.sno=sc.sno
and cou.cno=sc.cno
and grade >= 60
and sname='张三'
-- order by cou.cno -- err
-- -- Table 'cou' from one of the SELECTs cannot be used in field list
order by 课程号-- 多表等值连接
-- 建议二刷
10-162 查询平均成绩最高的前3名同学的学号,姓名,性别及年龄。假设当前为2020年,年龄仅按年计算.
selecttemp.sno 学号,sname 姓名,sex 性别,2020 - year(birdate) 年龄,平均成绩
from stu
join ( select sno,avg(grade) 平均成绩 -- 1.from scgroup by sno
) temp
on stu.sno=temp.sno
order by temp.平均成绩 desc
limit 3-- 1.在sc表中查询各个同学的平均成绩
-- 2.多表连接stu
10-163 显示已修数据库的同学信息,包括学号、姓名、班级名称
-- select SId,SName,GName
-- from select temp.SId,temp.SName,grade.GName
from grade
join (select SId,GId,SNamefrom studentwhere SId in (select SId -- 2.查询选数据库学生的学号from scwhere CId = (select CId -- 1.查询数据库的课程序号CIdfrom coursewhere CName='数据库'))
) temp
on grade.GId=temp.GId-- 派生表查询
10-164 请设计一个视图V_average_point,计算学生平均绩点(——建议二刷)
成绩转换成绩点规则

create view V_average_point as
select Sdept,temp.Sno,avg(point) Average_point
from (select Sdept,SC.Sno,case when Grade>=60 then (Grade-50)/10when Grade<60 then 0end pointfrom SC,Student,Coursewhere SC.Sno=Student.Snoand SC.Cno=Course.Cno
) temp
group by temp.Sno-- 先多表连接查询学生的绩点
-- 使用派生表查询
-- 建议二刷!!!
10-165 建立’天津’的供应商视图vSup(创建视图)
create view vSup as
select *
from supplier
where City = '天津'
10-166 删除没有销售过的产品
delete
from product
where Pid not in (select Pid -- 1.查询有销售记录的商品from orders
)
10-167 查询’A01’仓库中的职工中比’A02’任意一个职工薪水少的职工编号与姓名
select Eid,EName
from employee
where Salary < any(select Salaryfrom employeewhere Wno = 'A02'
)
and Wno = 'A01'-- any函数
-- 查询比任意一个员工薪水少的人
10-168 创建一个每种货物的销售数量的视图good_total,要求是在2010年04月01日到2010年7月31日之间销售的货品,字段包括(gid,total)(创建视图)
create view good_total as
select gid,sum(quantity) total
from sale_recorder
where sale_date >= '2010-04-01'
and sale_date <= '2010-07-31'
group by gid-- create view good_total as
-- select gid,sum(quantity) total
-- from sale_recorder
-- where sale_date between '2010-04-01'
-- and '2010-07-31'
-- group by gid-- 创建视图
-- create view 视图名 as
10-169 检索李玉敏选修的课程编号及成绩
select cno,grade
from student
join score on student.sno=score.sno
where sname='李玉敏'
相关文章:
SQL编程题复习(24/9/19)
练习题 x25 10-145 查询S001学生选修而S003学生未选修的课程(MSSQL)10-146 检索出 sc表中至少选修了’C001’与’C002’课程的学生学号10-147 查询平均分高于60分的课程(MSSQL)10-148 检索C002号课程的成绩最高的二人学号…...
提前解锁 Vue 3.5 的新特性
Vue 3.5 是 Vue.js 新发布的版本,虽然没有引入重大变更,但带来了许多实用的增强功能、内部优化和性能改进。 1. 响应式系统优化 Vue 3.5 进一步优化了响应式系统的性能,并且减少内存占用。尤其在处理大型或深度嵌套的响应式数组时ÿ…...
web基础—dvwa靶场(十)XSS
XSS(DOM) 跨站点脚本(XSS)攻击是一种注入攻击,恶意脚本会被注入到可信的网站中。当攻击者使用 web 应用程序将恶意代码(通常以浏览器端脚本的形式)发送给其他最终用户时,就会发生 XSS 攻击。允许这些攻击成…...
搜索引擎onesearch3实现解释和升级到Elasticsearch v8系列(五)-聚合
聚合 聚合基于Query结果的统计,执行过程是搜索的一部分,Onesearch支持0代码构建聚合,聚合目前完全在引擎层 0代码聚合 上图是聚合的配置,包括2个pdm文档聚合统计 termsOfExt term桶聚合,统计ext,如&…...
Pandas中df常用方法介绍
目录 常用方法df.columnsdf.indexdf.valuesdf.Tdf.sort_index()df.sort_values() 案例 常用方法 df.columns df.columns 是 Pandas 中 DataFrame 对象的一个属性,用于获取 DataFrame 中的列标签(列名)。 基本语法如下: df.col…...
LabVIEW中AVI帧转图像数据
在LabVIEW中,有时需要将AVI视频文件的帧转换为图像数据进行进一步处理。下面详细讲解了如何从AVI视频提取单帧并将其转换为图像数据集群,以便与其他图像处理VI兼容。 问题背景: 用户已经拥有能够处理JPEG图像数据集群的VI,现在希…...
并发与并行的区别:深入理解Go语言中的核心概念
在编程中,并发与并行的区别往往被忽视或误解。很多开发者在谈论这两个概念时,常常把它们混为一谈,认为它们都指“多个任务同时运行”。但实际上,这种说法并不完全正确。如果我们深入探讨并发和并行的区别,会发现它不仅是词语上的不同,更是编程中非常重要的抽象层次,特别…...
小小扑克牌算法
1.定义一个扑克牌类Card: package democard; public class Card {public String suit;//表示花色public int rank;//表示牌点数Overridepublic String toString() {return "{"suit rank"}";}//实例方法,初始化牌的点数和花色public…...
【第34章】Spring Cloud之SkyWalking分布式日志
文章目录 前言一、准备1. 引入依赖 二、日志配置1. 打印追踪ID2. gRPC 导出 三、完整日志配置四、日志展示1. 前端2. 后端 总结 前言 前面已经完成了请求的链路追踪,这里我们通过SkyWalking来处理分布式日志; 场景描述:我们有三个服务消费者…...
easy-es动态索引支持
背景 很多项目目前都引入了es,由于es弥补了mysql存储及搜索查询的局限性,随着技术的不断迭代,原生的es客户端使用比较繁琐不直观,上手代价有点大,所以easy-es框架就面世了,学习成本很低,有空大…...
SWC(Speedy Web Compiler)
概述 SWC 由 Rust 编写, 既可用于编译,也可用于打包。 对于编译,它使用现代 JavaScript 功能获取 JavaScript / TypeScript 文件并输出所有主流浏览器支持的有效代码。 SWC在单线程上比 Babel 快 20 倍,在四核上快 70 倍。 简…...
【计算机网络】传输层协议UDP
目录 一、端口号1.1 端口号范围划分1.2 认识知名端口号 二、UDP协议2.1 UDP协议端格式2.2 UDP的特点2.3 UDP的缓冲区2.4 UDP使用注意事项2.5 基于UDP的应用层协议 一、端口号 传输层协议负责数据的传输,从发送端到接收端。端口号标识一个主机上进行通信的不同的应用…...
Docker+PyCharm远程调试环境隔离解决方案
DockerPyCharmMiniconda实现深度学习代码远程调试和环境隔离 本文详细介绍了如何在局域网环境下,利用Docker、PyCharm和Miniconda构建一个高效的深度学习远程调试平台。首先在服务器(server)上,通过Docker构建包含不同CUDA环境的镜…...
数字化转型的理论框架对比:从多维视角指导企业成功变革对比DPBOKIT4ITCOBITTOGAF
数字化转型的多维框架解析 在数字化时代,企业如何有效实现数字化转型已成为其生存和发展的关键问题。然而,市场上关于数字化管理的各种框架和理论并存,企业需要根据自身的需求选择最适合的指导路径。本文将通过对几个核心理论框架的对比&…...
【C++掌中宝】深入解析C++命名空间:有效管理代码的利器
文章目录 前言1. namespace 的价值2. namespace 的定义3. 命名空间的本质4. 嵌套的命名空间5. 命名空间的使用6. using 指令7. 补充结语 前言 假设这样一种情况,当一个班上有两个名叫 Zara 的学生时,为了明确区分它们,我们在使用名字之外&am…...
2024/9/21 leetcode 21.合并两个有序链表 2.两数相加
目录 21.合并两个有序链表 题目描述 题目链接 解题思路与代码 2.两数相加 题目描述 题目链接 解题思路与代码 --------------------------------------------------------------------------- 21.合并两个有序链表 题目描述 将两个升序链表合并为一个新的 升序 链表并返…...
Python学习的主要知识框架
Python的主要学习知识点非常广泛且深入,但我可以为您概括一些核心的学习领域,帮助您系统地掌握Python编程。以下是Python学习的主要知识框架: 1. Python基础语法 数据类型:整数、浮点数、字符串、布尔值、列表、元组、字典、集合…...
LLaMA-Factory 使用 alpaca 格式的数据集
LLaMA-Factory 使用 alpaca 格式的数据集 flyfish alpaca 格式最初与Stanford大学的一个研究项目相关联,该项目旨在通过少量高质量的数据来微调大型语言模型。它受到了Alpaca模型(一种基于LLaMA的指令跟随模型)的影响,该模型是在…...
【Mysql】Mysql数据库基础
1.❤️❤️前言~🥳🎉🎉🎉 Hello, Hello~ 亲爱的朋友们👋👋,这里是E绵绵呀✍️✍️。 如果你喜欢这篇文章,请别吝啬你的点赞❤️❤️和收藏📖📖。如果你对我的…...
一文彻底让你搞懂轨迹规划(总结)
机器人在运行中不可避免的会进行运动,那么就会产生出轨迹规划的概念。 轨迹规划的特点:用一定的函数形式表示控制量(位置,速度,加速度)的控制律,根据约束或最优目标,求取控制控制参…...
XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...
大数据零基础学习day1之环境准备和大数据初步理解
学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...
django filter 统计数量 按属性去重
在Django中,如果你想要根据某个属性对查询集进行去重并统计数量,你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求: 方法1:使用annotate()和Count 假设你有一个模型Item,并且你想…...
【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...
SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...
css3笔记 (1) 自用
outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size:0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格ÿ…...
Java面试专项一-准备篇
一、企业简历筛选规则 一般企业的简历筛选流程:首先由HR先筛选一部分简历后,在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如:Boss直聘(招聘方平台) 直接按照条件进行筛选 例如:…...
使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...
在树莓派上添加音频输入设备的几种方法
在树莓派上添加音频输入设备可以通过以下步骤完成,具体方法取决于设备类型(如USB麦克风、3.5mm接口麦克风或HDMI音频输入)。以下是详细指南: 1. 连接音频输入设备 USB麦克风/声卡:直接插入树莓派的USB接口。3.5mm麦克…...
FFmpeg avformat_open_input函数分析
函数内部的总体流程如下: avformat_open_input 精简后的代码如下: int avformat_open_input(AVFormatContext **ps, const char *filename,ff_const59 AVInputFormat *fmt, AVDictionary **options) {AVFormatContext *s *ps;int i, ret 0;AVDictio…...
