SQL - Kí tự đại diện: Hướng dẫn thân thiện cho người mới bắt đầu

Xin chào các bạn đam mê SQL! Hôm nay, chúng ta sẽ cùng lặn sâu vào thế giới kỳ diệu của các kí tự đại diện trong SQL. Đừng lo lắng nếu bạn mới bắt đầu học lập trình - tôi sẽ hướng dẫn bạn từng bước qua chủ đề này, giống như tôi đã làm cho hàng trăm học sinh trong những năm dạy học của mình. Hãy lấy một ly đồ uống yêu thích của bạn, và cùng nhau bắt đầu cuộc phiêu lưu thú vị với SQL nhé!

SQL - Wildcards

Kí tự đại diện là gì?

Trước khi chúng ta đi vào chi tiết, hãy hiểu kí tự đại diện là gì trong SQL. Hãy tưởng tượng bạn đang chơi một trò chơi bài, và bạn có một lá bài Joker có thể đại diện cho bất kỳ lá bài nào trong bộ bài. Đó gần như là những gì kí tự đại diện làm trong SQL - chúng là những ký tự đặc biệt có thể đại diện cho một hoặc nhiều ký tự khác trong một chuỗi.

Kí tự đại diện vô cùng hữu ích khi bạn đang tìm kiếm dữ liệu nhưng không biết chính xác giá trị bạn đang tìm kiếm. Chúng giống như những con chó săn của thế giới SQL, săn lùng dữ liệu phù hợp với một số mẫu nhất định.

Loại kí tự đại diện trong SQL

Hãy gặp các ký tự đại diện của chúng ta. Mỗi ký tự có siêu năng lực riêng:

Kí tự đại diện Mô tả Ví dụ
% Đại diện cho không, một hoặc nhiều ký tự 'b%' khớp với 'bear', 'big', 'banana'
_ Đại diện cho một ký tự 'h_t' khớp với 'hot', 'hat', 'hit'
[charlist] Đại diện cho bất kỳ ký tự nào trong charlist '[bsp]at' khớp với 'bat', 'sat', 'pat'
[^charlist] hoặc [!charlist] Đại diện cho bất kỳ ký tự nào không trong charlist '[^bsp]at' khớp với 'cat', 'rat', nhưng không 'bat'

Cú pháp kí tự đại diện trong SQL

Bây giờ chúng ta đã gặp các bạn đại diện, hãy xem cách chúng ta có thể sử dụng chúng trong các truy vấn SQL. Địa điểm chính bạn sẽ sử dụng kí tự đại diện là trong mệnh đề WHERE của các câu lệnh SQL của bạn, thường đi kèm với toán tử LIKE.

Dưới đây là cú pháp cơ bản:

SELECT column1, column2, ...
FROM table_name
WHERE columnN LIKE pattern;

Phần pattern là nơi các kí tự đại diện của chúng ta được sử dụng. Hãy xem một số ví dụ để hiểu cách này hoạt động trong thực tế.

Ví dụ về kí tự đại diện trong SQL

Ví dụ 1: Kí tự đại diện %

Hãy giả sử chúng ta có một bảng叫做 Fruits với một cột FruitName. Chúng ta muốn tìm tất cả các loại quả bắt đầu bằng chữ 'a'.

SELECT * FROM Fruits
WHERE FruitName LIKE 'a%';

Truy vấn này có thể trả về kết quả như:

  • Apple
  • Apricot
  • Avocado

Kí tự % sau 'a' có nghĩa là "bất kỳ số lượng ký tự nào có thể theo sau 'a'".

Ví dụ 2: Kí tự đại diện _

Bây giờ, hãy tìm tất cả các loại quả có chính xác 5 ký tự trong tên của chúng.

SELECT * FROM Fruits
WHERE FruitName LIKE '_____';

Điều này có thể trả về:

  • Apple
  • Mango
  • Peach

Mỗi _ đại diện cho chính xác một ký tự, vì vậy năm _ có nghĩa là chúng ta đang tìm kiếm tên có chính xác năm ký tự.

Ví dụ 3: Kết hợp kí tự đại diện

Chúng ta cũng có thể kết hợp kí tự đại diện cho các mẫu phức tạp hơn. Hãy tìm tất cả các loại quả bắt đầu bằng 'b' và kết thúc bằng 'y'.

SELECT * FROM Fruits
WHERE FruitName LIKE 'b%y';

Điều này có thể trả về:

  • Berry
  • Blackberry
  • Boysenberry

Ví dụ 4: Sử dụng [charlist]

Bây giờ, hãy tìm tất cả các loại quả bắt đầu bằng 'p' hoặc 'c'.

SELECT * FROM Fruits
WHERE FruitName LIKE '[pc]%';

Điều này có thể trả về:

  • Peach
  • Pear
  • Cherry
  • Coconut

Ví dụ 5: Sử dụng [^charlist]

Cuối cùng, hãy tìm tất cả các loại quả không bắt đầu bằng 'a', 'b' hoặc 'c'.

SELECT * FROM Fruits
WHERE FruitName LIKE '[^abc]%';

Điều này có thể trả về các loại quả như:

  • Mango
  • Durian
  • Fig

Kết quả và Giải thích

Khi bạn chạy các truy vấn này, hệ thống quản lý cơ sở dữ liệu của bạn sẽ trả về một bảng với tất cả các hàng khớp với mẫu kí tự đại diện của bạn. Điều này giống như yêu cầu cơ sở dữ liệu chơi trò "Tôi là ai" với dữ liệu của bạn!

Ví dụ, nếu chúng ta chạy truy vấn từ Ví dụ 1:

SELECT * FROM Fruits
WHERE FruitName LIKE 'a%';

Chúng ta có thể thấy kết quả như sau:

FruitID FruitName Color
1 Apple Red
3 Apricot Orange
7 Avocado Green

Điều này cho chúng ta biết rằng chúng ta có ba loại quả trong cơ sở dữ liệu của mình bắt đầu bằng 'a', và nó hiển thị tất cả thông tin chúng ta có về những loại quả đó.

Kết luận

Và đây bạn đã có, các bạn! Chúng ta đã khám phá thế giới hoang dã và kỳ diệu của các kí tự đại diện trong SQL. Những kí tự nhỏ bé này có thể看起来 đơn giản, nhưng chúng là những công cụ vô cùng mạnh mẽ trong bộ công cụ SQL của bạn. Chúng cho phép bạn tìm kiếm các mẫu trong dữ liệu của bạn, làm cho các truy vấn của bạn linh hoạt và mạnh mẽ hơn.

Nhớ rằng, thực hành là chìa khóa của thành công. Hãy thử tạo các bảng của riêng bạn và thử nghiệm với các kết hợp kí tự đại diện khác nhau. Trước khi bạn biết điều gì, bạn sẽ sử dụng kí tự đại diện như một chuyên gia, tìm kiếm các mũi tên trong đống cỏ khô dữ liệu một cách dễ dàng!

Chúc các bạn vui vẻ khi truy vấn, và mong dữ liệu của bạn luôn được tổ chức tốt và các truy vấn của bạn thành công!

Credits: Image by storyset