Thứ Sáu, 24 tháng 6, 2016

Lệnh like trong mysql

- Mình đưa ra các ví dụ về lệnh like trong mysql rồi bạn từ các ví dụ đó tự tìm cách hiểu lệnh like này

Ví dụ 1 : khi viết là :

select * from san_pham where ten like '%xe đap%'

thì có nghĩa là chọn tất cả các cột (hoặc trường) từ bảng 'san_pham' ở nơi mà cột 'ten' ( trong bảng 'san_pham' ) có 2 từ 'xe đap'

+ Dấu % trước chữ 'xe đap' hiểu là chấp nhận tất cả các ký tự khác trước chữ 'xe đap'

+ Dấu % sau chữ 'xe đap' hiểu là chấp nhận tất cả các ký tự khác sau chữ 'xe đap'

Ví dụ 2 : khi viết là :

select * from tin_tuc where ten like '%du%' or ten like '%lich%' limit 0,15

thì có nghĩa là chọn tất cả các cột (hoặc trường) từ bảng 'tin_tuc' ở nơi mà cột 'ten' ( trong bảng 'tin_tuc' ) có từ 'du' hoặc có từ 'lich' và giới hạn tìm kiếm là trong 15 dòng dữ liệu đầu tiên  ( ở đây là có phân trang )

+ Viết như vậy thì tìm được các chuỗi sau : "du lich nuoc ngoai" , "du khach nuoc ngoai" , "lich trinh di choi".Lưu ý là trong chuỗi "du khach nuoc ngoai" thì không có từ "lich" và trong chuỗi "lich trinh di choi" thì không có từ "du"

+ Nếu cụm từ cần tìm dài hơn thì càng có nhiều từ or hơn.Ví dụ như cụm từ cần tìm là 'tram khong gian' thì viết là " ten like '%tram%' or ten like '%khong%' or ten like '%gian%' "

Ví dụ 3 : khi viết là :

select ten,hinh_anh from tin_tuc where ten like '%mua%' and ten like '%gio%'

thì có nghĩa là  chọn cột 'ten' và cột 'hinh_anh' trong bảng 'tin_tuc' có từ 'mua' và cột 'ten' cũng phải có từ 'gio'

+ Câu truy vấn trên sẽ tìm được chuỗi "mua gio hom nay it" và tìm được chuỗi "hom nay mua khong nhieu nhung co gio lon" (để ý trong chuỗi này thì từ 'mua' và từ 'gio' không viết liền nhau ).Câu truy vấn trên không tìm được chuỗi "hom nay mua lon" , lý do là vì chuỗi đó chỉ có từ 'mua' mà không có chữ 'gio'

+ Lưu ý là trong ví dụ này dùng and chứ không dùng or

Ví dụ 4 : khi viết là :

select * from san_pham where ten like 'dong ho%'

thì có nghĩa là chọn tất cả các cột (hoặc trường) trong bảng 'san pham' ở nơi mà cột 'ten' (trong bảng 'san_pham' ) có từ 'đong ho' đứng phía trước , còn tất cả các ký tự phía sau từ 'đong ho' là gì cũng được

+ Câu truy vấn trên sẽ tìm được chuỗi "đong ho nhap tu nuoc ngoai" nhưng không tìm được chuỗi "cac loai đong ho" ( do từ 'đong ho' không đứng phía trước chuỗi )

+ Dấu % sau chữ 'đong ho' hiểu là chấp nhận tất cả các ký tự khác sau chữ 'đong ho'