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

MySql基础34题写题记录(11-20)

11、取得最后入职的5名员工

select ename from emp order by hiredate desc limit 5;

12、取得每个薪水等级有多少员工

    先取每个员工的薪水等级

Select e.ename,s.grade grade

From emp e

Join salgrade s

On e.sal between s.losal and s.hisal

    接着直接分组求

Select a.grade,count(*)From (Select e.ename,s.grade gradeFrom emp eJoin salgrade sOn e.sal between s.losal and s.hisal) aGroup by grade;

13、面试题

(1)找出没选过“黎明”老师的所有学生姓名

Select distinct s.sname

From sc

Join s

On sc.sno = s.sno

Join c

On sc.cno = c.cno

Where c.cteacher != ‘黎明’;

Select s.sname,c.cname,c.cno

From sc

Join s

On sc.sno = s.sno

Join c

On sc.cno = c.cno

Where c.cteacher != ‘黎明’;

       第一个问题是用的cmd窗口输入,因此编码有问题,无法得知是代码的问题还是编码的问题,因此把老师名字改成课号

       第二个问题是和之前一样的,因为笛卡尔积,把所有的都求出来了,一个人选了很多门课,题目的要求是,只要存在,即删去这个人名,但是程序的只要这一行数据没有,就保留,最后就会把不该保留的保留

       尝试按照名字分组,使用having对分组数据进行再次过滤

Select s.sname,c.cname,c.cno

From sc

Join s

On sc.sno = s.sno

Join c

On sc.cno = c.cno

Where s

    还是失败了,采用先把选5号课的学生找出来,再用not in求

    选5号课的学生(要找老师也是同理)

Select s.sname

From s

Join sc

on s.sno = sc.sno

Where sc.cno = 5;

    接着排除

Select s.snameFrom sWhere s.sname not in (Select s.snameFrom sJoin scon s.sno = sc.snoWhere sc.cno = 5);

(2)先找到学生未及格门数的表

       Selects.sname,avg(sc.scgrade)FromSRight Join //这里右联,应该是为了完整性,但是看起来好像不用ScOns.sno = sc.snowheresc.scgrade < 60Group bySnoHaving

           Cout(grade) >= 2;//改成Cout(s.sname) >= 2,因为在成绩表中,一个学号对应多个课号,对应有多个成绩,因此前面where查到的不及格的课程,有几个就有几个名字,所以就统计有多少个名字就知道有多少科没过

(3)即学过 1 号课程又学过 2 号课所有学生的姓名。

    找出学过一号课程的学生学号,再找到学过二号课程的学生学号,然后找重合的,最后联合s表,查到学生名字

Select s.snameFrom (select sc.sno,sc.cno from sc where sc.cno = 1 ) aJoin (select sc.sno,sc.cno from sc where sc.cno = 2 ) bOn b.sno = a.snoJoin sOn a.sno = s.sno;

14、列出所有员工及领导的姓名

Select a.ename,b.ename mgrFrom emp aLeft Join emp bOn a.mgr = b.empno;

15、列出受雇日期早于其直接上级的所有员工的编号,姓名,部门名称

    这里的问题是,入职越早,时间就越小,所以入职早的反而小于入职晚的

先得到员工编号,姓名,部门编号,上级编号表,并求得受雇日期较早的员工

Select a.ename,a.empno,a.deptno,b.empno mgr

From emp a

Left Join emp b

On a.mgr = b.empno

Where a.hiredate < b.hiredate;

    内连,得到部门名称

Select d.dname,c.empno,c.enameFrom (Select a.ename,a.empno,a.deptno,b.empno mgrFrom emp aLeft Join emp bOn a.mgr = b.empnoWhere a.hiredate < b.hiredate) cJoin dept dOn d.deptno = c.deptno;

16、列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门.

Select e.*,d.dnameFrom emp eRight Join dept dOn e.deptno = d.deptno;

17、列出至少有5个员工的所有部门

    先找到有5个及以上员工的部门编号

Select deptno,count(*) sum

From emp

Group by deptno

Having count(*) >= 5;

    再多表查询,找到部门名字

Select d.dname,a.sumFrom dept dJoin (Select deptno,count(*) sumFrom empGroup by deptnoHaving count(*) >= 5) aOn d.deptno = a.deptno;

18、列出薪金比"SMITH"多的所有员工信息.

Select *From empWhere sal > (select sal from emp where ename = ‘smith’);

19、列出所有"CLERK"(办事员)的姓名及其部门名称,部门的人数

    这里总是报错,最后发现是要把where语句放到join on 语句后面,要不然执行顺序不对

    找到办事员的姓名,部门名称,再和部门人数表联合,得到部门人数

Select e.ename,d.dnameFrom emp eJoin dept dOn e.deptno = d.deptnoJoin (Select deptno,count(*) sumFrom empGroup by deptno) aOn e.deptno = a.deptnoWhere e.job = ‘clerk’

20、列出最低薪金大于1500的各种工作及从事此工作的全部雇员人数

    先找个每个工作的最低薪资和雇员人数

Select min(sal) min_sal,job,count(ename)

From emp

Group by job

    再找到大于1500的

Select *From (Select min(sal) min_sal,job,count(ename)From empGroup by job) aWhere a.min_sal >1500;

相关文章:

MySql基础34题写题记录(11-20)

11、取得最后入职的5名员工 select ename from emp order by hiredate desc limit 5; 12、取得每个薪水等级有多少员工 先取每个员工的薪水等级 Select e.ename,s.grade grade From emp e Join salgrade s On e.sal between s.losal and s.hisal 接着直接分组求 Select …...

设计模式——单例模式(1)

一、写在前面 设计模式有23种&#xff0c;每一篇是一种模式&#xff0c;从简单到难&#xff0c;第一篇从最简单的单例模式试试水创建型模式 单例模式工厂方法模式抽象工厂模式原型模式建造者模式 结构型模式行为型模式 二、介绍 单例模式是指一个类只能创建出一个对象&#…...

剧本杀小程序:提升玩家游戏体验,带动经济效益

剧本杀作为一个新兴游戏方式&#xff0c;能够满足年轻人的社交需求&#xff0c;让大众体验到不太一样的人生&#xff0c;在角色中进行演绎。这种独特的游戏模式吸引了众多的年轻玩家&#xff0c;由此&#xff0c;剧本杀行业进入了爆发期。 如今&#xff0c;在科技的不断创新下…...

Linux系统通过编辑crontab来设置定时任务---定时关机

在Linux系统中&#xff0c;crontab 是用来设置周期性被执行的指令的守护进程。通过编辑 crontab&#xff0c;您可以安排定时任务&#xff0c;比如定时关机、定时备份文件、定时运行脚本等。以下是如何编辑 crontab 来设置定时任务的步骤&#xff1a; 打开终端&#xff1a;您可以…...

Mac电脑word文档误删,4个方法快速恢复

对于使用Mac的用户来说&#xff0c;丢失重要的Word文档可能会为学习或工作带来严重的影响。不过&#xff0c;幸运的是&#xff0c;关于mac word 文档恢复方法还是有很多的&#xff0c;通常帮助Mac用户轻松找回丢失的word文档。接下来&#xff0c;小编将介绍一些在Mac上恢复丢失…...

threejs-基础材质设置

一、介绍 主要内容&#xff1a;基础材质(贴图、高光、透明、环境、光照、环境遮蔽贴图) 主要属性&#xff1a; side: three.DoubleSide, //设置双面 color: 0xffffff, //颜色 map: texture, //纹理 transparent: true, // 透明度 aoMap: aoTexture, //ao贴图 aoMapIntensity: 1…...

【大模型开发】AI提示词框架:解锁ICIO、CRISPE、BROKE和RASCEF的强大潜力

作为一名经验丰富的程序员,您是否曾感到在与AI助手交互时难以获得理想的输出?本文将为从事AI开发或经常使用AI工具的技术人员介绍四个强大的AI提示词框架:ICIO、CRISPE、BROKE和RASCEF。这些框架能帮助您更有效地与AI模型沟通,提高工作效率。 1. ICIO框架:简洁而有力 IC…...

Rust学习如何更有信心?

关于如何学习Rust&#xff0c;在Hacker News上有一篇非常火的教程&#xff0c;作者通过自己的Rust学习经历&#xff0c;向大家指出了一条如何学习Rust的路径。 学习一门编程语言必不可少的是阅读技术书籍和编写代码&#xff0c;要想掌握Rust&#xff0c;两者的交替学习至关重要…...

3个简单易懂的方法,教你马上掌握excel表格数据打印技巧

在EXCEL表格里制作表格后&#xff0c;表格的数据有可能不正好是一页&#xff0c;如果就这样打印出来&#xff0c;数据有可能不完整&#xff0c;表格也不美观&#xff0c;还浪费纸张&#xff0c;那么如何将表格打印在一张纸上呢&#xff1f;下面小编为你介绍几种方法和解决方案&…...

dbt 增量策略模型实战教程

上文我们介绍了增量策略的理论知识&#xff0c;本文结合实际场景介绍如何合理利用增量策略&#xff0c;内容包括应用场景、常见问题及解决方案。 应用场景 增量模型是定义如何增量向数据模型添加数据的有效方法——假设我们有描述信用卡交易的数据表——我们创建DBT模型&#…...

【含文档】基于Springboot+Android的校园论坛系统(含源码+数据库+lw)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 系统定…...

Go版数据结构 -【8.4 快速排序】

8.4 快速排序 快速排序是一种分而治之的排序算法。它通过随机选择一个基准元素&#xff0c;将数组分为两部分。 一部分比基准元素小&#xff0c;另一部分比基准元素大&#xff0c;之后对两部分排序。 快速排序以其平均情况下的 O(n log n) 时间复杂度和良好的性能而广泛应用…...

达梦DBLINK访问ORACLE配置方法

目录 1、概述 2、测试环境 3、语法简介 4、配置访问DM的DBLINK 5、配置访问ORACLE的DBLINK 5.1 通过OCI配置 5.2 通过ODBC配置 1、概述 本文介绍了达梦DBLINK的配置方法。有3部分内容&#xff0c;1&#xff09;达梦访问到达梦的配置方法&#xff1b;2&#xff09;通过OC…...

基础知识1

目录 1、gcd最大公因数 2、最小公倍数 3、素数问题 ①简单数学求法 ②素数筛 ③线性筛 1、gcd最大公因数 int gcd(int a,int b){return b0?a:gcd(b,a%b);} 做题过程中&#xff0c;如果数据太大&#xff0c;需要边做边对分子分母进行约分 2、最小公倍数 int a,b;scanf(&…...

网页前端开发之Javascript入门篇(9/9):对象

Javascript对象 什么是对象? 答&#xff1a;其概念跟 Python教程 的字典基本相似&#xff0c;虽然存有一些差异&#xff0c;不过对于目前的教程来讲可以忽略。 下面是对象的语法&#xff1a; var aaa {"弓" : "张","木" : "李",&…...

Oracle RAC IPC Send timeout detected问题分析处理

一、报错信息 今天在进行数据库巡检时&#xff0c;在集群节点1发现了IPC相关报错信息&#xff1a; 2024-10-10T10:22:06.84631708:00 IPC Receiver dump detected. Sender instance 2 Receiver pnum 277 ospid 377527 [oraclezxsszpt-sjkfwq1 (PPA6)], pser 124403 2024-10-1…...

QT 实现QMessageBox::about()信息自定义显示

这是我记录Qt学习过程的第四篇心得文章&#xff0c;主要是方便自己编写的应用程序显示“关于信息”&#xff0c;对QMessageBox::about()输入信息进行规范&#xff0c;可以设置应用程序名称&#xff0c;通过定义宏从pro文件获取应用程序版本号&#xff0c;以及编译程序的QT版本、…...

(C++进阶)C++20

目录 一、概述 二、新特性 1. 模块&#xff08;Modules&#xff09;功能 2. 概念&#xff08;Concepts&#xff09;功能 3. 范围&#xff08;Ranges&#xff09;功能 4. 协程&#xff08;Coroutines&#xff09;功能 5. 三路比较运算符&#xff08;Spaceship Operator&a…...

【常用的安装破解版指令】MAC安装破解版软件显示文件损坏时

MAC安装破解版软件显示文件损坏时 复制以下命令粘贴到终端后 sudo xattr -rd com.apple.quarantine 打开Finder&#xff08;访达&#xff09;&#xff0c;点击左侧的 应用程序&#xff0c;将应用拖进终端中&#xff0c;然后按键盘的回车键&#xff08;return&#xff09;&…...

【QT Quick】定时器和线程:定时器Timer

在现代用户界面开发中&#xff0c;动态更新内容、处理定时任务或异步任务是常见的需求&#xff0c;尤其在复杂应用中可能会遇到界面阻塞的问题。在 Qt Quick 中&#xff0c;定时器&#xff08;Timer&#xff09;和多线程是两种主要的解决方案&#xff0c;用于避免这种阻塞现象。…...

Chapter03-Authentication vulnerabilities

文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面

代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口&#xff08;适配服务端返回 Token&#xff09; export const login async (code, avatar) > {const res await http…...

UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)

UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中&#xff0c;UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化&#xf…...

python报错No module named ‘tensorflow.keras‘

是由于不同版本的tensorflow下的keras所在的路径不同&#xff0c;结合所安装的tensorflow的目录结构修改from语句即可。 原语句&#xff1a; from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后&#xff1a; from tensorflow.python.keras.lay…...

MFC 抛体运动模拟:常见问题解决与界面美化

在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...

GitHub 趋势日报 (2025年06月06日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...

Git常用命令完全指南:从入门到精通

Git常用命令完全指南&#xff1a;从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...

基于PHP的连锁酒店管理系统

有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发&#xff0c;数据库mysql&#xff0c;前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...

0x-3-Oracle 23 ai-sqlcl 25.1 集成安装-配置和优化

是不是受够了安装了oracle database之后sqlplus的简陋&#xff0c;无法删除无法上下翻页的苦恼。 可以安装readline和rlwrap插件的话&#xff0c;配置.bahs_profile后也能解决上下翻页这些&#xff0c;但是很多生产环境无法安装rpm包。 oracle提供了sqlcl免费许可&#xff0c…...

解析“道作为序位生成器”的核心原理

解析“道作为序位生成器”的核心原理 以下完整展开道函数的零点调控机制&#xff0c;重点解析"道作为序位生成器"的核心原理与实现框架&#xff1a; 一、道函数的零点调控机制 1. 道作为序位生成器 道在认知坐标系$(x_{\text{物}}, y_{\text{意}}, z_{\text{文}}…...