SQL刷题笔记day1

1题目

我的代码:

select * from employees
order by hire_date desc
limit 2,1

标准代码:

select * from employees
where hire_date=
(select distinct hire_date 
from employees 
order by hire_date desc 
limit 2,1)

复盘:因为按照入职日期排列,都不一定只有一个,所以要用distinct按照hire_date进行去重分组,这样才能保证取到的是倒数第三个日期,而不仅仅是倒数第三个记录。

2 题目

我的代码:

select *,dept_no
from salaries join dept_manager
on salaries.emp_no=dept_manager.emp_no
order by salaries.emp_no asc

正确答案:

select s.*,d.dept_no
from salaries s join dept_manager d
on s.emp_no=d.emp_no
order by s.emp_no asc

复盘:涉及到表链接问题,select时要表明是哪个表的,不然会报错。s.和d.,也可以不用重命名,反正要让SQL知道是读出哪个表里面的。

3 题目

我的通过代码:

select e.last_name,e.first_name,d.dept_no
from employees e right join dept_emp d
on e.emp_no =d.emp_no

复盘:这里inner join 和right join(employees当主表在前时)都可以

复习一下 表链接:把表连接在一起(3种方式)

(1)内连接:只两个表保留相同的

那么在dept_emp表中没有的emp_no就不会保存,即employees表中能够保存下来的都是在dept_emp表出现过的表,实现了部门存在才可以分配。

(2)左连接:合并后左边的表所有行都保留,若左边的表有空值则删除(即删除右边没有匹配上的)

(3)右连接:与左相反,合并后右边的表所有行都保留,若右边的表中有空值则删除,但是左边表行中有空值不删(即删除左边没有匹配上的)

相当于也是dept_emp表中出现的有部门的员工才都保存,没有部门的,合并后dept_no 肯定是空值,也会被删除。所以employees当主表的右连接和两个表直接内连接效果相同。

4 题目

我的通过代码:

select e.last_name,e.first_name,d.dept_no
from employees e left join dept_emp d
on e.emp_no=d.emp_no

复盘:考点是左连接,合并后,employees本来存在的行都要保留,即使行中出现空值也要保留。

5 题目

我的通过代码:

select emp_no,count(emp_no) from salaries
group by emp_no
having count(emp_no)>15

复盘:复习了一下之前的笔记才知道,(1)count要先进行聚合,group by字段名:规定依据哪个字段分组聚合,使用该子句是为了依据相同字段值分组后进行聚合运算,常和聚合函数联用。(2)但是在group by之后,就不能用where了,要用having!

————————————————今天就这样吧,明天继续maybe——————

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/635480.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vue3插槽solt 使用

背景增加组件的复用性,个人体验组件化还是react 方便。 Vue插槽solt如何传递具名插槽的数据给子组件? 一、solt 原理 知其然知其所以然 Vue的插槽(slots)是一种分发内容的机制,允许你在组件模板中定义可插入的内容…

ARP基本原理

相关概念 ARP报文 ARP报文分为ARP请求报文和ARP应答报文,报文格式如图1所示。 图1 ARP报文格式 Ethernet Address of destination(0–31)和Ethernet Address of destination(32–47)分别表示Ethernet Address of dest…

Mendix 版本 10.10 发布 – 跨平台的功能

​本月,我们将发布遍布整个平台的许多功能,以改善所有用户的生活。Studio Pro 包含多项生活质量改进,例如性能和 Epics/Jira 集成!除此之外,还有一些不错的小部件、MxConnect和AI更新。以及App Insights, Mendix Cloud…

2024年5月19日优雅草蜻蜓K知识付费系统旗舰版v1.0.9进度更新

v1.1.0更新 v1.1.0更新 2024年5月19日优雅草蜻蜓K知识付费系统旗舰版v1.0.9进度更新,首页体育栏目完善新增用户发布页面 开发进度 首页体育栏目完善 新增用户发布页面 新增用户登录完善 新增学习课程页面完善-过往课程数据完成 去掉其他三方登录,新增…

文件的读写

文件操作&#xff1a; 1.打开文件 2.读/写-----操作文件 test.c------写&#xff08;输出&#xff09;------->文件 test.c<------读&#xff08;输入&#xff09;--------文件 文件名&#xff1a;文件路径文件名主干文件后缀 文件指针&#xff1a;FILE* pf;//文件指…

2024年5月24日 十二生肖 今日运势

小运播报&#xff1a;2024年5月24日&#xff0c;星期五&#xff0c;农历四月十七 &#xff08;甲辰年己巳月戊子日&#xff09;&#xff0c;法定工作日。 红榜生肖&#xff1a;龙、牛、猴 需要注意&#xff1a;兔、羊、马 喜神方位&#xff1a;东南方 财神方位&#xff1a;…

在windows中使用wsl下的unbuntu环境

1 unbuntu下载编译环境 编译环境安装命令&#xff1a; sudo apt install gdb sudo apt install gcc sudo apt install g 2 使用vscode正常打开项目&#xff0c;在window中打开的项目&#xff08;官方推荐将项目放在linux中的home目录&#xff09; 但在windows中也可以使用&a…

数据结构---树,二叉树的简单概念介绍、堆和堆排序

树 树的概念和结构 结构 在我们将堆之前&#xff0c;我们先来了解一下我们的树。 我们的堆是属于树里面的一种&#xff0c; 树是一种非线性结构&#xff0c;是一种一对多的一种结构&#xff0c;也就是我们的一个节点可能有多个后继节点&#xff0c;当然也可以只有一个或者没…

Mac安装配置maven

文章目录 前言一、Maven介绍二、下载三、安装四、配置环境变量五、验证六、maven配置配置本地仓库配置远程仓库 七、maven的常用命令总结 前言 Maven是一个项目管理和构建自动化工具&#xff0c;主要服务于基于Java的软件项目。是我们WEB开发过程中必不可少的工具。 一、Maven…

支持北斗卫星授时的工厂NTP电子钟,打造智能化工厂时间环境

在当今数字化、智能化的工业时代&#xff0c;时间的精准性和同步性对于工厂的高效运转至关重要。支持北斗卫星授时的工厂 NTP 电子钟的出现&#xff0c;为打造智能化工厂时间环境提供了有力支撑。 一、应用原因 工厂是一个复杂且高度协作的生产环境&#xff0c;精确一致的时间是…

linux 错误记录(三)

这里的内核源码路径&#xff1a; cd /usr/src/linux-headers-5.4.0-150-generic/ 内核版本&#xff1a; $ uname -r 5.4.0-150-generic 错误现象 ./include/uapi/asm-generic/int-ll64.h:12:10: fatal error: asm/bitsperlong.h: No such file or directory 搜索后是有的 …

深度学习之基于Tensorflow图像分类模型生成与读取

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景与意义 图像分类是计算机视觉领域的重要任务之一&#xff0c;也是深度学习技术的一个核心应用。通过构…

数据库操作(函数)

函数是一段可以直接被另外一段程序调用的程序或代码 一。字符串函数 1.concat(s1,s1....sn)&#xff1a;字符串拼接&#xff0c;将s1&#xff0c;s2&#xff0c;sn拼接为一个字符串 例如&#xff1a; select concat("hello","world"); 2.lower(str&…

Google的MLP-MIXer的复现(pytorch实现)

Google的MLP-MIXer的复现&#xff08;pytorch实现&#xff09; 该模型原论文实现用的jax框架实现&#xff0c;先贴出原论文的代码实现&#xff1a; # Copyright 2024 Google LLC. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may …

【杂七杂八】Huawei Gt runner手表系统降级

文章目录 Step1&#xff1a;下载安装修改版华为运动与健康Step2&#xff1a;在APP里进行配置Step3&#xff1a;更新固件(时间会很长) 目前在使用用鸿蒙4 111版本的手表系统&#xff0c;但是感觉睡眠检测和运动心率检测一言难尽&#xff0c;于是想到是否能回退到以前的版本&…

从需求角度介绍PasteSpider(K8S平替部署工具适合于任何开发语言)

你是否被K8S的强大而吸引&#xff0c;我相信一部分人是被那复杂的配置和各种专业知识而劝退&#xff0c;应该还有一部分人是因为K8S太吃资源而放手&#xff01; 这里介绍一款平替工具PasteSpider&#xff0c;PasteSpider是一款使用c#编写的linux容器部署工具(使用PasteSpider和…

算法学习:快速排序

&#x1f525; 个人主页&#xff1a;空白诗 文章目录 &#x1f680; 引言&#x1f4cc; 快速排序算法核心思想1. 选择基准值&#xff08;Pivot&#xff09;2. 分区操作&#xff08;Partitioning&#xff09;3. 递归排序子序列 &#x1f4cc; JavaScript 实现1. 快速排序主函数2…

Mac 安装 git

文章目录 前言一、介绍二、下载三、验证四、配置五、Git常用命令六、git提交和撤销工作流程代码提交和提交同步代码撤销和撤销同步 FAQ1.homebrew 下载解决方法一&#xff08;强烈推荐&#xff09;&#xff1a;解决方法二&#xff1a; 总结 前言 Git 是一个开源的分布式版本控…

Flutter问题 --- 用web端打开项目提示:The XMLHttpRequest onError callback was called.

跨域问题&#xff1a; 打开当前使用的flutter sdk,找到flutter\packages\flutter_tools\lib\src\web\chrome.dart文件并打开. 在--disable-extensions位置后添加--disable-web-security 找到flutter\bin\cache目录&#xff0c;删除flutter_tools.stamp和flutter_tools.snaps…

为什么说 Redis 是单线程的?——Java全栈知识(25)

为什么说 Redis 是单线程的&#xff1f; 我们常说的 Redis 是单线程的&#xff0c;但是我前面在讲持久化机制的时候又说 RDB 的持久化是通过主进程 fork 出一个子进程来实现 RDB 持久化。那么 Redis 到底是多线程还是单线程的呢&#xff1f; Redis 的网络 IO 和键值的读写是单…