开发手册 欢迎您!
软件开发者资料库

Teradata - SubQueries

Teradata SubQueries - 从简单和简单的步骤学习Teradata,从基本到高级概念,包括简介,安装,架构,关系概念,数据类型,表格,数据操作,SELECT语句,逻辑和条件运算符,SET运算符,字符串处理,日期/时间函数,内置函数,聚合函数,CASE和COALESCE,主索引,连接,子查询,表类型,空间概念,二级索引,统计,压缩,解释,哈希算法,JOIN索引,视图,宏,存储过程,JOIN策略,分区主索引,OLAP功能,数据保护,用户管理,性能调整,FastLoad,MultiLoad,FastExport,BTEQ。

子查询根据另一个表中的值从一个表返回记录.它是另一个查询中的SELECT查询.首先执行称为内部查询的SELECT查询,结果由外部查询使用.它的一些显着特征是 :

  • 查询可以有多个子查询,子查询可能包含另一个子查询.

  • 子查询不返回重复记录.

  • 如果子查询只返回一个值,则可以use =运算符将它与外部查询一起使用.如果它返回多个值,你可以使用IN或NOT IN.

语法

以下是子查询的通用语法.

SELECT col1, col2, col3,… FROM  Outer Table WHERE col1 OPERATOR ( Inner SELECT Query);

示例

考虑以下薪资表.

EmployeeNoGross扣除NetPay
10140,0004,00036,000
10280,0006,00074,000
10390,0007,00083,000
10475,0005,00070,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