The SQL LIKE
operator is used to search for a specified pattern in a column. This command is essential for performing flexible and partial matching in queries, allowing for more dynamic and precise data retrieval.
SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern;
SELECT column_name(s)
: Specifies the columns to retrieve.FROM table_name
: Specifies the table to query data from.WHERE column_name LIKE pattern
: Filters the result set to include only rows where the column value matches the specified pattern.pattern
: Specifies the pattern to search for. Wildcards used in the pattern include %
(matches any sequence of characters) and _
(matches any single character).Let's go through a complete example that includes creating a database, creating a table, inserting data into the table, and then using the LIKE
operator to perform a query.
This step involves creating a new database named example_db
.
CREATE DATABASE example_db;
In this example, we create a database named example_db
.
In this step, we create a table named employees
within the previously created database.
USE example_db;
CREATE TABLE employees (
employee_id INT AUTO_INCREMENT PRIMARY KEY,
first_name VARCHAR(50) NOT NULL,
last_name VARCHAR(50) NOT NULL,
email VARCHAR(100)
);
Here, we define the employees
table with columns for employee_id
, first_name
, last_name
, and email
. The employee_id
column is set as the primary key and will auto-increment.
This step involves inserting some sample data into the employees
table.
INSERT INTO employees (first_name, last_name, email) VALUES ('John', 'Doe', 'john.doe@example.com');
INSERT INTO employees (first_name, last_name, email) VALUES ('Jane', 'Smith', 'jane.smith@example.com');
INSERT INTO employees (first_name, last_name, email) VALUES ('Alice', 'Johnson', 'alice.johnson@example.com');
INSERT INTO employees (first_name, last_name, email) VALUES ('Bob', 'Brown', 'bob.brown@example.com');
INSERT INTO employees (first_name, last_name, email) VALUES ('Charlie', 'Davis', 'charlie.davis@example.com');
Here, we insert five rows of data into the employees
table.
This step involves using the LIKE
operator to find employees whose last name starts with 'J'.
SELECT employee_id, first_name, last_name, email
FROM employees
WHERE last_name LIKE 'J%';
This command retrieves the employee_id
, first_name
, last_name
, and email
of employees whose last name starts with 'J'. The %
wildcard matches any sequence of characters following 'J'.
In this example, the query will return the rows for 'Alice Johnson' as her last name starts with 'J'.
This step involves using the LIKE
operator with different patterns to find employees whose email addresses contain 'example'.
SELECT employee_id, first_name, last_name, email
FROM employees
WHERE email LIKE '%example%';
This command retrieves the employee_id
, first_name
, last_name
, and email
of employees whose email addresses contain 'example'. The %
wildcard matches any sequence of characters before and after 'example'.
In this example, the query will return all rows because all email addresses contain 'example'.