Teradata - Toán tử logic và điều kiện

Teradata hỗ trợ các toán tử logic và điều kiện sau. Các toán tử này được sử dụng để thực hiện so sánh và kết hợp nhiều điều kiện.

Cú pháp Ý nghĩa
> Lớn hơn
< Ít hơn
>= Lớn hơn hoặc bằng
<= Ít hơn hoặc bằng
= Tương đương với
BETWEEN Nếu giá trị trong phạm vi
IN Nếu các giá trị trong <biểu thức>
NOT IN Nếu các giá trị không có trong <biểu thức>
IS NULL Nếu giá trị là NULL
IS NOT NULL Nếu giá trị KHÔNG ĐẦY ĐỦ
AND Kết hợp nhiều điều kiện. Chỉ đánh giá đúng nếu tất cả các điều kiện được đáp ứng
OR Kết hợp nhiều điều kiện. Chỉ đánh giá đúng nếu một trong hai điều kiện được đáp ứng.
NOT Đảo ngược ý nghĩa của điều kiện

GIỮA

Lệnh BETWEEN được sử dụng để kiểm tra xem một giá trị có nằm trong một phạm vi giá trị hay không.

Thí dụ

Hãy xem xét bảng nhân viên sau đây.

Nhân viên Không Tên đầu tiên LastName Ngày tham gia Bộ phận Không Ngày sinh
101 Mike James 27/3/2005 1 1/5/1980
102 Robert Williams 25/4/2007 2 3/5/1983
103 Peter Paul 21/3/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

Ví dụ sau tìm nạp các bản ghi có số nhân viên trong phạm vi từ 101,102 đến 103.

SELECT EmployeeNo, FirstName FROM  
Employee 
WHERE EmployeeNo BETWEEN 101 AND 103;

Khi truy vấn trên được thực thi, nó sẽ trả về các bản ghi nhân viên có nhân viên không từ 101 đến 103.

*** Query completed. 3 rows found. 2 columns returned. 
*** Total elapsed time was 1 second. 
 EmployeeNo            FirstName 
-----------  ------------------------------ 
   101                   Mike 
   102                   Robert 
   103                   Peter

TRONG

Lệnh IN được sử dụng để kiểm tra giá trị so với danh sách các giá trị đã cho.

Thí dụ

Ví dụ sau tìm nạp các bản ghi có số nhân viên là 101, 102 và 103.

SELECT EmployeeNo, FirstName FROM  
Employee 
WHERE EmployeeNo in (101,102,103);

Truy vấn trên trả về các bản ghi sau.

*** Query completed. 3 rows found. 2 columns returned. 
*** Total elapsed time was 1 second.  
 EmployeeNo            FirstName 
-----------  ------------------------------ 
   101                   Mike 
   102                   Robert 
   103                   Peter

KHÔNG VÀO

Lệnh NOT IN đảo ngược kết quả của lệnh IN. Nó tìm nạp các bản ghi có giá trị không khớp với danh sách đã cho.

Thí dụ

Ví dụ sau tìm nạp các bản ghi có số nhân viên không thuộc 101, 102 và 103.

SELECT * FROM  
Employee 
WHERE EmployeeNo not in (101,102,103);

Truy vấn trên trả về các bản ghi sau.

*** Query completed. 2 rows found. 6 columns returned. 
*** Total elapsed time was 1 second. 
 EmployeeNo          FirstName                      LastName 
----------- ------------------------------ -----------------------------    
    104                Alex                          Stuart 
    105                Robert                        James