DISTINCT ใช้ทำอะไร?
DISTINCT ใช้ใน SELECT เพื่อ กำจัดแถวซ้ำ ในผลลัพธ์ คืนเฉพาะค่าที่ไม่ซ้ำกัน
รูปแบบคำสั่ง
SELECT DISTINCT column_list
FROM table_name
[WHERE condition];
พฤติกรรม
- 1 คอลัมน์: คืนค่า unique ของคอลัมน์นั้น
- หลายคอลัมน์: คืน การผสมผสาน (Combination) ที่ unique
- NULL ถือเป็นค่าหนึ่งค่า จะปรากฏในผลลัพธ์ (ไม่ ignore NULL)
ตัวอย่าง
1. 1 คอลัมน์ (Expression)
SELECT DISTINCT ho
FROM nhanvien
WHERE nhanvien_id >= 50;
คืนรายชื่อนามสกุลที่ไม่ซ้ำของพนักงาน ID ≥ 50
2. หลายคอลัมน์ (Multiple Expressions)
SELECT DISTINCT ten, ho
FROM nhanvien
WHERE nhanvien_id >= 50
ORDER BY ho;
คืนคู่ (ten, ho) ที่ไม่ซ้ำกัน เรียงตาม ho
หมายเหตุ: DISTINCT ทำงานบน ชุดผลลัพธ์สุดท้าย อาจช้ากว่า GROUP BY ในบางกรณี (แต่ GROUP BY ไม่รับประกันลำดับ)