18/08/2018, 11:04

(LIKE) Truy xuất dữ liệu dựa theo chuỗi trong MySQL

Từ khóa LIKE được dùng để truy xuất dữ liệu dựa theo một quy tắc tìm kiếm chuỗi . Cú pháp SELECT * FROM name_table WHERE name_column LIKE chuỗi_muốn_tìm; Ví dụ Chúng ta có một bảng sinh_vien như sau: (Bạn có thể bấm vào đây để download câu lệnh tạo bảng như bên dưới) ...

Từ khóa LIKE được dùng để truy xuất dữ liệu dựa theo một quy tắc tìm kiếm chuỗi.

Cú pháp

SELECT *
FROM name_table
WHERE name_column LIKE chuỗi_muốn_tìm;

Ví dụ

Chúng ta có một bảng sinh_vien như sau:

(Bạn có thể bấm vào đây để download câu lệnh tạo bảng như bên dưới)

Full_name Gender Age City
Nguyen Thanh Nhan Nam 19 Can Tho
Pham Thu Huong Nu 20 Vinh Long
Nguyen Nhu Ngoc Nu 20 Soc Trang
Bui Thanh Bao Nam 19 Soc Trang
Le My Nhan Nu 22 Can Tho
Tan Thuc Bao Nam 35 An Giang
Trinh Giao Kim Nam 44 Bac Lieu

Ví dụ

Truy xuất những sinh viên có họ tên là "Tan Thuc Bao"

SELECT *
FROM sinh_vien
WHERE Full_name LIKE "Tan Thuc Bao";

Sau khi thực thi, MySQl trả về một bảng kết quả như dưới đây:

Full_name Gender Age City
Tan Thuc Bao Nam 35 An Giang

Các ký tự đại diện trong quy tắc tìm kiếm chuỗi

Ký tự đại diện được dùng để đại diện cho một hoặc nhiều ký tự trong một chuỗi.

Dưới đây là danh sách các ký tự đại diện:

Ký tự đại diện Mô tả
% Đại diện cho không hoặc nhiều ký tự
_ Đại kiện cho một ký tự

Một số ví dụ

Chúng ta tiếp tục sử dụng bảng sinh_vien ở phía trên để làm ví dụ.

Ví dụ 1

Truy xuất những sinh viên mà họ tên bắt đầu bằng chữ "Nguyen"

SELECT *
FROM sinh_vien
WHERE Full_name LIKE "Nguyen%";

Sau khi thực thi, MySQl trả về một bảng kết quả như dưới đây:

Full_name Gender Age City
Nguyen Thanh Nhan Nam 19 Can Tho
Nguyen Nhu Ngoc Nu 20 Soc Trang

Ví dụ 2

Truy xuất những sinh viên mà họ tên kết thúc bằng chữ "Bao" hoặc "Huong"

SELECT *
FROM sinh_vien
WHERE (Full_name LIKE "%Bao") OR (Full_name LIKE "%Huong");

Sau khi thực thi, MySQl trả về một bảng kết quả như dưới đây:

Full_name Gender Age City
Pham Thu Huong Nu 20 Vinh Long
Bui Thanh Bao Nam 19 Soc Trang
Tan Thuc Bao Nam 35 An Giang

Ví dụ 3

Truy xuất những sinh viên mà họ tên có chứa chữ "Thanh"

SELECT *
FROM sinh_vien
WHERE Full_name LIKE "%Thanh%";

Sau khi thực thi, MySQl trả về một bảng kết quả như dưới đây:

Full_name Gender Age City
Nguyen Thanh Nhan Nam 19 Can Tho
Bui Thanh Bao Nam 19 Soc Trang

Ví dụ 4

Truy xuất những sinh viên mà trong họ tên có chứa ít nhất 2 chữ T

SELECT *
FROM sinh_vien
WHERE Full_name LIKE "%T%T%";

Sau khi thực thi, MySQl trả về một bảng kết quả như dưới đây:

Full_name Gender Age City
Tan Thuc Bao Nam 35 An Giang

Ví dụ 5

Truy xuất những sinh viên mà ký tự thứ 2 trong họ tên là "e"

SELECT *
FROM sinh_vien
WHERE Full_name LIKE "_e%";

Sau khi thực thi, MySQl trả về một bảng kết quả như dưới đây:

Full_name Gender Age City
Le My Nhan Nu 22 Can Tho

Ví dụ 6

Truy xuất những sinh viên mà 3 ký tự ở vị trí 345 trong họ tên là "inh" hoặc 2 ký tự gần ký tự cuối là "go"

SELECT *
FROM sinh_vien
WHERE (Full_name LIKE "__inh%") OR (Full_name LIKE "%go_");

Sau khi thực thi, MySQl trả về một bảng kết quả như dưới đây:

Full_name Gender Age City
Nguyen Nhu Ngoc Nu 20 Soc Trang
Trinh Giao Kim Nam 44 Bac Lieu

Từ khóa NOT LIKE

Cách sử dụng từ khóa NOT LIKE với các ký tự đại diện cũng giống như cách sử dụng từ khóa LIKE.

Tuy nhiên về mặt ý nghĩa thì từ khóa NOT LIKE trái ngược với từ khóa LIKE.

Từ khóa NOT LIKE có nghĩa là KHÔNG GIỐNG VỚI CHUỖI MUỐN TÌM.

Ví dụ

Truy xuất những sinh viên mà họ tên không có chứa chữ "Thanh"

SELECT *
FROM sinh_vien
WHERE Full_name NOT LIKE "%Thanh%";

Sau khi thực thi, MySQl trả về một bảng kết quả như dưới đây:

Full_name Gender Age City
Pham Thu Huong Nu 20 Vinh Long
Nguyen Nhu Ngoc Nu 20 Soc Trang
Le My Nhan Nu 22 Can Tho
Tan Thuc Bao Nam 35 An Giang
Trinh Giao Kim Nam 44 Bac Lieu
Bài liên quan

Hướng dẫn truy xuất dữ liệu XML bằng PHP

Nếu bạn đang gặp khó khăn trong việc lấy dữ liệu từ file XML thì ví dụ mà mình chia sẻ sau đây sẽ giúp bạn dễ dàng quản lý và làm chủ được file XML , ví dụ rất đơn giản nhưng thật sự hữu ích cho những bạn mới lập trình, các bạn đừng nên bỏ qua. Sau đây là ví dụ của mình : <?php $xml = ...

Tạ Quốc Bảo viết 17:43 ngày 04/10/2018

[C#] Hướng dẫn xuất dữ liệu ra CSV hoặc Excel từ câu lệnh truy vấn T-SQL

Lúc trước, mình đã có bài viết hướng dẫn các bạn cách xuất dữ liệu từ C# database sqlserver ra file Excel có định dạng. Tuy nhiên, với cách exports từ database ra Excel như bài trước. Nếu dữ liệu chúng ta từ 2000 dòng trở lên, thì các bạn sẽ gặp vấn đề là quá ...

Trịnh Tiến Mạnh viết 00:49 ngày 02/10/2018

[SQLSERVER] Truy vấn dữ liệu không tồn tại trong bảng khác sử dụng NOT IN, NOT EXISTS, EXCEPT, LEFT OUTER JOIN

Bài viết hôm nay, mình sẽ hướng dẫn các bạn cách truy vấn tìm dữ liệu có ở bảng này nhưng không tồn tại trong bảng kia, sử dụng NOT IN, NOT EXISTS, EXCEPT, LEFT OUTER JOIN trong Sqlserver. VD: Mình có hai bảng dữ liệu. Một bảng là danh sách ...

Vũ Văn Thanh viết 00:19 ngày 02/10/2018

COUNT() Đếm số lượng mẫu tin (dữ liệu, hàng) của bảng trong MySQL

Hàm COUNT() được dùng để đếm số lượng mẫu tin (dữ liệu, hàng) trong bảng. Cú pháp SELECT COUNT(*) FROM table_name; Một số ví dụ Chúng ta có một bảng sinh_vien như sau: (Bạn có thể bấm vào đây để download câu lệnh tạo bảng như bên dưới) Full_name Gender Age City ...

Hoàng Hải Đăng viết 11:10 ngày 18/08/2018

(LIKE) Truy xuất dữ liệu dựa theo chuỗi trong MySQL

Từ khóa LIKE được dùng để truy xuất dữ liệu dựa theo một quy tắc tìm kiếm chuỗi . Cú pháp SELECT * FROM name_table WHERE name_column LIKE chuỗi_muốn_tìm; Ví dụ Chúng ta có một bảng sinh_vien như sau: (Bạn có thể bấm vào đây để download câu lệnh tạo bảng như bên dưới) ...

Hoàng Hải Đăng viết 11:04 ngày 18/08/2018
0