ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

MySQL-sql99-子查询

2022-05-23 13:32:31  阅读:148  来源: 互联网

标签:salary employees 查询 job sql99 MySQL WHERE id SELECT


image

image

image

image

标量子查询

案例:谁的工资比Abel高?

# ①查询Abel的工资
SELECT `salary`
FROM `employees`
WHERE `last_name`='Abel';

image

发现是一行一列 为标量子查询

# ②查询员工的信息,满足salary>①结果
SELECT *
FROM `employees`
WHERE `salary`>(
	SELECT `salary`
	FROM `employees`
	WHERE `last_name`='Abel'
);

image

整道题的结果就出来啦

案例:返回job_id与141号员工相同,salary比143号员工多的员工 姓名,job_id和工资

# 案例:返回job_id与141号员工相同,salary比143号员工多的员工 姓名,job_id和工资
# ①查询141号员工的job_id
SELECT `job_id`
FROM `employees`
WHERE `employee_id`=141;

# ②查询员工的salary
SELECT `salary`
FROM `employees`
WHERE `employee_id`=143;

# ③返回job_id与141号员工相同,salary比143号员工多的员工 姓名,job_id和工资
SELECT `first_name`,`job_id`,`salary`
FROM `employees`
WHERE `job_id`=(
	SELECT `job_id`
	FROM `employees`
	WHERE `employee_id`=141
)
AND `salary`>(
	SELECT `salary`
	FROM `employees`
	WHERE `employee_id`=143
);

image

在子查询中运用分组函数

案例:返回公司工资最少的员工的last_name,job_id和salary

# 案例:返回公司工资最少的员工的last_name,job_id和salary
# ①查询公司的最低工资
SELECT MIN(`salary`)
FROM `employees`;

# ②查询last_name,job_id和salary,要求salary=①
SELECT `last_name`,`job_id`,`salary`
FROM `employees`
WHERE `salary`=(
	SELECT MIN(`salary`)
	FROM `employees`
);

image

在having后面用子查询

image

案例:查询最低工资大于50号部门最低工资的部门id和其最低工资

# 案例:查询最低工资大于50号部门最低工资的部门id和其最低工资

# ①查询50号部门的最低工资
SELECT MIN(`salary`)
FROM `employees`
WHERE `department_id`=50;

# ②查询每个部门的最低工资
SELECT MIN(`salary`),`department_id`
FROM `employees`
GROUP BY `department_id`;

# ③筛选②,满足MIN(`salary`)>①
SELECT MIN(`salary`),`department_id`
FROM `employees`
GROUP BY `department_id`
HAVING MIN(`salary`)>(
	SELECT MIN(`salary`)
	FROM `employees`
	WHERE `department_id`=50
);

image

image

标签:salary,employees,查询,job,sql99,MySQL,WHERE,id,SELECT
来源: https://www.cnblogs.com/jgg54335/p/14963331.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有