Giới thiệu về SQL Wildcards
SQL Wildcards là các ký tự đặc biệt cho phép chúng ta tìm kiếm các bản ghi trong cơ sở dữ liệu mà không cần phải biết chính xác giá trị của trường đó. Wildcards rất hữu ích trong các câu lệnh truy vấn khi chúng ta chỉ muốn lọc ra một phần của dữ liệu mà không cần phải khớp toàn bộ.
Định nghĩa
Trong SQL, hai loại wildcard phổ biến nhất là:
- Percent Sign (%): Đại diện cho bất kỳ chuỗi ký tự nào (bao gồm cả chuỗi rỗng).
- Underscore (_): Đại diện cho một ký tự đơn lẻ.
Cú pháp
SQL Wildcards thường được sử dụng trong mệnh đề LIKE. Cú pháp cơ bản như sau:
SELECT column1, column2, ... FROM table_name WHERE column_name LIKE pattern;
Các ví dụ
Ví dụ 1: Sử dụng Percent Sign (%)
Giả sử chúng ta có một bảng Customers như sau:
| CustomerID | CustomerName | |------------|----------------| | 1 | Nguyen Van A | | 2 | Tran Thi B | | 3 | Le Van C | | 4 | Nguyen Van D | | 5 | Tran Van E |
Để tìm tất cả các khách hàng có tên bắt đầu bằng "Nguyen", chúng ta sử dụng truy vấn:
SELECT * FROM Customers WHERE CustomerName LIKE 'Nguyen%';
Kết quả sẽ bao gồm:
| CustomerID | CustomerName | |------------|----------------| | 1 | Nguyen Van A | | 4 | Nguyen Van D |
Ví dụ 2: Sử dụng Underscore (_)
Nếu chúng ta muốn tìm tất cả các khách hàng có tên dài 11 ký tự và chữ thứ bảy là "a", chúng ta có thể sử dụng truy vấn như sau:
SELECT * FROM Customers WHERE CustomerName LIKE '_______a___';
Kết quả trả về sẽ là các khách hàng có tên khớp với điều kiện này.
Ví dụ 3: Kết hợp Wildcards
Chúng ta cũng có thể kết hợp cả hai loại wildcard trong một truy vấn. Ví dụ, để tìm khách hàng có tên bắt đầu bằng "Nguyen" và kết thúc bằng "a", chúng ta có thể sử dụng:
SELECT * FROM Customers WHERE CustomerName LIKE 'Nguyen%a';
Câu lệnh trên sẽ trả về tất cả các khách hàng có tên bắt đầu bằng "Nguyen" và kết thúc bằng "a".
Kết luận
SQL Wildcards là công cụ mạnh mẽ giúp việc tìm kiếm trong cơ sở dữ liệu trở nên linh hoạt hơn. Kết hợp giữa Percent Sign (%) và Underscore (_) cho phép chúng ta dễ dàng lọc và tìm kiếm các bản ghi theo nhu cầu cụ thể. Khi sử dụng đúng cách, wildcards có thể làm tăng hiệu quả và độ chính xác trong các truy vấn SQL.