10.2where后的 标量(一行一列)子查询使用.——MySQL

-- where或having后面
/*1.标量子查询(单行子查询)
2.列子查询(多行子查询)

3.行子查询(多列多行)

特点:
①子查询一般放在小括号内
②子查询一般放在条件的右侧
③标量子查询,一般搭配着单行操作符使用(>、<、>=、<=、<>)
④一般搭配着多行操作符使用(in、ang/some、all)
⑤子查询的执行优先于主查询的执行
*/

-- 1.标量子查询
-- 案例1:谁的工资比Abel高
SELECT *
FROM employees
WHERE salary>(
	select salary
	FROM employees
	WHERE last_name="Abel"
);

/*
案例2:返回job_id与141号员工相同,salary比143员工多的员工 的last_name job_id 和 salary
①查询141号员工的job_id
②查询141号员工的工资
*/
SELECT last_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);

-- 案例3:返回公司工资最少的员工的last_name,job_id和salary
SELECT last_name,job_id,salary
FROM employees
WHERE salary=(
	SELECT MIN(salary)
	FROM employees);


-- 案例4:查询最低工资大于50号部门最低工资的部门id和其最低工资
-- 注意:其中用了group by 因为要查询的是每个部门的最低工资,所以要按照部门id分类
SELECT department_id,MIN(salary)
FROM employees
GROUP BY department_id
HAVING MIN(salary)>(
	SELECT MIN(salary)
	FROM employees
  WHERE department_id=50);
















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值