Header ads

Header ads
» » 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... cotN 
FROM ten_bang
WHERE [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 CUSTOMERS
ORDER 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 CUSTOMERS
ORDER 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ài trước: CLONE TABLE trong SQL

Bài tiếp: Truy vấn con SUBQUERY trong SQL


Tham gia nhóm Facebook

Cập nhật công nghệ từ Youtube tại link: https://www.youtube.com/channel/UCOxeYcvZPGf-mGLYSl_1LuA/videos
Để tham gia khóa học công nghệ truy cập link: http://thuvien.hocviendaotao.com
Mọi hỗ trợ về công nghệ email: dinhanhtuan68@gmail.com

About Học viện đào tạo trực tuyến

Xinh chào bạn. Tôi là Đinh Anh Tuấn - Thạc sĩ CNTT. Email: dinhanhtuan68@gmail.com .
- Nhận đào tạo trực tuyến lập trình dành cho nhà quản lý, kế toán bằng Foxpro, Access 2010, Excel, Macro Excel, Macro Word, chứng chỉ MOS cao cấp, IC3, tiếng anh, phần mềm, phần cứng .
- Nhận thiết kế phần mềm quản lý, Web, Web ứng dụng, quản lý, bán hàng,... Nhận Thiết kế bài giảng điện tử, số hóa tài liệu...
HỌC VIỆN ĐÀO TẠO TRỰC TUYẾN:TẬN TÂM-CHẤT LƯỢNG.
«
Next
Bài đăng Mới hơn
»
Previous
Bài đăng Cũ hơn