SQL LIKE is used with WHERE clause to search for a pattern for a column. Wildcards are the one which is used for specifying the pattern. There are two wildcards that are used with the LIKE operator.
To use SQL LIKE operator, we must be very sure of the usage of the wildcard position as that will define the search pattern.
SQL Like operator can be used with any query with where clause. So we can use it with Select, Delete, Update etc.
SELECT column FROM table_name WHERE column LIKE pattern;
UPDATE table_name SET column=value WHERE column LIKE pattern;
DELETE FROM table_name WHERE column LIKE pattern;
In the sql like syntax mentioned above the “pattern” is the one that is defined by the usage of wildcards.
Let’s try to understand the usage of SQL LIKE statement along with wildcards by some examples. Consider the following Customer table for the example.
CustomerId | CustomerName |
---|---|
1 | Amit |
2 | John |
3 | Annie |
Find customer name with name starting with ‘A’.
SELECT CustomerName FROM Customer WHERE CustomerName LIKE 'A%';
Output: Amit Annie
Find customer name with name ending with ‘e’.
SELECT CustomerName FROM Customer WHERE CustomerName LIKE '%e'
Output: Annie
Find customer name with name starting with ‘A’ and ending with ‘t’.
SELECT CustomerName FROM Customer WHERE CustomerName LIKE 'A%t'
Output: Amit
Find customer name with name containing ‘n’ at any position.
SELECT CustomerName FROM Customer WHERE CustomerName LIKE '%n%'
Output: Annie John
Find customer name with name containing ‘n’ at second position.
SELECT CustomerName FROM Customer WHERE CustomerName LIKE '_n%'
Output: Annie
Find customer name with name containing ‘i’ at third position and ending with ‘t’.
SELECT CustomerName FROM Customer WHERE CustomerName LIKE '__i%t'
Output: Amit
Sometimes we want to get records that doesn’t match the like pattern. In that case we can use sql not like operator. SQL not like statement syntax will be like below.
SELECT column FROM table_name WHERE column NOT LIKE pattern;
UPDATE table_name SET column=value WHERE column NOT LIKE pattern;
DELETE FROM table_name WHERE column NOT LIKE pattern;
As an example, let’s say we want the list of customer names that don’t start with ‘A’. Below query will give us the required result set.
SELECT CustomerName FROM Customer WHERE CustomerName NOT LIKE 'A%';
Output: John
We can have multiple like statements in SQL query. For example, if we want a list of customer names starting from ‘Jo’ and ‘Am’ then we will have to use multiple like statements like below.
SELECT CustomerName FROM Customer WHERE CustomerName LIKE 'Am%' OR CustomerName LIKE 'Jo%';
That’s all for SQL like operator and SQL not like operator examples.
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
Java and Python Developer for 20+ years, Open Source Enthusiast, Founder of https://www.askpython.com/, https://www.linuxfordevices.com/, and JournalDev.com (acquired by DigitalOcean). Passionate about writing technical articles and sharing knowledge with others. Love Java, Python, Unix and related technologies. Follow my X @PankajWebDev
SELECT CustomerName FROM Customer WHERE CustomerName NOT LIKE ‘%A%’; For the above-quoted sentence, I am still getting the wrong answer, because it shows Thomas, Dan how to sort that?
- Vithyakaran
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.
Full documentation for every DigitalOcean product.
The Wave has everything you need to know about building a business, from raising funding to marketing your product.
Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.
New accounts only. By submitting your email you agree to our Privacy Policy
Scale up as you grow — whether you're running one virtual machine or ten thousand.
Sign up and get $200 in credit for your first 60 days with DigitalOcean.*
*This promotional offer applies to new accounts only.