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