SQL Wildcard filters allow you to search within a string to do partial matches.
So you can use them to search for all names that begin with the letter ‘A’.
Or you could search for all addresses that contain the name ‘OAK’.
Let’s take a look at an example. I will start with a basic employee table and run the following SQL query:
select * from employee;
The results look like this:
I want to find all of the employee’s with a name starting with ‘A’.
In order to do this, I need to use a SQL Where clause along with a LIKE wildcard filter.
The SQL will look like this:
select * from employee where employee_name like 'A%';
And here are the results:
I filtered out the 2 rows that have an employee_name starting with ‘A’. (ALLEN and ADAMS).
Let’s look at the where clause of that statement in more detail:
where employee_name like 'A%';
Where – Starts the filter section of SQL
employee_name – Is the column we want to look at.
like – The comparison operator. This is how we want to compare. Some other options would be =, <= ,>=, between, in, etc..
‘A%’ – This is the value we are looking for. We have to enclose it in ‘ ‘ (called ticks). Since the first letter inside of the ticks is an A, it will match the first character. Then we have the %. This means we don’t care how many characters come after the A. The name could contain just the A with no letters after it. It could contain the A with 1 letter after it, or it could contain the A with 100 letters after it. The % doesn’t care.
Now, there is one other wildcard that is often used. It is the ‘_’ (underscore). This is a single character wildcard.
Let’s look at an example. I want to find all names where the second letter is ‘L’:
select * from employee where employee_name like '_L%';
Here are the results of the query:
In each of the 3 results, the second letter of the employee_name is an L.
That is how you use the wildcard filter in the SQL language.
Please leave any questions and comments below.