The LIKE
operator in SQL allows you to filter string data using simple patterns. It’s especially useful when you need to search for partial matches instead of exact values.
Whether you’re querying names, emails, or addresses, LIKE
makes your SQL more flexible.
How It Works
The basic form looks like:
SELECT * FROM table WHERE column LIKE 'pattern';
You can use:
-
%
for multiple characters -
_
for a single character
Examples:
-
'%data%'
: contains “data” -
'A%'
: starts with “A” -
'____'
: exactly 4 characters
Use Case Examples
1. Email Match:
SELECT * FROM users WHERE email LIKE '%@gmail.com';
2. First Name Begins With “A”:
SELECT * FROM employees WHERE first_name LIKE 'A%';
3. Contains Word:
SELECT * FROM articles WHERE content LIKE '%error%';
4. Match Length:
SELECT * FROM codes WHERE code LIKE '____';
Best Practices
- Avoid leading wildcards (
%abc
) to allow index usage - Use targeted patterns for better performance
- Combine with
LENGTH()
orSUBSTRING()
for more control - Be mindful of case sensitivity and collation settings
- Consider indexes and EXPLAIN plans when optimizing queries
FAQ
Can LIKE work with multiple values?
Yes, using OR
, or with LIKE ANY
in PostgreSQL.
Can I use LIKE on numbers?
Yes, as long as the DBMS can treat them as strings.
Is LIKE slow?
It can be, especially with leading wildcards ('%abc'
). Use indexes and targeted patterns to optimize.
Is it case-sensitive?
Depends on collation. Normalize with LOWER()
if needed.
Can LIKE use regex?
No. Use regex functions (e.g., SIMILAR TO
) for advanced patterns.
Conclusion
The LIKE
operator is simple but powerful. By mastering its use, you can write more flexible and efficient SQL queries.
To run and test these patterns easily, consider tools like DbVisualizer. It supports multiple databases and makes exploring data fast and visual—no matter how complex your patterns get.
Read A Complete Guide to the SQL LIKE Operator for more info.
Top comments (0)