Teradata 简明教程

Teradata - SELECT Statement

SELECT 语句用于从表中检索记录。

Syntax

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

SELECT
column 1, column 2, .....
FROM
tablename;

Example

考虑以下员工表。

EmployeeNo

FirstName

LastName

JoinedDate

DepartmentNo

BirthDate

101

Mike

James

3/27/2005

1

1/5/1980

102

Robert

Williams

4/25/2007

2

3/5/1983

103

Peter

Paul

3/21/2007

2

4/1/1983

104

Alex

Stuart

2/1/2008

2

11/6/1984

105

Robert

James

1/4/2008

3

12/1/1984

下面是 SELECT 语句的一个示例。

SELECT EmployeeNo,FirstName,LastName
FROM Employee;

执行此查询时,它会从 employee 表中提取 EmployeeNo、FirstName 和 LastName 列。

 EmployeeNo            FirstName                       LastName
-----------  ------------------------------  ---------------------------
   101                   Mike                            James
   104                   Alex                            Stuart
   102                   Robert                          Williams
   105                   Robert                          James
   103                   Peter                           Paul

如果您想提取表中的所有列,您可以使用以下命令,而不必列出所有列。

SELECT * FROM Employee;

上述查询将从 employee 表中提取所有记录。

WHERE Clause

WHERE 子句用于过滤 SELECT 语句返回的记录。一个条件与 WHERE 子句相关联。只有满足 WHERE 子句中条件的记录才会被返回。

Syntax

下面是带 WHERE 子句的 SELECT 语句的语法。

SELECT * FROM tablename
WHERE[condition];

Example

以下查询提取 EmployeeNo 为 101 的记录。

SELECT * FROM Employee
WHERE EmployeeNo = 101;

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

 EmployeeNo          FirstName                      LastName
----------- ------------------------------ -----------------------------
   101                 Mike                           James

ORDER BY

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

Syntax

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

SELECT * FROM tablename
ORDER BY column 1, column 2..;

Example

以下查询从 employee 表中提取记录,并按 FirstName 对结果进行排序。

SELECT * FROM Employee
ORDER BY FirstName;

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

 EmployeeNo         FirstName                      LastName
----------- ------------------------------ -----------------------------
    104               Alex                           Stuart
    101               Mike                           James
    103               Peter                          Paul
    102               Robert                         Williams
    105               Robert                         James

GROUP BY

GROUP BY 子句与 SELECT 语句配合使用,并将类似的记录整理到组中。

Syntax

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

SELECT column 1, column2 …. FROM tablename
GROUP BY column 1, column 2..;

Example

以下示例按 DepartmentNo 列对记录进行分组,并识别每个部门的总数。

SELECT DepartmentNo,Count(*) FROM
Employee
GROUP BY DepartmentNo;

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

 DepartmentNo    Count(*)
------------  -----------
     3             1
     1             1
     2             3