MySQL随记 - 子查询

# 进阶7:子查询
/*
含义:
出现在其他语句中的select语句,成为子查询或内查询
外部的查询语句,称为主查询或外查询

分类:
按子查询出现的位置:
    select后面[标量子查询]
    from后面[表子查询]
    ☆where或having后面[标量子查询/列子查询/行子查询]
    exists后面(相关子查询)[表子查询]
按结果集的行列数不同
    标量子查询(结果集只有一行一列)
    列子查询(结果集只有一列多行)
    行子查询(结果集有一行多列)
    表子查询(结果集一般为多行多列)
*/


# 一、where或having后面
# 特点:
# ①子查询放在小括号内
# ②子查询一般放在条件右侧
# ③标量子查询,一般搭配单行操作符使用 > < = <>
# ④列子查询,一般搭配 IN/ANY/SOME/ALL

# 案例1:查询谁工资比Abel高
SELECT * FROM employees WHERE salary > (SELECT salary FROM employees WHERE last_name = 'Abel')

相关推荐