Testing là quá trình quan trọng để đảm bảo chất lượng sản phẩm phần mềm. Trong testing, việc nắm vững truy vấn SQL sẽ giúp bạn nhanh chóng thực hiện các chức năng cần truy vấn và tìm kiếm dữ liệu. Truy vấn SQL sử dụng ký tự đại diện (Wildcard) giúp bạn tìm kiếm dữ liệu một cách linh hoạt và hiệu quả.
Ký tự "%": Tìm kiếm dựa trên một chuỗi ký tự
1. Cú pháp và Mô tả
Cú pháp Toán Tử LIKE Mô Tả 1 WHERE column_name LIKE 'a%' Tìm giá trị bắt đầu với "a" 2 WHERE column_name LIKE '%a' Tìm giá trị kết thúc với "a" 3 WHERE column_name LIKE '%a%' Tìm giá trị có "a" ở bất kỳ vị trí nào 4 WHERE column_name LIKE 'a%o' Tìm giá trị bắt đầu với "a" và kết thúc với "o"
2. Ví dụ áp dụng
Hãy xem các ví dụ sau để hiểu rõ hơn về cách sử dụng ký tự "%":
Ví dụ 1: Tìm tất cả các thành viên QA có tên bắt đầu bằng chữ "T":
SELECT * FROM thuong.qa_member WHERE qa_full_name LIKE 'T%';
Ví dụ 2: Tìm tất cả các thành viên QA có tên kết thúc bằng chữ "Trinh":
SELECT * FROM thuong.qa_member WHERE qa_full_name LIKE '%Trinh';
Ví dụ 3: Tìm tất cả các thành viên QA có tên chứa từ "Thị" ở bất kỳ vị trí nào:
SELECT * FROM thuong.qa_member WHERE qa_full_name LIKE '%Thị%';
Ví dụ 4: Tìm tất cả các thành viên QA có tên bắt đầu bằng "Nguyễn" và kết thúc bằng "h":
SELECT * FROM thuong.qa_member WHERE qa_full_name LIKE 'Nguyễn%h';
Ký tự "_": Tìm kiếm dựa trên ký tự đơn
1. Cú pháp và Mô tả
Cú pháp Toán Tử LIKE Mô Tả 1 WHERE column_name LIKE '_a%' Tìm giá trị có "a" ở vị trí thứ hai 2 WHERE columnname LIKE 'a%%' Tìm giá trị bắt đầu với "a" và có ít nhất ba ký tự 3 WHERE column_name LIKE '_a%o' Tìm giá trị có "a" ở vị trí thứ hai và kết thúc bằng "o"
2. Ví dụ áp dụng
Ví dụ 1: Tìm tất cả các thành viên QA có tên chứa "u" ở vị trí thứ hai:
SELECT * FROM thuong.qa_member WHERE qa_short_name LIKE '_u%';
Ví dụ 2: Tìm tất cả các thành viên QA có tên bắt đầu bằng "T" và có ít nhất ba ký tự:
SELECT * FROM thuong.qa_member WHERE qa_short_name LIKE 'T%_%';
Ví dụ 3: Tìm tất cả các thành viên QA có tên có "u" ở vị trí thứ hai và kết thúc bằng "g":
SELECT * FROM thuong.qa_member WHERE qa_short_name LIKE '_u%g';
Ký tự "[charlist]": Tìm kiếm dựa trên một tập hợp ký tự
Cú pháp: Tìm tất cả các thành viên QA có tên bắt đầu bằng "T" hoặc "L":
SELECT * FROM thuong.qa_member WHERE qa_short_name LIKE '[TL]%';
Kết quả sẽ được như sau:
Ký tự "[! charlist]": Tìm kiếm dựa trên không phù hợp với một tập hợp ký tự
Cú pháp: Tìm tất cả các thành viên QA không bắt đầu bằng "T" hoặc "L":
SELECT * FROM thuong.qa_member WHERE qa_short_name LIKE '[!TL]%';
hoặc
SELECT * FROM thuong.qa_member WHERE qa_short_name NOT LIKE '[TL]%';
Với các ký tự đại diện như "%", "_", "[charlist]", và "[! charlist]", bạn có thể dễ dàng tìm kiếm dữ liệu trong truy vấn SQL một cách linh hoạt và mạnh mẽ. Áp dụng chúng để tăng tốc độ và hiệu suất của quá trình testing của bạn!