1,临时表查询

(1)需求:查询高于本部门平均工资的人员

select * from person as p, (select dept_id, avg(salary) as '平均工资' from person GROUP BY dept_id) as ptable where p.dept_id = ptable.dept_id and p.salary > ptable.`平均工资`;

(2)需求:查询高于本部门平均工资的人员,显示部门名

第一步查询出每个部门的平均工资,并显示部门名

select * from (select dept_id, avg(salary) as '平均工资' from person GROUP BY dept_id) as p, dept as pd where p.dept_id = pd.did;

第二步再对每个人的工资和第一步查询出来的结果集(让其作为临时表)的平均工资比较

select * from person as p, (select * from (select dept_id, avg(salary) as '平均工资' from person GROUP BY dept_id) as pa, dept as pd where pa.dept_id = pd.did) as ptable where p.dept_id = ptable.dept_id and p.salary > ptable.`平均工资`;

2.判断查询 IF关键字

(1)需求:根据工资高低,将人员划分为两个级别,分别为高端人群和低端人群。显示效果:姓名、年龄、性别、工资、级别

 -- IF关键字可以带三个参数,参数1条件,参数2为参数1条件成立时使用的,参数3为参数1条件不成立时使用
select p.name, p.age, p.sex, p.salary, IF(p.salary > 10000, '高端人群', '低端人群') as '级别' from person as p;

(2)需求:根据工资高低统计每个部门人员收入情况,划分为富人、小资、平民、屌丝四个级别,要求统计四个级别分别有多少人

select dname,
sum(case WHEN person.salary > 10000 THEN 1 else 0 END) as '富人',
sum(case WHEN person.salary BETWEEN 5000 and 10000 THEN 1 else 0 END) as '小资',
sum(case WHEN person.salary BETWEEN 3000 and 5000 THEN 1 else 0 END) as '平民',
sum(case WHEN person.salary < 3000 THEN 1 else 0 END) as '屌丝'
from dept, person where dept.did = person.dept_id GROUP BY dept_id;

mysql之多表查询的其他查询的更多相关文章

  1. sql:sql server,MySQL,PostgreSQL的表,视图,存储过程结构查询

    sql server 2005: --SQL SERVER 2005 生成代码需要知道的SQL语句 use LibrarySystem --查询当前数据库所有表和其的主键字段,字段类型,长度,是否为空 ...

  2. MySQL在同一个表上,删除查询出来的结果

    背景 有一个程序员员工表(code_user),包含用户id.姓名.掌握的语言. 表数据如下: +---------+-----------+----------+ | user_id | user_ ...

  3. sql:MySQL 6.7 表,视图,存储过程结构查询

    #数据库MySQL 6.7 use sakila; #查询表名 show tables; # SELECT TABLE_NAME,TABLE_ROWS FROM INFORMATION_SCHEMA. ...

  4. MySQL库和表的管理

    MySQL数据库服务配置好后,系统会有4个默认的数据库. information_schema:虚拟对象,其对象都保存在内存中performance_schema:服务器性能指标库mysql:记录用户 ...

  5. MySQL(三) 数据库表的查询操作【重要】

    序言 1.MySQL表操作(创建表,查询表结构,更改表字段等), 2.MySQL的数据类型(CHAR.VARCHAR.BLOB,等), 本节比较重要,对数据表数据进行查询操作,其中可能大家不熟悉的就对 ...

  6. MySQL数据库学习笔记(六)----MySQL多表查询之外键、表连接、子查询、索引

    本章主要内容: 一.外键 二.表连接 三.子查询 四.索引 一.外键: 1.什么是外键 2.外键语法 3.外键的条件 4.添加外键 5.删除外键 1.什么是外键: 主键:是唯一标识一条记录,不能有重复 ...

  7. 转: 从Mysql某一表中随机读取n条数据的SQL查询语句

    若要在i ≤ R ≤ j 这个范围得到一个随机整数R ,需要用到表达式 FLOOR(i + RAND() * (j – i + 1)).例如, 若要在7 到 12 的范围(包括7和12)内得到一个随机 ...

  8. MYSQL的全表扫描,主键索引(聚集索引、第一索引),非主键索引(非聚集索引、第二索引),覆盖索引四种不同查询的分析

    文章出处:http://inter12.iteye.com/blog/1430144 MYSQL的全表扫描,主键索引(聚集索引.第一索引),非主键索引(非聚集索引.第二索引),覆盖索引四种不同查询的分 ...

  9. MySQL多表查询之外键、表连接、子查询、索引

    MySQL多表查询之外键.表连接.子查询.索引 一.外键: 1.什么是外键 2.外键语法 3.外键的条件 4.添加外键 5.删除外键 1.什么是外键: 主键:是唯一标识一条记录,不能有重复的,不允许为 ...

  10. MYSQL优化派生表(子查询)在From语句中的

    Mysql 在5.6.3中,优化器更有效率地处理派生表(在from语句中的子查询): 优化器推迟物化子查询在from语句中的子查询,知道子查询的内容在查询正真执行需要时,才开始物化.这一举措提高了性能 ...

随机推荐

  1. lumen-ioc容器测试 (2)

    lumen-ioc容器测试 (1) lumen-ioc容器测试 (2) lumen-ioc容器测试 (3) lumen-ioc容器测试 (4) lumen-ioc容器测试 (5) lumen-ioc容 ...

  2. php查看进程

      index.php <?php /** * Created by PhpStorm. * User: mac * Date: 2020/4/23 * Time: 21:57 */ echo ...

  3. 一文读懂MySQL的事务隔离级别及MVCC机制

    回顾前文: 一文学会MySQL的explain工具 一文读懂MySQL的索引结构及查询优化 (同时再次强调,这几篇关于MySQL的探究都是基于5.7版本,相关总结与结论不一定适用于其他版本) 就软件开 ...

  4. 深度学习四从循环神经网络入手学习LSTM及GRU

    循环神经网络 简介 循环神经网络(Recurrent Neural Networks, RNN) 是一类用于处理序列数据的神经网络.之前的说的卷积神经网络是专门用于处理网格化数据(例如一个图像)的神经 ...

  5. OpenSpiel 随笔 05.14

    ------------恢复内容开始------------ 这两天年总算把自己的游戏写完了,也通过了所有的测试. 我将自己的代码上传到了我的github上, 地址是 https://github.c ...

  6. WTM系列教学视频全免费

    WTM框架问世以来,受到越来越多开发者的喜爱,为了回报大家的厚爱,原本在CSDN上的教学视频已经全部免费,900多分钟的视频,而且还会继续更新. 为了方便大家观看,在B站上也同步更新,地址如下: CS ...

  7. Kubernetes Controller详解

    运行容器化应用是Kubernetes最重要的核心功能.为满足不同的业务需要,Kubernetes提供了多种Controller,主要包括Deployment.DaemonSet.Job.CronJob ...

  8. python如何连接数据库操作?

    1.首先导入模块(提前pip安装)  import pymysql ; 2.打开数据库连接   db = pymysql.connect("localhost", "us ...

  9. 如何学习C语言

    总结学习 C 语言的几个步骤,其他编程语言基本类似. 看书 学习一门编程语言少不了先学习基本语法. C语言的语法也就是变量,数组.指针.表达式.逻辑操作.函数,宏定义等等.学习这些先买一本入门级书籍, ...

  10. 01.axios封装

    1. 始vue化项目 https://www.cnblogs.com/xiaonq/p/11027880.html   vue init webpack deaxios # 使用脚手架创建项目 dea ...