Teradata教程

Teradata 子查询

子查询根据另一个表中的值返回一个表中的记录。它是另一个查询中的 SELECT 查询。首先执行称为内部查询的 SELECT 查询,结果由外部查询使用。它的一些显着特点是-
一个查询可以有多个子查询,子查询可以包含另一个子查询。 子查询不会返回重复的记录。 如果子查询只返回一个值,您可以使用 = 运算符将其与外部查询一起使用。如果它返回多个值,您可以使用 IN 或 NOT IN。

语法

以下是子查询的通用语法。
SELECT col1, col2, col3,… 
FROM  
outer Table 
WHERE col1 operator ( Inner SELECT Query);

示例

考虑以下薪资表。
EmployeeNo 毛额 演绎 NetPay
101 40,000 4,000 36,000
102 80,000 6,000 74,000
103 90,000 7,000 83,000
104 75,000 5,000 70,000
以下查询标识工资最高的员工编号。内部 SELECT 执行聚合函数以返回最大 NetPay 值,外部 SELECT 查询使用此值返回具有此值的员工记录。
SELECT EmployeeNo, NetPay 
FROM Salary 
WHERE NetPay =  
(SELECT MAX(NetPay)  
FROM Salary);
执行此查询时,会产生以下输出。
*** Query completed. One row found. 2 columns returned. 
*** Total elapsed time was 1 second.  
 EmployeeNo     NetPay 
----------------------
    103         83000 
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4