Skip to content
Related Articles
Get the best out of our app
GeeksforGeeks App
Open App
geeksforgeeks
Browser
Continue

Related Articles

SQL LIKE

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

Sometimes we may require tuples from the database which match certain patterns. For example, we want 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 SQL LIKE Clause comes to the rescue, often coupled with the WHERE Clause in SQL.

In SQL, the LIKE operator is mainly used in the WHERE clause to search for a enumerate pattern in a column.

Two barriers are often used in conjunction with the LIKE :

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

SQL Like Syntax:

SELECT column1, column2, ...
FROM table_name
WHERE columnN LIKE pattern;

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

PatternMeaning
‘a%’Match strings that start with ‘a’
‘%a’Match strings with end with ‘a’
‘a%t’Match strings that contain the start with ‘a’ and end with ‘t’.
‘%wow%’Match strings that contain the substring ‘wow’ in them at any position.
‘_wow%’Match strings that contain the substring ‘wow’ in them at the second position.
‘_a%’Match strings that contain ‘a’ at the second position.
‘a_ _%’Match strings that 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

SQL LIKE – Sample Queries and Outputs

Query 1:

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

Output:

S3Canadian Biz6/7, Okhla Phase II, Delhi
S4Caravan Traders2-A, Pitampura, Delhi

Query 2:

SELECT *
FROM Suppliers
WHERE Address LIKE '%Okhla%';

Output:

S1Paragon Suppliers21-3, Okhla, Delhi
S3Canadian Biz6/7, Okhla Phase II, Delhi

Query 3:

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

Output:

S2Mango Nation21, Faridabad, Haryana

SQL LIKE 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. 

Important to know about SQL LIKE 

One important thing to note about the LIKE operator is that it is case-insensitive by default in most database systems. This means that if you search for “apple” using the LIKE operator, it will return results that include “Apple”, “APPLE”, “aPpLe”, and so on.

For making the LIKE operator case-sensitive, you can use the “BINARY” keyword in MySQL or the “COLLATE” keyword in other database systems

For example:

XML




SELECT * FROM products WHERE name LIKE BINARY 'apple%'

This following query will only return products whose name starts with “apple” and is spelled exactly like that, without capital letters.

This article is contributed by Anannya Uberoi. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks. Please write comments if you find anything incorrect, or if you want to share more information about the topic discussed above.

My Personal Notes arrow_drop_up
Last Updated : 04 May, 2023
Like Article
Save Article
Similar Reads