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

MYSQL 连接

高频 SQL 50 题(基础版) - 学习计划 - 力扣(LeetCode)全球极客挚爱的技术成长平台

1378. 使用唯一标识码替换员工ID

SELECT COALESCE(unique_id, NULL) AS unique_id,name
FROM Employees
LEFT JOIN EmployeeUNI ON  Employees.id = EmployeeUNI.id;

左连接(Left Join)是一种用于联接两个或多个表的操作,它返回左表中的所有行以及与右表中满足联接条件的匹配行。如果右表中没有与左表匹配的行,则对应的结果列将填充为 NULL 值。

左连接的语法如下:

SELECT 列名
FROM 左表
LEFT JOIN 右表 ON 连接条件;

1068. 产品销售分析 I

SELECT P.product_name,year,price
FROM Sales S
LEFT JOIN  Product P ON P.product_id = S.product_id;

1581. 进店却未进行过交易的顾客

SELECT customer_id,COUNT(customer_id) AS count_no_trans
FROM Visits V
LEFT JOIN Transactions T ON T.visit_id = V.visit_id 
WHERE transaction_id IS NULL
GROUP BY customer_id

197. 上升的温度

TIMESTAMPDIFF函数,小的日期前面

类似笛卡尔积的做法

SELECT w1.id Id
FROM Weather AS w1,Weather AS w2
WHERE TIMESTAMPDIFF(DAY,w2.RecordDate,w1.RecordDate) = 1 AND w1.Temperature > w2.Temperature;

DATE_ADD(w2.RecordDate, INTERVAL 1 DAY)是一个日期函数,在给定的日期上添加指定的时

如果w2.RecordDate的值是'2023-10-17',那么DATE_ADD(w2.RecordDate, INTERVAL 1 DAY)将返回'2023-10-18'。

连接后的表如下(左w1,右w2):

 

SELECT w1.id Id
FROM Weather w1
LEFT JOIN(SELECT RecordDate,TemperatureFROM Weather
)w2
ON w1.RecordDate = DATE_ADD(w2.RecordDate,INTERVAL 1 day)
WHERE w1.Temperature > w2.Temperature

1661. 每台机器的进程平均运行时间

子查询的表如下

 SUM(time):算出来总运行时间

(COUNT(*)/2):一个进程包括start和end两个时间戳,所以要除以2

SELECT machine_id,ROUND(SUM(time)/(COUNT(*)/2),3) processing_time
FROM (SELECT machine_id,process_id,IF(activity_type = 'start', round(-`timestamp`, 3), round(`timestamp` , 3)) timeFROM Activity 
)t
GROUP BY machine_id;

577. 员工奖金

SELECT name,bonus
FROM (SELECT name,bonusFROM Employee ELEFT JOIN Bonus B ON E.empId = B.empId
) t
WHERE bonus < '1000' OR bonus IS NULL;

1280. 学生们参加各科测试的次数

    SELECT student_id, subject_name, COUNT(*) AS attended_examsFROM ExaminationsGROUP BY student_id, subject_name

直接统计Examinations表

SELECT *
FROMStudents s
CROSS JOINSubjects sub

用交叉连接CORSS JOIN将两张表连接

把成绩表左连接到做了自然连接的表,保证每个学生各门课字段都在,不会因为没参加考试就不算

SELECT stu.student_id,stu.student_name,s.subject_name,IFNULL(grouped.attended_exams,0) AS attended_exams
FROM Students stu 
CROSS JOIN Subjects s 
LEFT JOIN(SELECT student_id, subject_name, COUNT(*) AS attended_examsFROM ExaminationsGROUP BY student_id, subject_name
)grouped
ON grouped.student_id = stu.student_id AND grouped.subject_name = s.subject_name
ORDER BY stu.student_id,s.subject_name

570. 至少有5名直接下属的经理

SELECT name
FROM Employee
WHERE id IN (SELECT managerIdFROM EmployeeGROUP BY managerId HAVING COUNT(*) >= 5
) 

1934. 确认率

SELECT sign.user_id,IFNULL(ROUND(hit/total,2),0.00) confirmation_rate
FROM Signups sign
LEFT JOIN(SELECT user_id,time_stamp,COUNT(action) totalFROM ConfirmationsGROUP BY user_id 
)grouped 
ON grouped.user_id = sign.user_id
LEFT JOIN(SELECT user_id,COUNT(action) hitFROM ConfirmationsWHERE action = 'confirmed'GROUP BY user_id 
)hitcount
ON hitcount.user_id = sign.user_id

 

相关文章:

MYSQL 连接

高频 SQL 50 题&#xff08;基础版&#xff09; - 学习计划 - 力扣&#xff08;LeetCode&#xff09;全球极客挚爱的技术成长平台 1378. 使用唯一标识码替换员工ID SELECT COALESCE(unique_id, NULL) AS unique_id,name FROM Employees LEFT JOIN EmployeeUNI ON Employees.…...

SeaTunnel 换maven源,解决插件下载慢

SeaTunnel 是使用的mvnw命令,可以先执行一下install-plugin.sh然后终止 理论上应该可以直接执行mvnw,他就会去安装下载maven,目录就是下面的目录 然后去服务器目录修改 setting.xml文件,设置镜像源即可 /root/.m2/wrapper/dists/apache-maven-3.8.4-bin/52ccbt68d252mdldqsfsn…...

安卓14通过“冻结”缓存应用程序腾出CPU,提高性能和内存效率

本月早些时候&#xff0c;我们听说更新到安卓14似乎提高了谷歌Pixel 7和Pixel 6的效率——提高了电池寿命&#xff0c;并在这个过程中减少了热量的产生。现在看来&#xff0c;安卓14的增效功能细节已经公布。 安卓侦探Mishaal Rahman在X&#xff08;前身为Twitter&#xff09;…...

jupyter崩溃OOM,out of memory,jupyter代码写不进去,保存不了。

最近写一个比较长的数据处理代码&#xff0c;有快千行&#xff0c;然后经常代码没有写入&#xff0c;然后直接网页崩溃&#xff0c;给我干蒙了。我已经是jupyter版本的问题&#xff0c;弄了半天&#xff0c;弄完&#xff0c;还是有这个问题。然后就查了一下&#xff0c;发现是j…...

一文带你快速掌握爬虫开发中的一些高级调试技巧

文章目录 1. 写在前面2. Reply XHR&#xff08;重新发起请求&#xff09;3. copy as fecth&#xff08;修改参数请求&#xff09;4. copy()复制变量5. Web网页全屏截图6. 控制台安装使用npm7. 控制台中引用上次执行结果8. 控制台表展示对象数组 1. 写在前面 做过爬虫开发的人都…...

6.(vue3.x+vite)路由传参query与params区别

前端技术社区总目录(订阅之前请先查看该博客) 效果截图 一:路由传参有两种方式:params与query params与query区别 1:param,路由带“/”,query带“?” 2:query传过来的参数会显示到地址栏中 而params传过来的参数可以显示参数或隐藏参数到地址栏中(vue-router 4.1.4不…...

C++string的使用

CSDN的uu们&#xff0c;大家好。这里是C入门的第十六讲。 座右铭&#xff1a;前路坎坷&#xff0c;披荆斩棘&#xff0c;扶摇直上。 博客主页&#xff1a; 姬如祎 收录专栏&#xff1a;C专题 目录 1.构造函数 1.1 string() 1.2 string(const char* s) 1.3 string(const …...

闲着也是闲着,自己写歌东西玩一玩,碰碰脑子,简单快乐一点,双人出数的小游戏,后续还带补充

主旨就是每个人出一个数&#xff0c;目前限制两人&#xff0c;之后考虑多人&#xff0c;然后对其取差值&#xff0c;获取到一个结果&#xff0c;比对结果的奇偶数&#xff0c;还可以看下两人出同一个数的概率&#xff0c;反正概率上是一个比较稳定的。 当然自己想玩的活也可以做…...

牛客网 -- WY28 跳石板

题目链接&#xff1a; 跳石板_牛客题霸_牛客网 (nowcoder.com) 解题步骤&#xff1a; 参考代码&#xff1a; void get_approximate(vector<int>& v,int n) {//求约数&#xff0c;从2到sqrt(n)即可&#xff0c;原因看图解//这里一定要等于sqrt(n)&#xff0c;例如16…...

[正式学习java③]——字符串在内存中的存储方式、为什么字符串不可变、字符串的拼接原理,键盘录入的小细节。

一、字符串 1.字符串在内存中的存储方式 &#x1f525;在java中&#xff0c;内存中有两个地方可以存储字符串&#xff0c;一个是字符串池&#xff0c;一个是堆内存&#xff0c;串池中的字符串不会重复&#xff0c;而堆中的字符串每次都会开辟一块新的空间&#xff0c;因为维护…...

行情分析——加密货币市场大盘走势(10.18)

大饼昨日小幅度的下跌回调了&#xff0c;很快又上涨。目前看下来震荡向下刚刚开始&#xff0c;可以关注后续情况。大饼依然保持看空不做空&#xff0c;目前除了独立行情的币&#xff0c;就大饼非常强势。目前从MACD日线来看&#xff0c;还是保持多头趋势&#xff0c;预计明后两…...

高并发场景下常见的限流算法及方案介绍

应用场景 现代互联网很多业务场景&#xff0c;比如秒杀、下单、查询商品详情&#xff0c;最大特点就是高并发&#xff0c;而往往我们的系统不能承受这么大的流量&#xff0c;继而产生了很多的应对措施&#xff1a;CDN、消息队列、多级缓存、异地多活。 但是无论如何优化&…...

虹科分享 | 选择SAS还是NVMe?虹科网络基础带您一探究竟!

存储架构师需要通过确保他们选择的存储解决方案提供支持其生态系统所需的安全性、稳定性、可扩展性和管理特性来应对当今的业务挑战。当他们考虑采用新的存储技术时&#xff0c;在采用新技术之前&#xff0c;他们应该权衡和审查一些基本的考虑因素。新的存储协议不断进入市场&a…...

在ERP管理系统中,库存管理的基本流程是什么?

在ERP管理系统中&#xff0c;库存管理的基本流程是什么&#xff1f; 下面我就以我们公司正在用的简道云库存管理系统为例&#xff0c;为大家进行库存管理基本流程的演示 这个系统是我们公司自己搭建的&#xff0c;大家如果有需要可以自取&#xff0c;也可以在模板的基础上自行…...

Ruby 之 csv 文件读写

csv 文件写入 require csvtitle ["col1", "col2"] contents [["row11", "row12"], ["row21", "row22"]]csv1 CSV.open("test1.csv", "wb") do |csv|# write file titlecsv << titl…...

Android AMS——进程LRU列表更新(十七)

AMS对进程的管理主要体现在两个方面: 进程LRU列表动态更新:动态调整进程在mLruProcesses列表的位置进程优先级动态调整:实际是调整进程oom_adj的值。 这两项调整和系统进行自动回收有关,当内存不足时,系统会关闭一些进程来释放内存,下面就依据这两方面来看…...

【数据可视化】—大屏数据可视化展示

【数据可视化】—大屏数据可视化展示 一、数据可视化 数据可视化的目的&#xff1a;借助于图形化工具&#xff0c;清晰有效的传达与沟通信息。 数据可视化可以把数据从冰冷的数字转换成图形&#xff0c;揭示蕴含在数据中的规律和道理。 二、 免费数据可视化库 Echarts 百度…...

计算机算法分析与设计(12)---贪心算法(最优装载问题和哈夫曼编码问题)

文章目录 一、最优装载问题1.1 问题表述1.2 代码编写 二、哈夫曼编码2.1 哈夫曼编码概述2.2 前缀码2.3 问题描述2.4 代码思路2.5 代码编写 一、最优装载问题 1.1 问题表述 1. 有一批集装箱要装上一艘载重量为 c c c 的轮船&#xff0c;已知集装箱 i ( 1 ≤ i ≤ n ) i(1≤i≤…...

打造属于自己的vue图标库

hfex-icon图标库 Install npm i -D hfex-icon主要提供2种使用方式 方式一 通过svg图标资源&#xff0c;借助unplugin-icons库将svg图标文件生成vue组件&#xff0c;然后通过vue组件的引入方式在vue中使用 unplugin-icons 兼容vue2和vue3 在vue.config.js的plugins中配置…...

C++11线程池

使用 condition_variable::wait(unique_lock<mutex>&lck, Predicate pred) 时&#xff0c;必须保证条件变量通过notify唤醒的同时&#xff0c;wait 的第二个参数 Predicate 返回 true 了才可以往下走。必须两个条件同时满足&#xff0c;如果notify的时候Predicate返回…...

Pydantic序列化避坑大全:从‘按声明类型序列化’到灵活exclude/include的5个常见误区

Pydantic序列化深度避坑指南&#xff1a;从类型陷阱到安全控制的实战解析 深夜调试代码时&#xff0c;你是否遇到过这样的场景&#xff1a;明明在内存中完整的对象&#xff0c;通过API返回给前端时却莫名丢失了关键字段&#xff1f;或者当你在日志中打印包含敏感信息的模型时&a…...

obamify跨平台兼容性解决方案:从桌面到Web的完美迁移指南

obamify跨平台兼容性解决方案&#xff1a;从桌面到Web的完美迁移指南 【免费下载链接】obamify revolutionary new technology that turns any image into obama 项目地址: https://gitcode.com/gh_mirrors/ob/obamify 想要在任何设备上将图片转换为奥巴马风格吗&#x…...

NotebookLM提示工程在能源政策分析中的致命误区(附12个经NREL验证的Prompt模板)

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;NotebookLM能源技术研究 NotebookLM 是 Google 推出的基于 AI 的研究协作者工具&#xff0c;其核心能力在于对用户上传的私有文档进行语义理解与上下文关联。在能源技术领域&#xff0c;研究人员可借助 Noteb…...

2026年八大上门服务预约小程序:解锁高效生活新体验

本文围绕上门服务预约小程序展开系统性梳理&#xff0c;聚焦2026年市场上主流的八家服务商&#xff0c;包括好赞科技、厦门亿点通科技、福州启帆数字科技等。内容覆盖核心功能解析、场景适配性、用户体验及服务效率等关键维度&#xff0c;旨在帮助用户理解不同平台的差异化优势…...

SmartDock:让Android设备拥有桌面级生产力的智能启动器

SmartDock&#xff1a;让Android设备拥有桌面级生产力的智能启动器 【免费下载链接】smartdock A user-friendly desktop mode launcher that offers a modern and customizable user interface 项目地址: https://gitcode.com/gh_mirrors/smar/smartdock 你是否曾经想过…...

番茄小说下载器终极指南:5种格式+Web界面打造个人数字图书馆

番茄小说下载器终极指南&#xff1a;5种格式Web界面打造个人数字图书馆 【免费下载链接】fanqienovel-downloader 下载番茄小说 项目地址: https://gitcode.com/gh_mirrors/fa/fanqienovel-downloader 你是否曾在深夜追更时&#xff0c;突然发现心爱的小说被平台下架&am…...

告别虚拟机卡顿:在VMware 17上为RHEL 9.2分配CPU和内存的黄金法则

告别虚拟机卡顿&#xff1a;在VMware 17上为RHEL 9.2分配CPU和内存的黄金法则 当你在VMware Workstation 17上运行RHEL 9.2时&#xff0c;是否经常遇到编译速度慢、桌面响应延迟甚至整个系统卡死的情况&#xff1f;这很可能是因为你没有根据宿主机的实际硬件情况科学分配虚拟资…...

【免费下载】 华为光猫超级用户名密码获取工具

华为光猫超级用户名密码获取工具 【下载地址】华为光猫超级用户名密码获取工具 华为光猫超级用户名密码获取工具是一款专为华为光猫设计的辅助工具&#xff0c;主要用于获取光猫的VLAN ID。该工具通过将一系列命令编写成批处理文件&#xff0c;实现自动化执行&#xff0c;无需用…...

【亲测免费】 基于深度学习的计算机视觉PPT

基于深度学习的计算机视觉PPT 【下载地址】基于深度学习的计算机视觉PPT 本仓库提供了一份名为“基于深度学习的计算机视觉PPT”的资源文件&#xff0c;该文件详细介绍了计算机视觉的基本概念、理论基础以及深度学习在计算机视觉中的应用。计算机视觉是一门研究如何使机器“看”…...

【免费下载】 高效演示必备:PPT倒计时小工具推荐

高效演示必备&#xff1a;PPT倒计时小工具推荐 【下载地址】PPT倒计时小工具 本仓库提供了一个专为PPT设计的倒计时小工具&#xff0c;该工具可以直接加载到PPT中使用&#xff0c;方便用户在演示过程中进行时间管理。与传统的倒计时工具不同&#xff0c;这个小工具完全集成在PP…...