JavaWeb之MySQL(2.1):MySQL子查询图解(MySQL的重难点)

不想看知识点图解?请直接看SQL语句演示,传送门:https://blog.csdn.net/qq_43265673/article/details/98307387
JavaWeb之MySQL(2.2):MySQL子查询代码演示(MySQL的重难点)

学习目标

描述子查询可以解决的问题。
定义子查询。
列出子查询的类型。
书写单行子查询和多行子查询。

使用子查询解决问题

谁的工资比 Abel 高?
在这里插入图片描述

子查询语法

子查询 (内查询) 在主查询之前一次执行完成。
子查询的结果被主查询(外查询)使用 。
在这里插入图片描述

子查询

在这里插入图片描述

子查询类型

在这里插入图片描述
注意事项
子查询要包含在括号内。
将子查询放在比较条件的右侧。
单行操作符对应单行子查询,多行操作符对应多行子查询。

单行子查询

只返回一行。
使用单行比较操作符。
在这里插入图片描述

执行单行子查询

题目:返回job_id与141号员工相同,salary比143号员工多的员工 姓名,job_id 和工资
在这里插入图片描述

在子查询中使用组函数

题目:返回公司工资最少的员工的last_name,job_id和salary
在这里插入图片描述

子查询中的 HAVING 子句

首先执行子查询。
向主查询中的HAVING 子句返回结果。
题目:查询最低工资大于50号部门最低工资的部门id和其最低工资
在这里插入图片描述

非法使用子查询

在这里插入图片描述

子查询中的空值问题

在这里插入图片描述
子查询不返回任何行

多行子查询

返回多行。
使用多行比较操作符。
在这里插入图片描述

在多行子查询中使用 ANY 操作符

题目:返回其它部门中比job_id为‘IT_PROG’部门任一工资低的员工的员工号、姓名、job_id 以及salary
在这里插入图片描述
题目:返回其它部门中比job_id为‘IT_PROG’部门所有工资都低的员工的员工号、姓名、job_id 以及salary
在这里插入图片描述

子查询中的空值问题

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值