0
0
Lập trình
NM

Toán tử LIKE trong SQL: Cách sử dụng và thực tiễn tốt nhất

Đăng vào 5 giờ trước

• 2 phút đọc

Giới thiệu

Toán tử LIKE trong SQL cho phép bạn lọc dữ liệu chuỗi bằng cách sử dụng các mẫu đơn giản. Điều này đặc biệt hữu ích khi bạn cần tìm kiếm các giá trị không chính xác mà chỉ cần khớp một phần. Từ việc truy vấn tên, email đến địa chỉ, LIKE giúp mã SQL của bạn linh hoạt hơn.

Cách hoạt động của toán tử LIKE

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

Copy
SELECT * FROM table WHERE column LIKE 'pattern';

Bạn có thể sử dụng:

  • % đại diện cho nhiều ký tự
  • _ đại diện cho một ký tự duy nhất

Ví dụ cụ thể:

  • '%data%': chứa “data”
  • 'A%': bắt đầu bằng “A”
  • '____': đúng 4 ký tự

Ví dụ sử dụng thực tế

1. Khớp email:

sql Copy
SELECT * FROM users WHERE email LIKE '%@gmail.com';

2. Tên bắt đầu bằng “A”:

sql Copy
SELECT * FROM employees WHERE first_name LIKE 'A%';

3. Chứa từ khóa:

sql Copy
SELECT * FROM articles WHERE content LIKE '%error%';

4. Khớp chiều dài:

sql Copy
SELECT * FROM codes WHERE code LIKE '____';

Thực tiễn tốt nhất khi sử dụng LIKE

  • Tránh sử dụng ký tự đại diện ở đầu (%abc) để cho phép sử dụng chỉ mục.
  • Sử dụng mẫu chỉ định để cải thiện hiệu suất.
  • Kết hợp với LENGTH() hoặc SUBSTRING() để kiểm soát tốt hơn.
  • Chú ý đến độ nhạy với chữ hoa và cài đặt collation.
  • Cân nhắc chỉ mục và kế hoạch EXPLAIN khi tối ưu hóa truy vấn.

Câu hỏi thường gặp (FAQ)

Toán tử LIKE có thể làm việc với nhiều giá trị không?
Có, bạn có thể sử dụng OR, hoặc với LIKE ANY trong PostgreSQL.

Tôi có thể sử dụng LIKE trên số không?
Có, miễn là hệ quản trị cơ sở dữ liệu (DBMS) có thể xử lý chúng như chuỗi.

LIKE có chậm không?
Có thể, đặc biệt với ký tự đại diện ở đầu ('%abc'). Sử dụng chỉ mục và mẫu chỉ định để tối ưu hóa.

LIKE có nhạy cảm với chữ hoa không?
Phụ thuộc vào collation. Bạn có thể chuẩn hóa bằng LOWER() nếu cần.

LIKE có thể sử dụng regex không?
Không. Sử dụng các hàm regex (ví dụ: SIMILAR TO) cho các mẫu nâng cao.

Kết luận

Toán tử LIKE có vẻ đơn giản nhưng lại rất mạnh mẽ. Bằng cách thành thạo cách sử dụng nó, bạn có thể viết các truy vấn SQL linh hoạt và hiệu quả hơn. Để chạy và thử nghiệm các mẫu này dễ dàng, hãy xem xét các công cụ như DbVisualizer. Nó hỗ trợ nhiều cơ sở dữ liệu và giúp việc khám phá dữ liệu nhanh chóng và trực quan—dù cho các mẫu của bạn có phức tạp đến đâu.

Để tìm hiểu thêm về toán tử LIKE trong SQL, hãy đọc bài viết "Hướng Dẫn Toàn Diện về Toán Tử LIKE trong SQL".

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào