SELECT last_name , job_id , salary AS sal
FROM employees;
SELECT * FROM employees;
SELECT employee_id , last_name,
salary * 12 'ANNUAL SALARY'
FROM employees;
SELECT* FROM departments
SELECT DISTINCT job_id
FROM employees
SELECT CONCAT(job_id,',',last_name) AS out_put
FROM employees
SELECT CONCAT(last_name,'-',first_name) ,salary
FROM employees
WHERE salary<12000
SELECT department_id,(salary*12) AS '年薪'
FROM employees
WHERE employee_id=176
# 查询每个工作的最高工资
SELECT MAX(salary) ,job_id
FROM employees
GROUP BY job_id
# 查询每个位置上的部门个数
SELECT location_id, COUNT(*)
FROM departments
GROUP BY location_id
# 查询每个部门的平均工资,邮箱中包含A字符的
SELECT AVG(salary) ,department_id,email
FROM employees
WHERE email LIKE '%a%'
GROUP BY department_id
# 查询有奖金的每个领导手下员工的最高工资
SELECT MAX(salary),`manager_id`
FROM employees
WHERE commission_pct IS NOT NULL
GROUP BY manager_id
#添加复杂的筛选条件
#案例:查询那个部门的员工个数大于2 HAVING
SELECT COUNT(department_id),department_id
FROM employees
GROUP BY department_id
HAVING COUNT(department_id)>2
#案例2:查询每个工种有奖金的员工的最高工资》12000的工种编号和最高工资
SELECT job_id,salary
FROM employees
WHERE commission_pct IS NOT NULL
GROUP BY job_id
HAVING salary>12000
#查询领导编号》102的每个领导手下的最低工资》5000的领导编号,以及最低工资
SELECT manager_id,MIN( salary)
FROM employees
WHERE manager_id>102
GROUP BY manager_id
HAVING MIN( salary)>5000
#按照员工姓名的长度进行分组,查询每一组的员工个数,筛选员工个数>5的有哪些
SELECT COUNT(*),LENGTH(last_name)
FROM employees
GROUP BY LENGTH(last_name)
HAVING COUNT(*)>5
#查询每个部门,每个工种的员工的平均工资,而且按照工资排序
SELECT AVG(salary),department_id,job_id
FROM employees
GROUP BY department_id, job_id
ORDER BY AVG(salary) DESC
分组前筛选
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 点波关注不迷路,一键三连好运连连! 先贴上几个案例,水平高超的同学可以挑战一下: 从员工集合中筛选出salary大...
- 这节我们实现下 取出数据分组后排序 首先我们实现下这个需求 取出products表中数据 按照p_name p_...