Notas:
SQL: búsqueda flexible con operadores LIKE e IN
❗Comentar varias lineas se usa control + / ❗ wildcards> 💻 Codigo:
En el análisis y consulta de datos, a menudo no conocemos el dato exacto que estamos buscando. Puede que solo recordemos una parte del nombre de un producto, un apellido parcial o un rango de opciones posibles. Para resolver este problema, SQL ofrece operadores como LIKE e IN, que permiten realizar búsquedas más flexibles y eficientes.
Estos operadores se usan comúnmente en consultas con SELECT y junto con cláusulas como WHERE, ORDER BY, BETWEEN y LIMIT para afinar resultados.
📌 ❗Comentarios en PgAdmin (atajo útil para desarrollo)
En PgAdmin y muchos editores SQL:
- Para comentar o descomentar varias líneas, selecciona el texto y presiona:
Ctrl + /Esto convierte las líneas seleccionadas en comentarios con --.
✅ ¿Qué es el operador LIKE y para qué sirve?
🧠 Definición para principiantes
LIKE es un operador de comparación que se utiliza cuando no conoces el valor exacto de una columna, pero tienes una idea aproximada o una parte del dato.
Es ideal para buscar coincidencias parciales o patrones, como nombres que empiezan o terminan de cierta forma.
🔤 Sintaxis básica de LIKE
sql
CopiarEditar
SELECT * FROM nombre_tabla WHERE columna LIKE 'patrón';
🪄 Comodines (wildcards) en LIKE
% → representa cualquier número de caracteres (incluyendo ninguno).
_ → representa exactamente un solo carácter.
🎯 Ejemplos reales con %
1. Títulos que empiezan con “A”
sql
CopiarEditar
SELECT title FROM film WHERE title LIKE 'A%';
Resultado: todos los títulos que comienzan con la letra "A".
2. Títulos que terminan con “man”
sql
CopiarEditar
SELECT title FROM film WHERE title LIKE '%man';
Resultado: títulos como “Batman”, “Superman”, etc.
3. Títulos que contienen “ring” en cualquier parte
sql
CopiarEditar
SELECT title FROM film WHERE title LIKE '%ring%';
Resultado: “The Ring”, “Rings of Power”, etc.
4. Títulos que tienen exactamente una letra entre “A” y “C”
sql
CopiarEditar
SELECT title FROM film WHERE title LIKE 'A_C%';
Encuentra palabras como “ABC”, “ACC”, “AFC”…
🧩 Uso profesional del operador LIKE
En entornos reales como sistemas de gestión de clientes, productos o catálogos:
-
Búsqueda de clientes por parte del nombre:sql
CopiarEditar
SELECT * FROM clients WHERE name LIKE '%Carlos%';
-
Localización de productos que contienen una palabra clave:sql
CopiarEditar
SELECT * FROM products WHERE description LIKE '%eco%';
-
Aplicado en sistemas CRM, e-commerce, bibliotecas digitales, etc.
🧮 ¿Cómo mejorar progresivamente la precisión con LIKE?
Puedes refinar tus búsquedas añadiendo más letras o caracteres al patrón.
sql
CopiarEditar
-- Búsqueda amplia
SELECT * FROM film WHERE title LIKE 'A%';
-- Búsqueda más específica
SELECT * FROM film WHERE title LIKE 'AV%';
-- Aún más precisa
SELECT * FROM film WHERE title LIKE 'AVAT%';
Esto ayuda a ir acotando los resultados paso a paso, útil para bases de datos grandes.
✅ ¿Qué es el operador IN y cómo funciona?
🧠 Definición para principiantes
IN se usa para buscar coincidencias exactas dentro de una lista de valores. Es una manera limpia y compacta de usar múltiples condiciones OR.
🔤 Sintaxis de IN
sql
CopiarEditar
SELECT * FROM tabla WHERE columna IN (valor1, valor2, valor3);
🎯 Ejemplo con nombres de actores
sql
CopiarEditar
SELECT * FROM actor WHERE last_name IN ('WEST', 'CHASE', 'WAHLBERG');
Devuelve todos los actores cuyo apellido sea exactamente uno de los listados.
📚 Casos de uso del operador IN en entornos profesionales
-
Filtrar pedidos por varios estados:sql
CopiarEditar
SELECT * FROM orders WHERE status IN ('PENDING', 'PROCESSING', 'SHIPPED');
-
Listar empleados en oficinas específicas:sql
CopiarEditar
SELECT * FROM employees WHERE office_id IN (1, 3, 7);
-
Seleccionar productos en categorías clave:sql
CopiarEditar
SELECT * FROM products WHERE category_id IN (2, 5, 8);
🔄 ¿LIKE vs. IN? ¿Cuándo usar cada uno?
UsoLIKEIN¿Coincidencia parcial?✅ Sí❌ No¿Coincidencia exacta?❌ No✅ Sí¿Se conoce todo el valor?NoSí¿Útil con muchas palabras?Sí, con comodinesSí, como lista
⚙️ Consejo de rendimiento profesional
LIKE con % al inicio (por ejemplo, '%texto') no puede usar índices eficientemente, lo cual ralentiza las búsquedas en bases grandes.
IN es más eficiente y directo cuando conoces los valores exactos.
🛠️ Herramientas prácticas en PgAdmin
PgAdmin es el entorno visual más usado para PostgreSQL. Algunas funciones útiles al usar LIKE o IN:
🧪 Query Tool
- Lugar donde puedes escribir, ejecutar y probar tus consultas SQL.
- Puedes abrirlo desde la base de datos activa → clic derecho → Query Tool.
💬 Comentar sentencias
- Selecciona una o más líneas y presiona
Ctrl + / para comentar con -.
📂 Organiza tu entorno
- Revisa siempre que estás en la base de datos correcta.
- Puedes ver la base conectada en la parte superior del Query Tool.
🧑💻 BONUS: Combinar LIKE, IN, ORDER BY, y LIMIT
Consulta realista en una base de datos de películas:
sql
CopiarEditar
SELECT title
FROM film
WHERE title LIKE 'A%' AND rating IN ('PG', 'G')
ORDER BY title ASC
LIMIT 10;
Devuelve las primeras 10 películas que:* Empiezan con "A"
- Tienen clasificación "PG" o "G"
- Están ordenadas alfabéticamente
📌 Resumen Final
ConceptoExplicación SimpleLIKEBusca patrones parciales usando % o _INBusca coincidencias exactas dentro de una lista%Comodín: cualquier cantidad de caracteres_Comodín: un solo carácterCtrl + /Atajo para comentar en PgAdminPgAdmin Query ToolEntorno para crear y probar consultas