MYSQL练题笔记-高级查询和连接-这系列最后一题以及下个系列(子查询)的第一题

今天做了下面两题,到第三题的时候想了下但是没有太多的思路,然后看题解的时候实在是觉得自己不会,打算明天看吧。

1.按分类统计薪水相关的表和题目如下

我看到题目就认为有三个输出需要联合,所以就用了union,我的题解如下

select 'Low Salary'as category, count(income) as accounts_count from accounts where income<20000 union select 'Average Salary'as category, count(income) as accounts_count from accounts where income between 20000 and 50000 union select 'High Salary'as category, count(income) as accounts_count from accounts where income>50000;

就是普通的union联合表,但是效率好像不高,我看效率第一的题解有一个很长的,如下图

我想着理解with as 但是百度我觉得这种方式不重要,而且我觉得这个太复杂了,还是觉得不去理解了。

2.上级经理已离职的公司员工相关的表和题目如下

我是想着简化问题,先找出薪水低于30000的员工,然后找这些员工的上级是否在全部的表里,但是其实刚开始我是没有想出来的,画了个图才发现不难,写完其实会发现是很简单的一题,我的题解如下

select employee_id from employees where salary<30000 and manager_id not in (select employee_id from employees) order by employee_id;

总结

有行动就是我这个菜鸟的进步,不行动啥也没有,生命在于探索和实践,现在的情况不好不代表以后,加油加油!!!!我现在就是觉得这种方式其实反馈不是很多的,没有探讨的步骤,自己的话又不会,不过一句话还是多练多反思和实践吧!!!

相关推荐
s1ckrain5 分钟前
数字逻辑笔记—绪论
笔记·嵌入式
不羁的木木31 分钟前
【开源鸿蒙跨平台开发学习笔记】Day03:React Native 开发 HarmonyOS-GitCode口袋工具开发-1
笔记·学习·harmonyos
椰羊~王小美1 小时前
存储过程 vs 存储函数:全面对比
数据库
张人玉1 小时前
SQLite的数据格式和使用命令
数据库·oracle·sqlite
last demo1 小时前
MariaDB 数据库管理
linux·运维·服务器·数据库·php·mariadb
SamDeepThinking1 小时前
在 MySQL 里,不建议使用长事务的根因
后端·mysql
蒋士峰DBA修行之路1 小时前
实验二十六 GaussDB参数调优
数据库·oracle·gaussdb
q***3751 小时前
MySQL输入密码后闪退?
数据库·mysql·adb
张人玉1 小时前
SQLite 快速入门 Cheat Sheet
数据库·sql·sqlite
杨DaB1 小时前
【MySQL】03 数据库的CRUD
数据库·mysql·adb