Hello! 欢迎来到小浪云!


子查询


子查询是另一个更大查询中的查询。它们对于获取稍后将在主查询中使用的特定信息很有用。

类型

  • 单行子查询:

返回单个值。

  • 多行子查询

返回多行

  • 相关子查询

它取决于主查询中的列,这意味着它对外部查询中的每一行执行一次。

  • 嵌套子查询

其中包含另一个子查询的子查询。

  • 标量子查询

返回单个值(类似于单行子查询),但可以用作 select 中的列。

子查询可以出现在查询的 3 个位置:

  • 选择
  • 来自或内部
  • 哪里

每个部分都有一套规则。
例如:

  • select 中的子查询应返回单个值,例如:
select      nombre,     (select max(salary) from employees) as max_salary from employees; 
  • from or inner 中的子查询应返回一组行

  • where 中的子查询应返回包含许多行的列,例如:

SELECT NAME FROM EMPLOYEES WHERE DEPARTMENT_ID = (SELECT ID FROM DEPARTMENTS WHERE DEPARTMENT = 'IT'); 

相关阅读