Teradata - Mantıksal ve Koşullu Operatörler

Teradata, aşağıdaki mantıksal ve koşullu operatörleri destekler. Bu operatörler, karşılaştırma yapmak ve birden çok koşulu birleştirmek için kullanılır.

Sözdizimi Anlam
> Büyüktür
< Daha az
>= Büyük veya eşit
<= Küçüktür veya eşittir
= Eşittir
BETWEEN Aralık dahilindeki değerler
IN <İfade> içindeki değerler
NOT IN Değerler <ifade> içinde değilse
IS NULL Değer NULL ise
IS NOT NULL Değer NULL DEĞİLSE
AND Birden çok koşulu birleştirin. Yalnızca tüm koşullar karşılanırsa doğru olarak değerlendirilir
OR Birden çok koşulu birleştirin. Yalnızca koşullardan biri karşılanırsa doğru olarak değerlendirilir.
NOT Koşulun anlamını tersine çevirir

ARASINDA

BETWEEN komutu, bir değerin bir değer aralığı içinde olup olmadığını kontrol etmek için kullanılır.

Misal

Aşağıdaki çalışan tablosunu düşünün.

Çalışan Hayır İsim Soyadı JoinedDate Bölüm No Doğum günü
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

Aşağıdaki örnek, 101.102 ile 103 arasında çalışan sayılarına sahip kayıtları getirir.

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

Yukarıdaki sorgu yürütüldüğünde 101 ile 103 arasında çalışan numarası ile çalışan kayıtlarını döndürür.

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

İÇİNDE

IN komutu, değeri verilen bir değerler listesiyle karşılaştırmak için kullanılır.

Misal

Aşağıdaki örnek, 101, 102 ve 103'te çalışan sayılarına sahip kayıtları getirir.

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

Yukarıdaki sorgu aşağıdaki kayıtları döndürür.

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

DEĞİL

NOT IN komutu IN komutunun sonucunu tersine çevirir. Verilen listeyle eşleşmeyen değerlere sahip kayıtları getirir.

Misal

Aşağıdaki örnek, çalışan numaraları 101, 102 ve 103'te olmayan kayıtları getirir.

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

Yukarıdaki sorgu aşağıdaki kayıtları döndürür.

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