Teradata-select-statement

提供:Dev Guides
移動先:案内検索

Teradata-SELECTステートメント

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;

上記のクエリは、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

注文する

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句は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