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