mysql 数据操作 单表查询 having 过滤 练习

1. 查询各岗位内包含的员工个数小于2的岗位名、岗位内包含员工名字、个数
mysql> select post,group_concat(name),count(id) from employee group by post;
+-----------+-------------------------------------------------+-----------+
| post      | group_concat(name)                              | count(id) |
+-----------+-------------------------------------------------+-----------+
| operation | 程咬铁,程咬铜,程咬银,程咬金,张野                |         5 |
| sale      | 格格,星星,丁丁,丫丫,歪歪                        |         5 |
| teacher   | 成龙,jinxin,jingliyang,liwenzhou,yuanhao,alex   |         6 |
+-----------+-------------------------------------------------+-----------+
3 rows in set (0.00 sec)

mysql> select post,group_concat(name),count(id) from employee group by post having count(id) <2 ;
Empty set (0.05 sec)


3. 查询各岗位平均薪资大于10000的岗位名、平均工资
mysql> select post,avg(salary) from employee group by post having avg(salary) > 10000;
+-----------+---------------+
| post      | avg(salary)   |
+-----------+---------------+
| operation |  16800.026000 |
| teacher   | 175766.718333 |
+-----------+---------------+
2 rows in set (0.04 sec)


4. 查询各岗位平均薪资大于10000且小于20000的岗位名、平均工资
mysql> select post,avg(salary) from employee group by post having avg(salary) between 10000 and 20000;
+-----------+--------------+
| post      | avg(salary)  |
+-----------+--------------+
| operation | 16800.026000 |
+-----------+--------------+
1 row in set (0.00 sec)

 

原文地址:https://www.cnblogs.com/mingerlcm/p/9879094.html

时间: 2024-08-28 09:30:43

mysql 数据操作 单表查询 having 过滤 练习的相关文章

mysql 数据操作 单表查询 通过四则运算查询

#通过四则运算查询 SELECT name, salary*12 FROM employee; SELECT name, salary*12 AS Annual_salary FROM employee; SELECT name, salary*12 Annual_salary FROM employee; 查看年薪salary*12 mysql> select name,salary*12 from employee; +------------+-------------+ | name |

mysql 数据操作 单表查询 简单查询 避免重复DISTINCT

创建数据库company create database company charset=utf8; use company; company.employee 员工id id int 姓名 emp_name varchar 性别 sex enum 年龄 age int 入职日期 hire_date date 岗位 post varchar 职位描述 post_comment varchar 薪水 salary double 办公室 office int 部门编号 depart_id int #

mysql 数据操作 单表查询 group by 练习

1. 查询岗位名以及岗位包含的所有员工名字 mysql> select post,group_concat(name) from employee group by post; +-----------+-------------------------------------------------+ | post | group_concat(name) | +-----------+-------------------------------------------------+ | o

mysql 数据操作 单表查询 查询排序: order by

如果不指定排序 默认是按照id字段 从小到大排序的  升序 mysql> select * from employee; +----+------------+--------+-----+------------+-----------+--------------+------------+--------+-----------+ | id | name | sex | age | hire_date | post | post_comment | salary | office | de

mysql 数据操作 单表查询 limit 练习

1. 分页显示,每页5条 mysql> select * from employee limit 0,5; +----+------------+--------+-----+------------+---------+--------------+------------+--------+-----------+ | id | name | sex | age | hire_date | post | post_comment | salary | office | depart_id |

mysql 数据操作 多表查询 目录

mysql 数据操作 多表查询 准备 mysql 数据操作 多表查询 多表连接查询 笛卡尔积 mysql 数据操作 多表查询 多表连接查询 内连接 mysql 数据操作 多表查询 多表连接查询 外链接之左连接 右连接 mysql 数据操作 多表查询 多表连接查询 全外连接 原文地址:https://www.cnblogs.com/mingerlcm/p/10523097.html

数据库:数据操作-单表查询

一 单表查询的语法 select 字段1,字段2....from 表名 where 条件 group by field having 筛选 order by field limit 限制条数 二 关键字的执行优先级(重点) 关键字的执行优先级 from where group by having select distinct order by limit 1.找到表:from 2.拿着where指定的约束条件,去文件/表中取出一条条记录 3.将取出的一条条记录进行分组group by,如果没有

mysql简单的单表查询详解

mysql简单的单表查询详解 MySQL的查询操作: 单表查询:简单查询 多表查询:连续查询 联合查询: 选择和投影: 投影:挑选要显示的字段 选择:挑选符合条件的行 投影:SELECT 字段1, 字段2, ... FROM tb_name;  SELECT * FROM tb_name; 选择:SELECT 字段1, ... FROM tb_name WHERE 子句; 布尔条件表达式 mysql> CREATE TABLE students (SID INT UNSIGNED AUTO_IN

mysql四-1:单表查询

阅读目录 一 单表查询的语法 二 关键字的执行优先级(重点) 三 简单查询 四 WHERE约束 五 分组查询:GROUP BY 六 HAVING过滤 七 查询排序:ORDER BY 八 限制查询的记录数:LIMIT 九 使用正则表达式查询 一 单表查询的语法 SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT 限制条数 二 关键字的执行优先级(重点) 重点中的重点:关键字的执行优先级 f