Toán Tử LIKE Trong SQL | Lập Trình Từ Đầu

1. Toán tử LIKE

Toán tử LIKE là toán tử được sử dụng sau mệnh đề WHERE trong các câu lệnh truy vấn. Trong toán tử LIKE có 2 ký tự thường được sử dụng đó là:

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

Cú pháp của toán tử LIKE như sau:

SELECT column1, column2, ... FROM table_name WHERE columnN LIKE pattern;

Dưới đây là bảng thể hiện các cách sử dụng ký tự phần trăm (%) và ký tự gạch dưới (_) cho toán tử LIKE

LIKE Operator Description
WHERE ColumnName LIKE ‘a%’ Tìm bất kỳ giá trị nào trong cột bắt đầu với “a”
WHERE ColumnName LIKE ‘%a’ Tìm bất kỳ giá trị nào trong cột kết thúc với “a”
WHERE ColumnName LIKE ‘%or%’ Tìm bất kỳ giá trị nào có từ “or” ở bất kỳ vị trí nào
WHERE ColumnName LIKE ‘_r%’ Tìm bất kỳ giá trị nào có “r” ở vị trí tiếp theo
WHERE ColumnName LIKE ‘a_%’ Tìm bất kỳ giá trị nào bắt đầu bằng “a” và có ít nhất 2 ký tự
WHERE ColumnName LIKE ‘a__%’ Tìm bất kỳ giá trị nào bắt đầu bằng “a” và có độ dài ít nhất 3 ký tự
WHERE ColumnName LIKE ‘a%o’ Tìm bất kỳ giá trị nào bắt đầu bằng “a” và kết thúc bằng “o”
2. Ví dụ toán tử LIKE

Dưới đây là bảng KhachHang bao gồm các cột: ID, TenKH, DiaChi, ThanhPho, SoDienThoai

ID TenKH DiaChi ThanhPho SoDienThoai
1 Nguyen Van A Tay Ho Ha Noi 0888999888
2 Nguyen Van B Quan 5 Ho Chi Minh 0988988988
3 Nguyen Van C Quan 7 Ho Chi Minh 0899899899
4 Nguyen Van D Bac Tu Liem Ha Noi 0788788788
5 Nguyen Van E Ngo Quen Hai Phong 0858585858
6 Nguyen Van F Ngu Hanh Son Da Nang 0969696969
7 Nguyen Van G Tay Ho Ha Noi 0838383838

Câu lệnh SQL sau chọn tất cả khách hàng có địa chỉ bắt đầu bằng ký tự “n

SELECT * FROM KhachHang WHERE TenKH LIKE 'n%';

Kết quả:

ID TenKH DiaChi ThanhPho SoDienThoai
5 Nguyen Van E Ngo Quen Hai Phong 0858585858
6 Nguyen Van F Ngu Hanh Son Da Nang 0969696969

Câu lệnh SQL sau chọn tất cả khách hàng có thành phố kết thúc bằng ký tự “i

SELECT * FROM KhachHang WHERE ThanhPho LIKE '%i';

Kết quả:

ID TenKH DiaChi ThanhPho SoDienThoai
1 Nguyen Van A Tay Ho Ha Noi 0888999888
4 Nguyen Van D Bac Tu Liem Ha Noi 0788788788
7 Nguyen Van G Tay Ho Ha Noi 0838383838

Câu lệnh SQL sau chọn tất cả khách hàng có địa chỉ bao gồm ký tự “Qu” ở bất kỳ vị trí nào:

SELECT * FROM KhachHang WHERE DiaChi LIKE '%Qu%';

Kết quả:

ID TenKH DiaChi ThanhPho SoDienThoai
2 Nguyen Van B Quan 5 Ho Chi Minh 0988988988
3 Nguyen Van C Quan 7 Ho Chi Minh 0899899899
5 Nguyen Van E Ngo Quen Hai Phong 0858585858
Câu lệnh SQL sau chọn tất cả khách hàng có tên khách hàng bắt đầu bằng ký tự “n” và kết thúc bằng “a“: SELECT * FROM KhachHang WHERE TenKH LIKE 'n%a';

Kết quả:

ID TenKH DiaChi ThanhPho SoDienThoai
1 Nguyen Van A Tay Ho Ha Noi 0888999888

Câu lệnh SQL sau chọn tất cả khách hàng có thành phố có ký tự “a” ở vị trí thứ hai:

SELECT * FROM KhachHang WHERE ThanhPho LIKE '_a%';

Kết quả:

ID TenKH DiaChi ThanhPho SoDienThoai
1 Nguyen Van A Tay Ho Ha Noi 0888999888
4 Nguyen Van D Bac Tu Liem Ha Noi 0788788788
5 Nguyen Van E Ngo Quen Hai Phong 0858585858
6 Nguyen Van F Ngu Hanh Son Da Nang 0969696969
7 Nguyen Van G Tay Ho Ha Noi 0838383838
Câu lệnh SQL sau chọn tất cả khách hàng có địa chỉ KHÔNG bắt đầu bằng “n“: SELECT * FROM KhachHang WHERE DiaChi NOT LIKE 'n%';

Kết quả:

ID TenKH DiaChi ThanhPho SoDienThoai
1 Nguyen Van A Tay Ho Ha Noi 0888999888
2 Nguyen Van B Quan 5 Ho Chi Minh 0988988988
3 Nguyen Van C Quan 7 Ho Chi Minh 0899899899
4 Nguyen Van D Bac Tu Liem Ha Noi 0788788788
7 Nguyen Van G Tay Ho Ha Noi 0838383838
Mẹo: Bạn cũng có thể kết hợp bất kỳ điều kiện nào bằng cách sử dụng toán tử AND hoặc toán tử OR

Từ khóa » Câu Lệnh Search Like Trong Sql