Structured Query Language (SQL) is a powerful language used to interact with relational databases. One of the most commonly used features of SQL is the LIKE operator and its associated wildcards. In this guide, we will provide a comprehensive overview of SQL LIKE and wildcards, how they work, and how to use them to effectively query data. If you’re interested in filtering data using conditions beyond wildcards, you may want to check out our guide on SQL WHERE with AND, OR, NOT Operators. Additionally, once you’ve filtered your data, you may want to use SQL’s MIN, MAX, COUNT, AVG, and SUM Statements to perform calculations on that data. We’ll cover these functions and more in this guide, so let’s get started!
Understanding SQL LIKE
The LIKE operator is used to compare a value to a pattern in SQL. The pattern can be a string containing any combination of characters and wildcards, and the operator returns a Boolean value indicating whether the value matches the pattern. The LIKE operator is often used in conjunction with wildcard characters to search for patterns within data.
Syntax
The basic syntax for using the LIKE operator in SQL is as follows:
SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern;
In this syntax, column_name(s)
refers to the column or columns you wish to select data from, table_name
refers to the table containing the data, and pattern
refers to the pattern you want to search for. The WHERE
clause is used to filter the results to only include rows where the specified column matches the pattern.
Example
Consider the following table named students
:
ID | Name | Grade |
---|---|---|
1 | Alice | A |
2 | Bob | B |
3 | Charlie | C |
4 | Dan | A |
5 | Eve | C |
6 | Frank | B |
To search for all students whose name starts with the letter ‘A’, you can use the following SQL query:
SELECT * FROM students
WHERE Name LIKE 'A%';
This will return the following result:
ID | Name | Grade |
---|---|---|
1 | Alice | A |
4 | Dan | A |
Using SQL Wildcards
The % Wildcard

The %
wildcard can be used to match any number of characters. For example, to search for all students whose name contains the letters ‘an’, regardless of where they appear in the name, you can use the following SQL query:
SELECT * FROM students
WHERE Name LIKE '%an%';
This will return the following result:
ID | Name | Grade |
---|---|---|
1 | Alice | A |
4 | Dan | A |
5 | Eve | C |
6 | Frank | B |
The [] Wildcard
![sql like [] statement](https://seterx.com/wp-content/uploads/2023/05/sql-like-Statement-1-1024x650.jpg)
The []
wildcard can be used to match a single character from a specified set of characters. For example, to search for all students whose name starts with either ‘A’ or ‘E’, you can use the following SQL query:
SELECT * FROM students
WHERE Name LIKE '[AE]%';
This will return the following result:
ID | Name | Grade |
---|---|---|
1 | Alice | A |
5 | Eve | C |
The _ Wildcard

The _
wildcard represents a single character in a pattern. This means that you can use it to match any string that contains a particular character at a specific position.
For example, to search for all students whose name is exactly five letters long, you can use the following SQL query:
SELECT * FROM students
WHERE Name LIKE '_____';
This will return the following result:
ID | Name | Grade |
---|---|---|
1 | Alice | A |
6 | Frank | B |
In this case, the pattern '____'
matches any four characters. If you wanted to search for students whose names are exactly five characters long, you would use the pattern '_____'
instead.
You can also combine the _
wildcard with other wildcards. For example, to search for all students whose name starts with ‘A’ and is four letters long, you can use the following SQL query:
SELECT * FROM students
WHERE Name LIKE 'A___';
This will return the following result:
ID | Name | Grade |
---|---|---|
1 | Alice | A |
In this case, the pattern 'A___'
matches any name that starts with ‘A’ and is followed by three more characters.
Combining Wildcards
You can also combine multiple wildcards in a single pattern. For example, to search for all students whose name starts with ‘A’ and ends with ‘e’, regardless of the number of characters in between, you can use the following SQL query:
SELECT * FROM students
WHERE Name LIKE 'A%e';
This will return the following result:
ID | Name | Grade |
---|---|---|
1 | Alice | A |
Note that in this case, we used the %
wildcard to match any number of characters between ‘A’ and ‘e’.
Conclusion
SQL LIKE and wildcards are powerful tools for querying data and searching for patterns. By mastering these operators, you can extract the information you need from your databases quickly and easily. However, SQL has many more features that you can use to filter and manipulate data, such as the IN and BETWEEN operators. Additionally, you can use SQL aliases to rename columns and tables for better readability. With a good understanding of these features, you can become a more efficient and effective SQL developer.