csworkman

个人博客

mysql-子查询

2021-8-24 Mr Chang 数据库

子查询分类:
一.按子查询出现的位置:
    select后面:仅仅支持标量子查询
    from后面:支持表子查询
    where或having后面:⭐️
             标量子查询
             列子查询
             行子查询
    exists 后面 (相关子查询)
             表子查询
二.按结果集的行列数不同:   
     标量子查询(结果集只有一行一列)
     列子查询 (结果集只有一列多行)
     行子查询(结果集有一行多列)
     表子查询(结果集一般为多行多列)     

子查询特点:
1⃣️子查询放在小括号内
2⃣️子查询一般放在条件的右侧
3⃣️标量子查询,一般搭配着单行操作符
4⃣️子查询执行优先于主查询执行,主查询的条件
非法使用标量子查询:子查询的条件与查询结果不属于标量数据类型提示为非法使用标量子查询

exisits 查询 结果返回1或0;
标量子查询举例
#案例1:谁的工资比able高
SELECT  * 
FROM employees 
where salary > (
    SELECT 
    salary 
    FROM employees
    WHERE last_name ='Able'
);
#案例2 查询最低工资大于50号部门最低工资的部门ID和最低工资。表名 employees  部门ID department_id  工资 salary ?


评论:

emlog
2021-08-24 15:47
写的不错
Copy-Jin
2021-08-24 15:45
写的不错
emlog
2021-08-24 15:52
@Copy-Jin:谢谢

发表评论: