Teradata 子查询

17 Mar 2025 | 阅读 2 分钟

Teradata 子查询基于另一个表中的值从一个表中返回记录。

它是一个查询中的 SELECT 查询。 称为内部查询的 SELECT 查询首先执行,外部查询使用结果。 它的一些最重要的功能是

  • 一个查询可以有多个子查询,子查询可能包含另一个子查询。
  • 子查询不返回重复记录。
  • 如果子查询只返回一个值,那么我们可以使用 = 运算符将其与外部查询一起使用。 如果它返回多个值,那么我们可以使用 IN 或 NOT IN。
  • 子查询必须用括号括起来。

语法

以下是 Teradata 子查询的通用语法。

示例

考虑以下员工的 Salary 表。

Employee_Id GrossDeduction (扣除额)NetPay (实付工资)
100140,0004,00036,000
100280,0006,00074,000
100390,0007,00083,000
100475,0005,00070,000

以下查询标识具有最高工资的员工 Id。 内部 SELECT 执行聚合函数以返回最大的 NetPay 值,外部 SELECT 查询使用该值返回具有此值的员工记录。

执行此查询时,会产生以下输出。

     /* Query completed. One row found. 2 columns returned  */
     /* Total elapsed time was 1 second */

 Employee_Id        NetPay 
 
     1003            83000 

下一个主题Teradata Substring