Teradata - SELECT 语句



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

语法

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

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

示例

考虑以下员工表。

员工编号 FirstName LastName 入职日期 部门编号 出生日期
101 迈克 詹姆斯 3/27/2005 1 1/5/1980
102 罗伯特 威廉姆斯 4/25/2007 2 3/5/1983
103 彼得 保罗 3/21/2007 2 4/1/1983
104 亚历克斯 斯图尔特 2/1/2008 2 11/6/1984
105 罗伯特 詹姆斯 1/4/2008 3 12/1/1984

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

SELECT EmployeeNo,FirstName,LastName 
FROM 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;

以上查询将从员工表中提取所有记录。

WHERE 子句

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

语法

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

SELECT * FROM tablename 
WHERE[condition];

示例

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

SELECT * FROM Employee 
WHERE EmployeeNo = 101;

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

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

ORDER BY

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

语法

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

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

示例

以下查询从员工表中提取记录,并按 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 语句一起使用,并将类似的记录整理成组。

语法

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

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

示例

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

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

当执行以上查询时,它将产生以下输出。

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