当前位置: 首页 > article >正文

实验七 带函数查询和综合查询(2)

1 检索至少选修课程“数据结构”和“C语言”的学生学号
方法一:
select Stu_id
from StudentGrade,Course
where Course.Course_id=StudentGrade.Course_id and
Course_name=‘数据结构’ and
Stu_id in (select Stu_id
from StudentGrade,Course
where Course.Course_id=StudentGrade.Course_id and
Course_name=‘C语言’)

方法二:
select Stu_id
from StudentGrade,Course
where Course.Course_id=StudentGrade.Course_id and
Course_name in(‘数据结构’,‘C语言’)
group by stu_id
having count(*)>=2/以学号分组,该学号选修满足条件的课程数>=2/

2 列出所有班名、班主任、班长、系名。
(请使用连接查询;进一步考虑使用外连接,因为很多班级可能是没有班长的,考虑需要显示所有班级的信息)
select class_name,director,monitor,depar_name
from class left join deparment on (deparment.depar_id=class.depar_id)

3.没有选修以“01”开头的课程的学生学号,姓名,选课的课程号。(用子查询完成,提示not in或not exists。需考虑没选课的学生,仔细对比实验六第5题)

方法一
select student.stu_id,stu_name,course_id
from student,studentgrade
where studentgrade.stu_id not in(select stu_id
from studentgrade
where course_id like ‘01%’)
and student.stu_id=studentgrade.stu_id
union
/没选课的学生信息/
select student.stu_id,stu_name,null
from student where stu_id not in(select stu_id from studentgrade)

/没有选修以“01”开头的课程的学生信息。/
select stu_id,stu_name
from student
where stu_id not in(select stu_id
from studentgrade
where course_id like ‘01%’)
方法二
select student.stu_id,stu_name,course_id
from student,studentgrade
where not exists(select *
from studentgrade
where course_id like ‘01%’ and stu_id=student.stu_id)
and student.stu_id=studentgrade.stu_id
union
/没选课的学生信息/
select student.stu_id,stu_name,null
from student where not exists(select * from studentgrade where stu_id=student.stu_id)

方法三 错误,不以01又以01开头的出现在结果中
select student.stu_id,stu_name,course_id
from student,studentgrade
where exists(select *
from studentgrade
where course_id not like ‘01%’ and stu_id=student.stu_id)
and student.stu_id=studentgrade.stu_id

4.统计各门课程的选修人数,并按人数降序排列,找出排名前三位的课程。(提示:可以使用TOP 3)

select top 3 course_id,count()
from studentgrade
group by course_id
order by count(
) desc

/distinct top 3 course_id,count() 为什么不能解决并列情况?/
select distinct top 3 course_id,count(
)
from studentgrade
group by course_id
order by count(*) desc

5.统计各门课程的选修人数,并按人数降序排列,找出排名前三位的课程。
(上述使用TOP 3,却不能处理人数并列的情况。试考虑一种方法能处理人数并列的情况。)
select course_id,count()
from studentgrade
group by course_id
having count(
) in(select distinct top 3 count()
from studentgrade
group by course_id
order by count(
) desc)
order by count(*) desc

6.检索选修了‘0103’和‘0105’两门课程,并且
‘0103’这门课程成绩高于‘0105’的学生的学号。
select A.stu_id /select A.stu_id,A.course_id,B.course_id,A.grade,B.grade/
from studentgrade A,studentgrade B
where A.stu_id=B.stu_id and A.course_id=‘0103’ and B.course_id=‘0105’
and A.grade>B.grade

7.检索选修了课程“数据结构”和“C语言”两门课程并且
“数据结构”分数高于“C语言”的学生学号和姓名。
select A.stu_id /*select A.stu_id,A.course_id,B.course_id,A.grade,B.grade */
from Studentgrade A,Studentgrade B
where A.stu_id=B.stu_id
and A.course_id in(select course_id from course where course_name=‘数据结构’)
and B.course_id in(select course_id from course where course_name=‘c语言’)
and A.grade>B.grade

相关文章:

实验七 带函数查询和综合查询(2)

1 检索至少选修课程“数据结构”和“C语言”的学生学号 方法一: select Stu_id from StudentGrade,Course where Course.Course_idStudentGrade.Course_id and Course_name‘数据结构’ and Stu_id in (select Stu_id from StudentGrade,Course where Course.Course…...

Bootloader升级功能实现:从理论到工程实践

Bootloader升级功能实现:从原理到工程实践 目录 Bootloader升级功能实现:从原理到工程实践引言1. Bootloader架构解析1.1 分层架构设计1.2 典型启动流程2. 关键设计要素2.1 内存分区规划2.2 看门狗管理策略3. 通信协议实现3.1 基于UDS的升级协议3.2 报文格式规范4. 六大典型案…...

物业软件推动物业行业数字化转型 实现高效管理和优质客户体验

内容概要 在当今高速发展的数字化时代,物业软件的出现不仅使物业管理变得更加高效,也为行业转型提供了强大的支持。通过整合多种功能,物业软件显著提升了管理效率和客户体验。例如,在线收费和停车管理功能,让业主享受…...

GO 库与框架篇

1. 需要重点掌握的库和框架? 输入输出: io,ioutil,fmt,bufio 字符处理: strings,bytes,strconv,regex,unicode,json 日期: 定时器-time.Tick,延时器-time.After/time.AfterFunc 数据库: database/sql 单元测试: testing 非类型安全操作: unsafe 同步:sync-同步操作,atomic-原子…...

24-25出差交流体会-25-01-28

简洁版 如果发现自己走下坡路,工资下降等,如何办? (环境因素等不在此文讨论范围,个人无法改变大环境。) 多思考,是否是自身已经具备的能力在新模式下大幅贬值。 出路只有一条,提升自…...

Linux 学习笔记__Day3

十八、设置虚拟机的静态IP 1、VMware的三种网络模式 安装VMware Workstation Pro之后,会在Windows系统中虚拟出两个虚拟网卡,如下: VMware提供了三种网络模式,分别是:桥接模式(Bridged)、NAT…...

SOME/IP--协议英文原文讲解2

前言 SOME/IP协议越来越多的用于汽车电子行业中,关于协议详细完全的中文资料却没有,所以我将结合工作经验并对照英文原版协议做一系列的文章。基本分三大块: 1. SOME/IP协议讲解 2. SOME/IP-SD协议讲解 3. python/C举例调试讲解 4.1 Speci…...

【方法论】ChatGPT与DeepSeek的联合应用,提升工作效率的新解决方案

标题:ChatGPT与DeepSeek的联合应用,提升工作效率的新解决方案 【表格】ChatGPT与DeepSeek联合应用流程 阶段工具主要任务优势备注初稿生成ChatGPT基于用户输入生成初步内容高效、快速生成内容,适应多种主题适合生成长篇文章、报告、分析等验…...

JWT实现单点登录

文章目录 JWT实现单点登录JWT 简介存在问题及解决方案登录流程后端程序实现前端保存Tokenstore存放信息的缺点及解决 校验流程:为gateway增加登录校验拦截器 另一种单点登录方法:Token+Redis实现单点登录 JWT实现单点登录 登录流程&#xff…...

使用Avalonia UI实现DataGrid

1.Avalonia中的DataGrid的使用 DataGrid 是客户端 UI 中一个非常重要的控件。在 Avalonia 中,DataGrid 是一个独立的包 Avalonia.Controls.DataGrid,因此需要单独通过 NuGet 安装。接下来,将介绍如何安装和使用 DataGrid 控件。 2.安装 Dat…...

特权模式docker逃逸

目录 1.环境 2.上线哥斯拉 3.特权模式逃逸 1.判断是否为docker环境 2.判断是否为特权模式 3.挂载宿主机磁盘到docker 4.计划任务反弹shell 1.环境 ubuntu部署一个存在CVE-2017-12615的docker: (ip:192.168.117.147) kali(ip:192.168.117.128) 哥斯拉 2.上线哥斯拉…...

Ollama+DeepSeek本地大模型部署

1、Ollama 官网:https://ollama.com/ Ollama可以干什么? 可以快速在本地部署和管理各种大语言模型,操作命令和dokcer类似。 mac安装ollama: # 安装ollama brew install ollama# 启动ollama服务(默认11434端口&#xf…...

公司的税收日期的确定(OBCK)

本文主要介绍在S4 HANA OP中S4 HANA公司的税收日期的确定(OBCK)相关设置。具体请参照如下内容: 如果税率是基于日期的,那么以上配置点用来确定基于什么日期来确定最终使用的税率。 如果勾选,则代表以“凭证日期”作为税率确定的日期如果不勾…...

通过高效的侦察发现关键漏洞接管整个IT基础设施

视频教程在我主页简介或专栏里 在这篇文章中, 我将深入探讨我是如何通过详细分析和利用暴露的端点、硬编码的凭据以及配置错误的访问控制,成功获取目标组织关键IT基础设施和云服务访问权限的全过程。 我们先提到目标网站的名称 https://*sub.domain*.co…...

PostGIS笔记:PostgreSQL中表、键和索引的基础操作

创建、查看与删除表 在数据库中创建一个表,使用如下代码: create table streets (id serial not null primary key, name varchar(50));这里的表名是streets,id是主键所以非空,采用serial数据类型,这个数据类型会自动…...

Yolo11 + OCR 营业执照识别+信息抽取(预期后续改用其他ocr更简单,推理预计使用onnxruntim加速,分c++和python两种方式部署)

目录 一 数据集制作 1 labelimg的安装与使用 2 标注方式 3 数据集制作 二 模型训练 三 使用Yolo11 + OCR 实现“营业执照”信息解析完整方案 1 cutLinesforcode.py 2 getBusinessLicenseContentPart.py 3 getPartWords.py 4 pdfTojpg.py 5 main.py 本项目可用于毕业…...

Linux 学习笔记__Day2

目录 十二、上传和下载文件 十三、软件包的安装和卸载 十四、打包和压缩 1、zip命令 2、tar命令 3、其它打包压缩的命令 十五、Linux进程 1、查看进程 2、终止进程 十六、性能分析top 1、top输出结果说明 2、top常用的选项 3、top交互命令 4、demo01.cpp 5、de…...

“腾讯、钉钉、飞书” 会议开源平替,免费功能强大

在数字化时代,远程办公和线上协作越来越火。然而,市面上的视频会议工具要么贵得离谱,要么功能受限,甚至还有些在数据安全和隐私保护上让人不放心。 今天开源君给大家安利一个超棒的开源项目 - Jitsi Meet,这可是我在网…...

接口技术-第4次作业

目录 作业内容 解答 1、设8255A接到系统中,端口A、B、C及控制口地址分别为304H、305H、306H及307H,工作在方式0,试编程将端口B的数据输入后,从端口C输出,同时,将其取反后从端口A输出。 2、下图中&#x…...

【Elasticsearch】Elasticsearch的查询

Elasticsearch的查询 DSL查询基础语句叶子查询全文检索查询matchmulti_match 精确查询termrange 复合查询算分函数查询bool查询 排序分页基础分页深度分页 高亮高亮原理实现高亮 RestClient查询基础查询叶子查询复合查询排序和分页高亮 数据聚合DSL实现聚合Bucket聚合带条件聚合…...

day6手机摄影社区,可以去苹果摄影社区学习拍摄技巧

逛自己手机的社区:即(手机牌子)摄影社区 拍照时防止抖动可以控制自己的呼吸,不要大喘气 拍一张照片后,如何简单的用手机修图? HDR模式就是让高光部分和阴影部分更协调(拍风紧时可以打开&…...

wordpress代码结构解析

WordPress 是一个基于 PHP 和 MySQL 的开源内容管理系统(CMS),广泛用于构建网站和博客。要解析 WordPress 代码,首先需要了解其核心结构、主要文件和常用的函数。以下是 WordPress 代码解析的基本指南: --- ### 1. *…...

【Leetcode 热题 100】416. 分割等和子集

问题背景 给你一个 只包含正整数 的 非空 数组 n u m s nums nums。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 数据约束 1 ≤ n u m s . l e n g t h ≤ 200 1 \le nums.length \le 200 1≤nums.length≤200 1 ≤ n u m s [ i ] ≤ …...

Java定时任务实现方案(四)——Spring Task

Spring Task 这篇笔记,我们要来介绍实现Java定时任务的第四个方案,使用Spring Task,以及该方案的优点和缺点。 ​ Spring Task是Spring框架提供的一个轻量级任务调度框架,用于简化任务调度的开放,通过注解或XML配置的…...

Linux - 进程间通信(2)

目录 2、进程池 1)理解进程池 2)进程池的实现 整体框架: a. 加载任务 b. 先描述,再组织 I. 先描述 II. 再组织 c. 创建信道和子进程 d. 通过channel控制子进程 e. 回收管道和子进程 问题1: 解答1&#xff…...

langchain基础(二)

一、输出解析器(Output Parser) 作用:(1)让模型按照指定的格式输出; (2)解析模型输出,提取所需的信息 1、逗号分隔列表 CommaSeparatedListOutputParser:…...

解除阿里云盘压缩包分享限制的最新工具(2025年更新)

前言 前段时间,为了在阿里云盘分享一些资料,尝试了好多种方法:改文件名后缀,打包自解压,使用将压缩文件追加在图片文件后,还有的一些工具,虽然能伪装文件但并不太好用,最后自己写了…...

2025神奇的数字—新年快乐

2025年,一个神奇的数字,承载着数学的奥秘与无限可能。它是45的平方(45),上一个这样的年份是1936年(44),下一个则是2116年(46),一生仅此一次。2025…...

PWM频率测量方法

测量PWM(脉宽调制)信号的频率是嵌入式系统中的常见需求,尤其是在电机控制、LED调光、传感器信号处理等场景中。 在这里介绍两种测量PWM频率的方法:测频法与测周法。 1、测频(率)法 原理:在闸门…...

神经网络|(七)概率论基础知识-贝叶斯公式

【1】引言 前序我们已经了解了一些基础知识。 古典概型:有限个元素参与抽样,每个元素被抽样的概率相等。 条件概率:在某条件已经达成的前提下,新事件发生的概率。实际计算的时候,应注意区分,如果是计算综…...