Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> SQL

SQL LIKE: Hướng dẫn sử dụng

Toán tử SQL LIKE dùng ký tự đại diện (wildcards) để tìm dữ liệu tương tự một mẫu cụ thể. Bạn có thể dùng dấu gạch dưới (_) thay thế cho một ký tự đơn hoặc dấu phần trăm (%) thay thế cho không, một hoặc nhiều ký tự.

Bạn có bao giờ muốn truy xuất thông tin từ các cột chứa giá trị tương tự giá trị khác? Ví dụ: bạn có bảng employees. Có thể bạn muốn lấy danh sách nhân viên có chức danh chứa "Sales".

Đó là lúc toán tử SQL LIKE phát huy tác dụng. Trong bài viết này, chúng ta sẽ phân tích cách dùng toán tử LIKE trên máy chủ SQL để thực hiện truy vấn cụ thể hơn.

SQL LIKE

Toán tử SQL LIKE tìm bản ghi trong cơ sở dữ liệu có giá trị cột khớp với một mẫu cụ thể. Mẫu được biểu diễn bằng dấu phần trăm, dấu gạch dưới và văn bản bạn tìm kiếm.

Ví dụ: dùng LIKE lấy tất cả nhân viên tên kết thúc bằng S, hoặc chức danh bao gồm Associate.

Toán tử LIKE dùng ký tự đại diện (wildcard characters) để lấy dữ liệu khớp mẫu. Hai ký tự đại diện thường dùng với LIKE:

  • _ (dấu gạch dưới) — đại diện cho một ký tự đơn.
  • % (dấu phần trăm) — đại diện cho không, một hoặc nhiều ký tự.

Cấu trúc truy vấn dùng toán tử LIKE:

SELECT ten_cot FROM ten_bang WHERE ten_cot LIKE mau;

Trong cú pháp này, dùng LIKE trong câu lệnh SQL SELECT. Bạn có thể dùng toán tử này trong INSERT, UPDATE, DELETE.

Hãy dùng ví dụ minh họa SQL LIKE hoạt động.

Ví dụ SQL LIKE

Giả sử có bảng thông tin nhân viên làm việc cho doanh nghiệp. Muốn lấy tên và chi nhánh của mọi nhân viên làm việc tại chi nhánh tên bắt đầu bằng chữ S.

Dùng truy vấn:

SELECT name, branch FROM employees WHERE branch LIKE 'S%';

Cơ sở dữ liệu SQL server trả về:

namebranch
MikeStamford
GeoffSan Francisco
HannahSan Francisco

(3 hàng)

Dấu phần trăm sau chữ S báo cho mã biết: muốn lấy mọi chi nhánh tên bắt đầu bằng S. Truy vấn trả về mọi chuỗi ký tự khớp.

Nếu muốn lấy tên và chức danh mọi nhân viên là associate (kể cả senior associate), dùng truy vấn:

SELECT name, title FROM employees WHERE title LIKE '%Associate%';

Truy vấn tìm tất cả nhân viên tên khớp mẫu '%Associate%'. Kết quả:

nametitle
LukeSales Associate
MikeSales Associate
AlexisSales Associate
HannahSales Associate
GeoffSenior Sales Associate

Ví dụ SQL NOT LIKE

Chúng ta có thể dùng toán tử NOT LIKE để chọn tất cả bản ghi không đáp ứng điều kiện nhất định. Câu lệnh NOT LIKE là kết hợp của SQL NOT và LIKE. Câu lệnh NOT tìm bản ghi không đáp ứng điều kiện.

Ví dụ: dùng NOT LIKE lấy tên mọi nhân viên có tên không dài 4 ký tự. Truy vấn SQL:

SELECT name FROM employees WHERE name NOT LIKE '____';

Truy vấn bỏ qua nhân viên tên không dài 4 ký tự và trả về phần còn lại.

Mỗi dấu gạch dưới đại diện cho một ký tự. Nếu tên dài hơn hoặc ngắn hơn 4 ký tự, nó sẽ không xuất hiện trong kết quả.

Cơ sở dữ liệu trả về tất cả bản ghi khớp mẫu tìm kiếm:

name
Alexis
Hannah
Jonah
Geoff

(4 hàng)

Kết luận

Toán tử SQL LIKE cho phép dùng mẫu (pattern) để tìm bản ghi trong cơ sở dữ liệu. Bạn có thể dùng bản ghi này để tìm bản ghi tương tự mà không cần chỉ định khớp chính xác. Toán tử LIKE xuất hiện trong phần WHERE của câu lệnh SQL.

Trong bài viết, chúng ta thảo luận cách dùng câu lệnh LIKE SQL để làm cho truy vấn cụ thể hơn. Cũng thảo luận cách dùng NOT LIKE lấy thông tin không đáp ứng quy tắc cụ thể.

Chúng tôi đã viết hướng dẫn tối thượng cho người học SQL giúp bạn có kiến thức cần thiết để trở thành nhà phát triển cơ sở dữ liệu chuyên nghiệp. Xem tại trang How to Learn SQL.