Trong bài này chúng ta sẽ tìm hiểu lệnh LIKE, lệnh này dùng để so khớp một chuỗi theo một định dạng cho trước (chuỗi mẫu). Chuỗi mẫu sẽ sử dụng những ký tự đại diện và so sánh với chuỗi gốc.
1. Like trong T-SQL
Phạm vi bài này ta chỉ học hai kí tự đại diện đó là:
_
là ký tự đại diện cho một ký tự bất kỳ.%
là ký tự dại diện cho một hoặc nhiều ký tự bất kì.
Ngoài ra bạn có thể sử dung biểu thức chính quy, nhưng vì nó hơi khó nên mình sẽ trình bày ở một bài khác, hoặt là sẽ được học tại một bộ môn SQL cụ thể.
SELECT columns_list FROM table_name WHERE column_name LIKE "chuoi_mau"
Trong đó chuoi_mau
là chuỗi mà bạn tạo ra để so sánh với chuỗi gốc, còn column_name và table_name là tên các columns và tên table, nó quá quen thuộc với bạn rồi phải không nào?
Bài viết này được đăng tại [kiso.vn]
Ví dụ: Lấy danh sách khách hàng có họ Nguyễn.
SELECT * FROM CUSTOMER WHERE NAME LIKE "Nguyen%"
2. Not Like trong T-SQL
NOT LIKE sẽ có tác dụng phủ định với lệnh LIKE, tức là nếu biểu mẫu so khớp sai thì dòng dữ liệu đó sẽ được chọn.
Ví dụ: Lấy danh sách sinh viên có tên không được bắt đầu bằng chữ A.
SELECT * FROM STUDENTS WHERE FIRST_NAME NOT LIKE "A%"
3. Một vài ví dụ khác với Like trong SQL
Mình sẽ đưa thêm một vài ví dụ nữa để bạn tham khảo nhé.
Ví dụ 1: Lấy tất cả những khách hàng có tên bắt đầu bằng chữ A.
SELECT * FROM CUSTOMER WHERE FIRST_NAME LIKE "a%"
Ví dụ 2: Lấy khách hàng có tên là một ký tự duy nhất. Vi dụ tên A, Ý, …
SELECT * FROM CUSTOMER WHERE FIRST_NAME LIKE "_"
Ví dụ 3: Lấy danh sách bài viết có tiêu đề xuất hiện chữ Hà Nội.
SELECT * FROM POSTS WHERE TITLE LIKE "%Ha Noi%"
Lệnh này khá hay phải không các bạn, nó thường được dùng để tìm kiếm dữ liệu trong chuỗi. Tuy nhiên về mặt tốc độ thì nó khá chậm, vì vậy các hệ quản trị CSDL đã đưa ra những kỹ thuật như full text search để giúp tìm kiếm nhanh hơn.
Bài viết liên quan
[CSF-2] Một số thiết lập CSF, LFD
Hôm nay mình sẽ thực hiện một số thiết lập trên CSF Mở file config để sửa đổi một số tính năng dưới /etc/csf/csf.conf Nội dung chính1. Like trong T-SQL2. Not Like trong T-SQL3. Một...
[CSF-1] Tăng bảo mật Server với ConfigServer Firewall (CSF)
Nội dung chính1. Like trong T-SQL2. Not Like trong T-SQL3. Một vài ví dụ khác với Like trong SQL1. Khái niệm CSF: CSF (ConfigServer & Firewall) là một bộ ứng dụng hoạt động trên Linux...
Sử dụng SSH Key với Gitlab và Github
Bài viết này mình sẽ hướng dẫn các bạn tạo ssh key cho Gitlab và Github SSH là gì? Secure Socket Shell là một giao thức mạng dùng để thiết lập kết nối mạng một...
Directory traversal vulnerabilities (phần 4)
Nội dung chính1. Like trong T-SQL2. Not Like trong T-SQL3. Một vài ví dụ khác với Like trong SQLV. Phân tích và khai thác các lỗ hổng Directory traversal (tiếp) 5. Bypass lỗ hổng khi...
Directory traversal vulnerabilities (phần 3)
Nội dung chính1. Like trong T-SQL2. Not Like trong T-SQL3. Một vài ví dụ khác với Like trong SQLV. Phân tích và khai thác các lỗ hổng Directory traversal 1. Lỗ hổng xảy ra khi...
Directory traversal vulnerabilities (phần 2)
Nội dung chính1. Like trong T-SQL2. Not Like trong T-SQL3. Một vài ví dụ khác với Like trong SQLIII. Vì sao lỗ hổng Directory traversal xuất hiện? Với mỗi ngôn ngữ lập trình khác nhau,...