Teradata - ตัวดำเนินการทางตรรกะและเงื่อนไข

Teradata สนับสนุนตัวดำเนินการทางตรรกะและเงื่อนไขต่อไปนี้ ตัวดำเนินการเหล่านี้ใช้เพื่อทำการเปรียบเทียบและรวมหลายเงื่อนไข

ไวยากรณ์ ความหมาย
> มากกว่า
< น้อยกว่า
>= มากกว่าหรือเท่ากับ
<= น้อยกว่าหรือเท่ากับ
= เท่ากับ
BETWEEN ถ้าค่าอยู่ในช่วง
IN ถ้าค่าใน <expression>
NOT IN หากค่าไม่อยู่ใน <expression>
IS NULL ถ้าค่าเป็นโมฆะ
IS NOT NULL ถ้าค่าไม่เป็นโมฆะ
AND รวมหลายเงื่อนไข ประเมินเป็นจริงก็ต่อเมื่อตรงตามเงื่อนไขทั้งหมด
OR รวมหลายเงื่อนไข ประเมินเป็นจริงก็ต่อเมื่อตรงตามเงื่อนไขข้อใดข้อหนึ่ง
NOT กลับความหมายของเงื่อนไข

ระหว่าง

คำสั่ง BETWEEN ใช้เพื่อตรวจสอบว่าค่าอยู่ในช่วงของค่าหรือไม่

ตัวอย่าง

พิจารณาตารางพนักงานต่อไปนี้

พนักงาน ชื่อจริง นามสกุล วันที่เข้าร่วม แผนก วันที่เกิด
101 ไมค์ เจมส์ 27/3/2548 1 1/5/1980
102 โรเบิร์ต วิลเลียมส์ 25/4/2550 2 5/3/1983
103 ปีเตอร์ พอล 21/3/2550 2 1/1/2553
104 อเล็กซ์ สจวร์ต 1/2/2561 2 11/6/1984
105 โรเบิร์ต เจมส์ 1/4/2561 3 1/12/1984

ตัวอย่างต่อไปนี้ดึงข้อมูลที่มีหมายเลขพนักงานอยู่ในช่วงระหว่าง 101,102 ถึง 103

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

เมื่อดำเนินการค้นหาข้างต้นจะส่งคืนระเบียนพนักงานโดยมีพนักงานไม่อยู่ระหว่าง 101 ถึง 103

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

ใน

คำสั่ง IN ใช้เพื่อตรวจสอบค่ากับรายการค่าที่กำหนด

ตัวอย่าง

ตัวอย่างต่อไปนี้ดึงข้อมูลที่มีหมายเลขพนักงานใน 101, 102 และ 103

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

แบบสอบถามข้างต้นส่งคืนระเบียนต่อไปนี้

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

ไม่ได้อยู่ใน

คำสั่ง NOT IN ย้อนกลับผลลัพธ์ของคำสั่ง IN เรียกข้อมูลที่มีค่าที่ไม่ตรงกับรายการที่กำหนด

ตัวอย่าง

ตัวอย่างต่อไปนี้ดึงข้อมูลที่มีหมายเลขพนักงานไม่อยู่ใน 101, 102 และ 103

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

แบบสอบถามข้างต้นส่งคืนระเบียนต่อไปนี้

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