📅  最后修改于: 2021-01-11 11:27:33             🧑  作者: Mango
Teradata子查询根据另一个表中的值返回一个表中的记录。
它是另一个查询中的SELECT查询。首先执行称为内部查询的SELECT查询,外部查询使用结果。它的一些最重要的功能是:
句法
以下是Teradata子查询的通用语法。
SELECT col1, col2, col3,...
FROM
Outer Table
WHERE col1 OPERATOR (Inner SELECT Query);
例
考虑以下雇员的工资表。
Employee_IdGross | Deduction | NetPay | |
---|---|---|---|
1001 | 40,000 | 4,000 | 36,000 |
1002 | 80,000 | 6,000 | 74,000 |
1003 | 90,000 | 7,000 | 83,000 |
1004 | 75,000 | 5,000 | 70,000 |
以下查询标识薪水最高的员工ID。内部SELECT执行聚合函数以返回最大NetPay值,外部SELECT查询使用此值返回具有该值的员工记录。
SELECT Employee_Id, NetPay
FROM Salary
WHERE NetPay =
(SELECT MAX(NetPay)
FROM Salary);
执行此查询时,将产生以下输出。
/* Query completed. One row found. 2 columns returned */
/* Total elapsed time was 1 second */
Employee_Id NetPay
1003 83000