子查询中where查询条件要用IN(**在里面)关键字 或者=ANY(任意**)关键字,来表示值在这个子查询中。
    注意:使用ANY/ALL谓词时必须同时使用比较运算符

    >any 大于子查询结果中的某个值
    <any 小于子查询结果中的某个值
    >=any 大于等于子查询结果中的某个值
    <=any 小于等于子查询结果中的某个值
    =any 等于子查询结果中的某个值
    !=any或<>any 不等于子查询结果中的某个值
    >all 大于子查询结果中的所有值
    <all 小于子查询结果中的所有值
    >=all 大于等于子查询结果中的所有值
    <=all 小于等于子查询结果中的所有值
    =all 等于子查询结果中的所有值
    !=all或<>all 不等于子查询结果中的任何一个值

    例子:

    1. SELECT * FROM employees
    2. WHERE DepartmentID = (SELECT DepartmentID FROM departments WHERE DepartmentName='财务部')

    当子查询中的结果只有一条时,where的查询条件可以用=等号,否则会报错。需要用IN关键字

    1. SELECT * FROM employees
    2. WHERE employees.EmployeeID = (SELECT EmployeeID FROM salary WHERE InCome < 2500)

    1242 - Subquery returns more than 1 row
    子查询多于一行
    要改为

    1. SELECT * FROM employees
    2. WHERE employees.EmployeeID IN (SELECT EmployeeID FROM salary WHERE InCome < 2500)

    搜狗截图21年05月11日2200_13.png
    或者在子查询前加any关键字

    1. SELECT * FROM employees
    2. WHERE employees.EmployeeID =ANY(SELECT EmployeeID FROM salary WHERE InCome < 2500)