Skip to content
Related Articles

Related Articles

SQL | LIKE
  • Difficulty Level : Basic
  • Last Updated : 20 Aug, 2020

Sometimes we may require tuples from the database which match certain patterns. For example, we may wish to retrieve all columns where the tuples start with the letter ‘y’, or start with ‘b’ and end with ‘l’, or even more complicated and restrictive string patterns. This is where the LIKE Clause comes to rescue, often coupled with the WHERE Clause in SQL.

There are two kinds of wildcards used to filter out the results:

  • % : Used to match zero or more characters. (Variable Length)
  • _ : Used to match exactly one character. (Fixed Length)

The following are the rules for pattern matching with the LIKE Clause:

PatternMeaning
‘a%’Match strings which start with ‘a’
‘%a’Match strings with end with ‘a’
‘a%t’Match strings which contain the start with ‘a’ and end with ‘t’.
‘%wow%’Match strings which contain the substring ‘wow’ in them at any position.
‘_wow%’Match strings which contain the substring ‘wow’ in them at the second position.
‘_a%’Match strings which contain ‘a’ at the second position.
‘a_ _%’Match strings which start with ‘a’ and contain at least 2 more characters.

Example:

Say we have a relation, Supplier. We want to test various patterns using the LIKE clause:



Supplier Table:

SupplierIDNameAddress
S1Paragon Suppliers21-3, Okhla, Delhi
S2Mango Nation21, Faridabad, Haryana
S3Canadian Biz6/7, Okhla Phase II, Delhi
S4Caravan Traders2-A, Pitampura, Delhi
S5Harish and SonsGurgaon, NCR
S6Om Suppliers2/1, Faridabad, Haryana

Sample Queries and Outputs:

SELECT SupplierID, Name, Address
FROM Suppliers
WHERE Name LIKE 'Ca%';

Output:

S3Canadian Biz6/7, Okhla Phase II, Delhi
S4Caravan Traders2-A, Pitampura, Delhi
SELECT *
FROM Suppliers
WHERE Address LIKE '%Okhla%';

Output:

S1Paragon Suppliers21-3, Okhla, Delhi
S3Canadian Biz6/7, Okhla Phase II, Delhi
SELECT SupplierID, Name, Address
FROM Suppliers
WHERE Name LIKE '_ango%';

Output:

S2Mango Nation21, Faridabad, Haryana

Application: The LIKE operator is extremely resourceful in situations such as address filtering wherein we know only a segment or a portion of the entire address (such as locality or city) and would like to retrieve results based on that. The wildcards can be resourcefully exploited to yield even better and more filtered tuples based on the requirement.

This article is contributed by Anannya Uberoi. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.

My Personal Notes arrow_drop_up
Recommended Articles
Page :