Teradata Select 语句

2025年3月17日 | 阅读 3 分钟

SELECT 语句是最常用的 SQL 语句。 SELECT 语句用于从表中检索记录。

语法

以下是 SELECT 语句的基本语法。

示例

假设有以下学生表。

学号名字姓氏出生日期
1001James威廉姆斯1/5/1980
1002RobertVadra3/5/1983
1003彼得Dinklage4/1/1983
1004AlexaBliss11/6/1984
1005EdwardNorton12/1/1984

现在执行以下 SELECT 语句查询。

执行以上查询时,它会从 student 表中获取 RollNo、FirstName 和 LastName 列。

学号名字姓氏
1001James威廉姆斯
1002RobertVadra
1003彼得Dinklage
1004AlexaBliss
1005EdwardNorton

如果我们要从表中获取所有列,我们使用以下命令而不是列出所有列。

以上查询将从 student 表中获取所有记录。

选项、子句和列表

我们可以将以下选项、列表和子句与 SELECT 语句一起使用,以从 Teradata 数据库请求数据,例如

  • DISTINCT 选项
  • FROM 子句
  • WHERE 子句,包括子查询
  • GROUP BY 子句
  • HAVING 子句
  • QUALIFY 子句
  • ORDER BY 子句
    • CASESPECIFIC 选项
    • 国际排序
  • WITH 子句
  • 查询表达式和集合运算符

SELECT INTO 语句是 Select 语句的另一种变体。它用于嵌入式 SQL 和存储过程。

SELECT INTO 语句从表中最多选择一行,并将该行中的值分配给嵌入式 SQL 中的宿主变量,或者分配给 Teradata 数据库存储过程中的局部变量或参数。

WHERE 子句

WHERE 子句用于过滤由 SELECT 语句返回的记录。 条件与 WHERE 子句相关联。 在 WHERE 子句中,仅返回那些满足条件的记录。

语法

以下是带有 WHERE 子句的 SELECT 语句的语法。

示例

在以下查询中,我们尝试从给定的学生表中获取 RollNo 为 1001 的记录。

执行以上查询时,它返回以下记录。

学号名字姓氏
1001James威廉姆斯

ORDER BY

执行 SELECT 语句时,返回的行没有任何特定顺序。 ORDER BY 子句用于按任何列的升序或降序排列记录。

语法

以下是带有 ORDER BY 子句的 SELECT 语句的语法。

示例

在以下查询中,我们从学生表中获取记录,并按 FirstName 对结果进行排序。

执行上述查询后,它将产生以下输出。

学号名字姓氏
1004AlexaBliss
1005EdwardNorton
1001James威廉姆斯
1003彼得Dinklage
1002RobertVadra

GROUP BY

GROUP BY 子句与 SELECT 语句一起使用,并将相似的记录排列成组。

语法

以下是带有 GROUP BY 子句的 SELECT 语句的语法。

SELECT 语句和集合运算符

SELECT 语句可以使用集合运算符 UNION、INTERSECT 和 MINUS/EXCEPT。 这些集合运算符允许通过将每个查询的结果组合到单个结果集中来操作两个或多个查询的答案。

我们可以在以下操作中使用集合运算符

  • 视图定义
  • 派生表
  • 子查询

SELECT 语句和联接

SELECT 语句可以引用两个或多个表中的数据,并且关系联接将来自引用表的数据组合在一起。

这样,SELECT 语句定义了指定表的联接,以便比不定义表联接更有效地检索数据。

我们可以指定内连接和外连接

  1. 内连接从满足特定联接条件的两个或多个表中选择数据。 每个源都必须命名,并且联接条件是要联接的表之间的常见关系。 它可以位于 ON 子句或 WHERE 子句中。
  2. 外连接是内连接的扩展,它包括符合简单内连接条件的行,以及一组未匹配查询所表达的联接条件的指定行。