Xử lý bản sao - HANDLING DUPLICATE trong SQL
Có tình huống dữ liệu có nhiều bản ghi trùng lặp trong một bảng và bạn muốn lấy ra bản ghi duy nhất chứ không phải lấy ra tất cả các bản ghi trùng lặp. Để xử lý tình huống này, hãy sử dụng từ khoá DISTINCT trong SQL kết hợp với câu lệnh SELECT, bạn sẽ loại bỏ được tất cả các bản ghi trùng lặp và chỉ lấy ra bản ghi duy nhất.
Cú pháp
Cú pháp cơ bản của từ khóa DISTINCT để loại bỏ các bản sao là như sau:
SELECT DISTINCT cot1, cot2... cotNFROM ten_bangWHERE [dieu_kien]
Ví dụ minh họa cách xử lý Duplicate trong SQL
Xét bảng NHANVIEN có các bản ghi sau:
+----+----------+-----+-----------+----------+ | ID | TEN |TUOI | DIACHI | LUONG | +----+----------+-----+-----------+----------+ | 1 | Thanh | 32 | Haiphong | 2000.00 | | 2 | Loan | 25 | Hanoi | 1500.00 | | 3 | Nga | 23 | Hanam | 2000.00 | | 4 | Manh | 25 | Hue | 6500.00 | | 5 | Huy | 27 | Hatinh | 8500.00 | | 6 | Cao | 22 | HCM | 4500.00 | | 7 | Lam | 24 | Hanoi | 10000.00 | +----+----------+-----+-----------+----------+
Đầu tiên, chúng ta xem cách truy vấn SELECT trả về bản sao của LUONG:
SQL> SELECT SALARY FROM CUSTOMERSORDER BY SALARY;
Trong kết quả thu được, LUONG 2000 xuất hiện hai lần, và là một bản sao từ bảng ban đầu.
+----------+ | LUONG | +----------+ | 1500.00 | | 2000.00 | | 2000.00 | | 4500.00 | | 6500.00 | | 8500.00 | | 10000.00 | +----------+
Bây giờ, sử dụng từ khóa DISTINCT với truy vấn SELECT trên và xem kết quả:
SQL> SELECT DISTINCT SALARY FROM CUSTOMERSORDER BY SALARY;
Trong kết quả thu được, bạn sẽ không thấy bất kỳ bản sao nào.
+----------+ | LUONG | +----------+ | 1500.00 | | 2000.00 | | 4500.00 | | 6500.00 | | 8500.00 | | 10000.00 | +----------+
Bạn nên đọc
Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:
Cũ vẫn chất
-

So sánh Windows 11 Home và Pro: Đâu là phiên bản phù hơp dành cho bạn?
3 ngày -

Hướng dẫn tải Minecraft miễn phí trên iPhone
3 ngày 3 -

Hướng dẫn tự xóa tin nhắn trên Messenger
3 ngày -

Viết chương trình tính căn bậc hai của một số bằng Python
3 ngày -

Danh sách DNS tốt, nhanh nhất của Google, VNPT, FPT, Viettel, Singapore
3 ngày -

Câu nói hay về ngày 30/4, 1-5 hay và ý nghĩa
3 ngày -

Những câu đố về con vật hay nhất
3 ngày -

Acronis True Image
-

40+ câu nói ‘xoắn lưỡi’ tiếng Việt, Anh, thách bạn có thể nói nhanh liên tiếp 5 lần mà vẫn trôi chảy
3 ngày -

Những câu nói, status nói về những người bạn đểu cực thâm, cực thấm
3 ngày 3
Hướng dẫn AI
Học IT
Hàm Excel
Download