Toán tử LIKE trong MySQL về cơ bản được sử dụng với mệnh đề WHERE để tìm kiếm một mẫu cụ thể trong một chuỗi. Mẫu chuỗi chứa các ký tự đại diện đại diện cho các ký tự bị thiếu. Toán tử LIKE được viết dưới dạng từ “THÍCH” theo sau là một mẫu để khớp với các giá trị cột. Dưới đây là một ví dụ về toán tử LIKE trong câu lệnh SQL,
CHỌN * TỪ Nhân viên WHERE tên THÍCH ‘%P’; . Here the percentage sign is a wildcard character.
Cú pháp. Mẫu THÍCH biểu thức [ESCAPE 'ký tự thoát'], trong đó biểu thức là cột cụ thể của bảng, mẫu là biểu thức ký tự chứa khớp mẫu và .
Hiểu toán tử LIKE trong MySQLHãy cho chúng tôi hiểu Toán tử LIKE trong MySQL với các ví dụ. Chúng ta sẽ sử dụng bảng Nhân viên sau đây để hiểu Toán tử THÍCH
Vui lòng sử dụng Tập lệnh SQL sau để tạo cơ sở dữ liệu công ty và bảng nhân viên với các bản ghi cần thiết
CREATE DATABASE company; USE company; CREATE TABLE employee [ Id INT PRIMARY KEY, Name VARCHAR[45] NOT NULL, Department VARCHAR[45] NOT NULL, Salary FLOAT NOT NULL, Gender VARCHAR[45] NOT NULL, Age INT NOT NULL, City VARCHAR[45] NOT NULL ]; INSERT INTO employee [Id, `Name`, Department, Salary, Gender, Age, City] VALUES [1001, 'John Doe', 'IT', 35000, 'Male', 25, 'London']; INSERT INTO employee [Id, `Name`, Department, Salary, Gender, Age, City] VALUES [1002, 'Mary Smith', 'HR', 45000, 'Female', 27, 'London']; INSERT INTO employee [Id, `Name`, Department, Salary, Gender, Age, City] VALUES [1003, 'James Brown', 'Finance', 50000, 'Male', 28, 'London']; INSERT INTO employee [Id, `Name`, Department, Salary, Gender, Age, City] VALUES [1004, 'Mike Walker', 'Finance', 50000, 'Male', 28, 'London']; INSERT INTO employee [Id, `Name`, Department, Salary, Gender, Age, City] VALUES [1005, 'Linda Jones', 'HR', 75000, 'Female', 26, 'London']; INSERT INTO employee [Id, `Name`, Department, Salary, Gender, Age, City] VALUES [1006, 'Anurag Mohanty', 'IT', 35000, 'Male', 25, 'Mumbai']; INSERT INTO employee [Id, `Name`, Department, Salary, Gender, Age, City] VALUES [1007, 'Priyanla Dewangan', 'HR', 45000, 'Female', 27, 'Mumbai']; INSERT INTO employee [Id, `Name`, Department, Salary, Gender, Age, City] VALUES [1008, 'Sambit Mohanty', 'IT', 50000, 'Male', 28, 'Mumbai']; INSERT INTO employee [Id, `Name`, Department, Salary, Gender, Age, City] VALUES [1009, 'Pranaya Kumar', 'IT', 50000, 'Male', 28, 'Mumbai']; INSERT INTO employee [Id, `Name`, Department, Salary, Gender, Age, City] VALUES [1010, 'Hina Sharma', 'HR', 75000, 'Female', 26, 'Mumbai']; INSERT INTO employee [Id, `Name`, Department, Salary, Gender, Age, City] VALUES [1011, 'Pramod Panda', 'IT', 45000, 'Male', 27, 'Mumbai']; INSERT INTO employee [Id, `Name`, Department, Salary, Gender, Age, City] VALUES [1012, 'Preety Tiwary', 'HR', 55000, 'Female', 28, 'Mumbai']; INSERT INTO employee [Id, `Name`, Department, Salary, Gender, Age, City] VALUES [1013, 'Santosh Dube', 'IT', 52000, 'Male', 28, 'Mumbai']; INSERT INTO employee [Id, `Name`, Department, Salary, Gender, Age, City] VALUES [1014, 'Sara Talour', 'HR', 85000, 'Female', 26, 'London']; INSERT INTO employee [Id, `Name`, Department, Salary, Gender, Age, City] VALUES [1015, 'Pamela Kar', 'Finance', 70000, 'Female', 26, 'London'];Hiểu ký tự đại diện MySQL
Trước khi sử dụng Toán tử LIKE, đầu tiên chúng ta cần hiểu các ký tự đại diện. Ký tự đại diện trong MySQL được sử dụng để thay thế cho bất kỳ ký tự nào khác trong chuỗi. Các ký tự đại diện được sử dụng để tìm kiếm dữ liệu trong một cột nhất định. Các ký tự đại diện trong MySQL về cơ bản được sử dụng với toán tử LIKE. Trong MySQL, có hai ký tự đại diện
- Biểu tượng % đại diện cho bất kỳ ký tự nào [không hoặc nhiều ký tự] trong biểu thức
- _ sẽ đại diện cho một ký tự trong biểu thức
Phần trăm [%] có nghĩa là nó sẽ tìm kiếm 0 hoặc nhiều ký tự sau “%”. Ở đây ‘%’ là ký tự đại diện mà chúng ta sẽ sử dụng trước hoặc sau các ký tự để tìm kiếm chuỗi ký tự khớp được yêu cầu
Thí dụ. Lấy tất cả các nhân viên có tên bắt đầu bằng PTruy vấn SQL sau đây sẽ trả về tất cả nhân viên từ bảng nhân viên có tên bắt đầu bằng ký tự 'P' theo sau là bất kỳ chuỗi ký tự nào.
CHỌN * TỪ Nhân viên Ở ĐÂU Tên THÍCH 'P%';
Khi bạn thực hiện Truy vấn SQL ở trên, bạn sẽ nhận được tập kết quả sau và hãy quan sát tất cả các nhân viên có tên bắt đầu bằng ký tự P
Câu lệnh SQL sau sẽ trả về tất cả các nhân viên từ bảng nhân viên có tên kết thúc bằng chuỗi 'ar'. Ở đây chúng tôi đã đề cập đến mẫu là '%ar'. Điều này có nghĩa là trả về tất cả các bản ghi có tên kết thúc bằng chuỗi 'ar'
CHỌN * TỪ Nhân viên WHERE Tên THÍCH '% ar';
Khi bạn thực hiện Câu lệnh SQL trên, thì bạn sẽ nhận được tập kết quả sau và hãy quan sát tất cả các nhân viên có tên kết thúc bằng chuỗi ar
Câu lệnh SQL sau đây sẽ trả về tất cả các nhân viên từ bảng nhân viên có Tên chứa từ 'am' ở bất kỳ đâu trong cột tên. Điều này là do chúng tôi đã đề cập đến các mẫu như '%am%'.
CHỌN * TỪ Nhân viên WHERE Tên THÍCH ‘%am%’;
Khi bạn thực hiện truy vấn SQL trên, bạn sẽ nhận được tập kết quả sau
Chúng ta cũng có thể hoàn nguyên câu lệnh SQL bằng cách sử dụng toán tử NOT LIKE. Hãy cho chúng tôi hiểu việc sử dụng Toán tử NOT Like với một số ví dụ
Thí dụ. Lấy tất cả các nhân viên có tên không bắt đầu bằng PTruy vấn SQL sau đây sẽ trả về tất cả nhân viên có tên không bắt đầu bằng ký tự ‘P’. Nhân viên có bảng chữ cái bắt đầu không phải là P sẽ được trả về dưới dạng đầu ra. Điều này hoàn toàn ngược lại với toán tử LIKE
CHỌN * TỪ Nhân viên Ở ĐÂU Tên KHÔNG THÍCH 'P%';
Khi bạn thực hiện truy vấn trên, bạn sẽ nhận được tập kết quả sau và hãy quan sát nó trả về tất cả các nhân viên không bắt đầu bằng ký tự p
Truy vấn SQL sau đây sẽ trả về tất cả các nhân viên có tên không kết thúc bằng từ 'ar'
CHỌN * TỪ Nhân viên Ở ĐÂU Tên KHÔNG THÍCH ‘%ar’;
Khi bạn thực thi Câu lệnh SQL trên, bạn sẽ nhận được tập kết quả sau trả về tất cả các nhân viên có tên không kết thúc bằng chuỗi ar
Truy vấn SQL sau đây sẽ trả về tất cả các nhân viên từ bảng nhân viên trong đó Tên không chứa từ 'am' ở bất kỳ đâu trong cột tên
CHỌN * TỪ Nhân viên Ở ĐÂU Tên KHÔNG THÍCH ‘%am%’;
Khi bạn thực hiện truy vấn SQL trên, bạn sẽ nhận được tập kết quả sau
Dấu gạch dưới [_] có nghĩa là nó sẽ tìm kiếm chính xác một ký tự sau dấu “_”. Hãy cho chúng tôi hiểu việc sử dụng ký tự đại diện _ với một ví dụ. Hãy lọc dữ liệu chính xác hơn và lần này lấy thành phố của nhân viên bắt đầu bằng 'MUMBA' nhưng chỉ chứa tổng cộng 6 chữ cái. Sau đây là câu lệnh SQL
CHỌN * TỪ Nhân viên WHERE City THÍCH 'MUMBA_';
Khi bạn thực hiện truy vấn trên, bạn sẽ nhận được đầu ra sau. Ở đây, các nhân viên có giá trị thành phố chứa MUMBA và chỉ có 6 chữ cái được trả về trong tập kết quả
Truy vấn SQL sau đây sẽ trả về tất cả các nhân viên từ bảng nhân viên nơi tên Bộ phận có hai ký tự. Ở đây chúng tôi đang sử dụng hai dấu gạch dưới [__] làm một phần trong Toán tử LIKE
CHỌN * TỪ Nhân viên WHERE Bộ phận THÍCH '__';
Khi bạn thực hiện Câu lệnh SQL trên, bạn sẽ nhận được tập kết quả sau chỉ bao gồm các nhân viên từ bộ phận CNTT và Nhân sự
Trong bài viết tiếp theo, tôi sẽ thảo luận về Toán tử IN và BETWEEN trong MySQL với các ví dụ. Ở đây, trong bài viết này, tôi cố gắng giải thích Toán tử LIKE trong MySQL bằng các ví dụ. Tôi hy vọng bạn thích bài viết này về Toán tử LIKE trong MySQL