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;

总结

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

相关推荐
大白的编程日记.2 分钟前
【MySQL】数据库表的CURD(二)
android·数据库·mysql
想唱rap6 分钟前
C++ string类的使用
开发语言·c++·笔记·算法·新浪微博
ajsbxi8 分钟前
【Redis】缓存读/写操作流程
redis·笔记·spring·缓存·bootstrap
友善的鸡蛋24 分钟前
项目中执行SQL报错oracle.jdbc.OracleDatabaseException: ORA-00942: 表或视图不存在
数据库·sql·oracle
The best are water26 分钟前
jeesite mybatis添加拦截器,推送指定表的变更数据到其他数据库
数据库·mybatis
api_1800790546042 分钟前
异步数据采集实践:用 Python/Node.js 构建高并发淘宝商品 API 调用引擎
大数据·开发语言·数据库·数据挖掘·node.js
怕什么真理无穷1 小时前
mysql server 9.4 windows安装教程(sqlyog 下载)
数据库
Olrookie1 小时前
MySQL运维常用SQL
运维·数据库·sql·mysql·dba
数据库生产实战1 小时前
ORACLE 19C ADG环境 如何快速删除1.8TB的分区表?有哪些注意事项?
数据库·oracle
blackorbird2 小时前
使用 Overpass Turbo 查找监控摄像头
运维·服务器·数据库·windows