Teradata - instrukcja SELECT
Instrukcja SELECT służy do pobierania rekordów z tabeli.
Składnia
Poniżej znajduje się podstawowa składnia instrukcji SELECT.
SELECT 
column 1, column 2, ..... 
FROM  
tablename; 
    Przykład
Rozważ poniższą tabelę pracowników.
| Pracownik numer | Imię | Nazwisko | JoinedDate | DepartmentNo | Data urodzenia | 
|---|---|---|---|---|---|
| 101 | Mikrofon | James | 27.03.2005 | 1 | 05.01.1980 | 
| 102 | Robert | Williams | 25.04.2007 | 2 | 05.03.1983 | 
| 103 | Piotr | Paweł | 21.03.2007 | 2 | 01.04.1983 | 
| 104 | Alex | Stuart | 01.02.2008 | 2 | 06.11.1984 | 
| 105 | Robert | James | 1/4/2008 | 3 | 01.12.1984 | 
Poniżej znajduje się przykład instrukcji SELECT.
SELECT EmployeeNo,FirstName,LastName 
FROM Employee; 
    Kiedy to zapytanie jest wykonywane, pobiera kolumny EmployeeNo, FirstName i LastName z tabeli pracowników.
EmployeeNo            FirstName                       LastName 
-----------  ------------------------------  --------------------------- 
   101                   Mike                            James 
   104                   Alex                            Stuart 
   102                   Robert                          Williams 
   105                   Robert                          James 
   103                   Peter                           Paul 
    Jeśli chcesz pobrać wszystkie kolumny z tabeli, możesz użyć następującego polecenia zamiast wypisywać wszystkie kolumny.
SELECT * FROM Employee; 
    Powyższe zapytanie pobierze wszystkie rekordy z tabeli pracowników.
Klauzula GDZIE
Klauzula WHERE służy do filtrowania rekordów zwracanych przez instrukcję SELECT. Warunek jest powiązany z klauzulą WHERE. Zwracane są tylko rekordy spełniające warunek w klauzuli WHERE.
Składnia
Poniżej znajduje się składnia instrukcji SELECT z klauzulą WHERE.
SELECT * FROM tablename 
WHERE[condition]; 
    Przykład
Następujące zapytanie pobiera rekordy, w których EmployeeNo to 101.
SELECT * FROM Employee 
WHERE EmployeeNo = 101; 
    Po wykonaniu tego zapytania zwraca następujące rekordy.
EmployeeNo          FirstName                      LastName 
----------- ------------------------------ ----------------------------- 
   101                 Mike                           James 
    ZAMÓW PRZEZ
Po wykonaniu instrukcji SELECT zwracane wiersze nie są w określonej kolejności. Klauzula ORDER BY służy do porządkowania rekordów w porządku rosnącym / malejącym w dowolnych kolumnach.
Składnia
Poniżej znajduje się składnia instrukcji SELECT z klauzulą ORDER BY.
SELECT * FROM tablename 
ORDER BY column 1, column 2..; 
    Przykład
Następujące zapytanie pobiera rekordy z tabeli pracowników i porządkuje wyniki według FirstName.
SELECT * FROM Employee 
ORDER BY FirstName; 
    Kiedy powyższe zapytanie jest wykonywane, generuje następujące dane wyjściowe.
EmployeeNo         FirstName                      LastName 
----------- ------------------------------ ----------------------------- 
    104               Alex                           Stuart 
    101               Mike                           James 
    103               Peter                          Paul 
    102               Robert                         Williams 
    105               Robert                         James 
    GRUPUJ WEDŁUG
Klauzula GROUP BY jest używana z instrukcją SELECT i porządkuje podobne rekordy w grupy.
Składnia
Poniżej znajduje się składnia instrukcji SELECT z klauzulą GROUP BY.
SELECT column 1, column2 …. FROM tablename 
GROUP BY column 1, column 2..; 
    Przykład
Poniższy przykład grupuje rekordy według kolumny DepartmentNo i identyfikuje łączną liczbę z każdego działu.
SELECT DepartmentNo,Count(*) FROM   
Employee 
GROUP BY DepartmentNo; 
    Kiedy powyższe zapytanie jest wykonywane, generuje następujące dane wyjściowe.
DepartmentNo    Count(*) 
------------  ----------- 
     3             1 
     1             1 
     2             3