📜  Teradata-SELECT语句

📅  最后修改于: 2020-11-29 08:57:14             🧑  作者: Mango


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

句法

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

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

考虑以下雇员表。

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;

上面的查询将从雇员表中获取所有记录。

条款

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 

订购

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

句法

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

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

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

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子句与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