Teradata - คำสั่ง SELECT
คำสั่ง SELECT ใช้เพื่อดึงข้อมูลจากตาราง
ไวยากรณ์
ต่อไปนี้เป็นไวยากรณ์พื้นฐานของคำสั่ง SELECT
SELECT
column 1, column 2, .....
FROM
tablename;
ตัวอย่าง
พิจารณาตารางพนักงานต่อไปนี้
พนักงาน | ชื่อจริง | นามสกุล | วันที่เข้าร่วม | แผนก | วันที่เกิด |
---|---|---|---|---|---|
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 |
ต่อไปนี้เป็นตัวอย่างของคำสั่ง SELECT
SELECT EmployeeNo,FirstName,LastName
FROM Employee;
เมื่อเรียกใช้แบบสอบถามนี้จะดึงคอลัมน์ EmployeeNo, FirstName และ LastName จากตารางพนักงาน
EmployeeNo FirstName LastName
----------- ------------------------------ ---------------------------
101 Mike James
104 Alex Stuart
102 Robert Williams
105 Robert James
103 Peter Paul
หากคุณต้องการดึงคอลัมน์ทั้งหมดจากตารางคุณสามารถใช้คำสั่งต่อไปนี้แทนการลงรายการคอลัมน์ทั้งหมด
SELECT * FROM Employee;
แบบสอบถามข้างต้นจะดึงบันทึกทั้งหมดจากตารางพนักงาน
WHERE ข้อ
คำสั่ง WHERE ใช้เพื่อกรองระเบียนที่ส่งคืนโดยคำสั่ง SELECT เงื่อนไขเกี่ยวข้องกับ WHERE clause เฉพาะระเบียนที่ตรงตามเงื่อนไขในส่วนคำสั่ง WHERE เท่านั้นที่จะถูกส่งกลับ
ไวยากรณ์
ต่อไปนี้เป็นไวยากรณ์ของคำสั่ง SELECT ที่มีส่วนคำสั่ง WHERE
SELECT * FROM tablename
WHERE[condition];
ตัวอย่าง
แบบสอบถามต่อไปนี้ดึงข้อมูลโดยที่ EmployeeNo คือ 101
SELECT * FROM Employee
WHERE EmployeeNo = 101;
เมื่อเรียกใช้แบบสอบถามนี้จะส่งคืนระเบียนต่อไปนี้
EmployeeNo FirstName LastName
----------- ------------------------------ -----------------------------
101 Mike James
สั่งโดย
เมื่อดำเนินการคำสั่ง SELECT แถวที่ส่งคืนจะไม่อยู่ในลำดับเฉพาะใด ๆ ORDER BY clause ใช้เพื่อจัดเรียงระเบียนจากน้อยไปมาก / มากไปหาน้อยในคอลัมน์ใด ๆ
ไวยากรณ์
ต่อไปนี้เป็นไวยากรณ์ของคำสั่ง SELECT ที่มีคำสั่ง ORDER BY
SELECT * FROM tablename
ORDER BY column 1, column 2..;
ตัวอย่าง
แบบสอบถามต่อไปนี้ดึงข้อมูลจากตารางพนักงานและเรียงลำดับผลลัพธ์ตาม FirstName
SELECT * FROM Employee
ORDER BY FirstName;
เมื่อดำเนินการค้นหาข้างต้นจะสร้างผลลัพธ์ต่อไปนี้
EmployeeNo FirstName LastName
----------- ------------------------------ -----------------------------
104 Alex Stuart
101 Mike James
103 Peter Paul
102 Robert Williams
105 Robert James
GROUP BY
GROUP BY clause ใช้กับคำสั่ง SELECT และจัดเรียงระเบียนที่คล้ายกันเป็นกลุ่ม
ไวยากรณ์
ต่อไปนี้เป็นไวยากรณ์ของคำสั่ง SELECT ที่มีคำสั่ง GROUP BY
SELECT column 1, column2 …. FROM tablename
GROUP BY column 1, column 2..;
ตัวอย่าง
ตัวอย่างต่อไปนี้จัดกลุ่มระเบียนตามคอลัมน์ DepartmentNo และระบุจำนวนรวมจากแต่ละแผนก
SELECT DepartmentNo,Count(*) FROM
Employee
GROUP BY DepartmentNo;
เมื่อดำเนินการค้นหาข้างต้นจะสร้างผลลัพธ์ต่อไปนี้
DepartmentNo Count(*)
------------ -----------
3 1
1 1
2 3