Chủ Nhật, 30 tháng 7, 2023

Toán tử LIKE và NOT LIKE trong SQL

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.

Mục lục

  • 1. Like trong T-SQL
  • 2. Not Like trong T-SQL
  • 3. Một vài ví dụ khác với Like trong SQL

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ể.

Cú pháp
1
2
3
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 tranvanbinh.vn, vietdba.vn

Ví dụ: Lấy danh sách khách hàng có họ Nguyễn.

1
2
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.

1
2
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.

1
2
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, Ý, ...

1
2
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.

1
2
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.

=============================
Nếu bạn muốn tiết kiệm 3-5 NĂM trên con đường trở thành DBA chuyên nghiệp thì hãy đăng ký ngay KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE, được Coaching trực tiếp từ tôi với toàn bộ kinh nghiệm, thủ tục, quy trình, bí kíp thực chiến mà bạn sẽ KHÔNG THỂ tìm kiếm trên Internet/Google giúp bạn dễ dàng quản trị mọi hệ thống Core tại Việt Nam và trên thế giới, đỗ OCP.
- CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
- Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
2 khóa học online qua video giúp bạn nhanh chóng có những kiến thức nền tảng về Linux, Oracle, học mọi nơi, chỉ cần có Internet/4G:
- Oracle cơ bản: https://bit.ly/admin1_1200
- Linux: https://bit.ly/linux_1200
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master