Curso de Fundamentos de Bases de Datos

SELECT: filtros WHERE y orden ORDER BY

Curso de Fundamentos de Bases de Datos

Contenido del curso

Grabación

PlatziLearn

0:0016:42

Recursos

Resumen

Dominar el comando SELECT en SQL es fundamental porque será la instrucción que más ejecutes en cualquier base de datos. Saber elegir columnas específicas, aplicar filtros con precisión y ordenar resultados correctamente marca la diferencia entre una consulta útil y una que devuelve información innecesaria.

¿Cómo funciona SELECT y qué papel cumple FROM?

SELECT es la palabra clave que siempre va acompañada de FROM [1:38]. La estructura básica se lee como "selecciono desde": después de SELECT se indican los elementos que queremos obtener y después de FROM la tabla sobre la cual se realiza la consulta.

  • Si se quiere traer todas las columnas, se usa el asterisco (*) como comodín.
  • Para traer columnas específicas, se escriben los nombres separados por comas.
  • Se puede restringir la cantidad de filas con LIMIT, indicando el número máximo de registros a devolver [2:10].

sql SELECT * FROM clientes LIMIT 10;

Cuando solo necesitas ciertos campos, como nombre, email y activo, los especificas directamente después de SELECT [2:48]:

sql SELECT nombre, email, activo FROM clientes LIMIT 10;

Esto evita traer datos innecesarios y mejora el rendimiento de tus consultas.

¿Qué es WHERE y cuáles son sus formas de filtrado?

WHERE es el comando que permite filtrar resultados dentro de una consulta [3:28]. Sin él, SELECT devuelve todos los registros de la tabla. Con WHERE defines condiciones que los datos deben cumplir para aparecer en el resultado.

¿Cómo filtrar por condición simple y comparadores numéricos?

Una condición simple evalúa si un campo tiene un valor específico [3:40]:

sql SELECT nombre, email FROM clientes WHERE activo = true;

Esto devuelve únicamente los clientes cuyo campo activo sea verdadero. Un comparador numérico permite filtrar por rangos de valores, como traer productos con precio mayor a cien [4:23]:

sql SELECT * FROM productos WHERE precio > 100;

¿Cómo usar BETWEEN, IN y LIKE para filtros avanzados?

BETWEEN filtra datos dentro de un rango numérico [4:50]. Por ejemplo, productos con precio entre cincuenta y doscientos:

sql SELECT nombre, precio FROM productos WHERE precio BETWEEN 50 AND 200;

IN permite filtrar usando una lista de valores [5:18]. Es muy útil cuando trabajas con categorías o códigos específicos:

sql SELECT nombre, codigo FROM paises WHERE codigo IN ('CHL', 'ARG', 'COL');

Solo devuelve los registros cuyo código coincida exactamente con alguno de los elementos de la lista.

LIKE se utiliza para búsquedas parciales en campos de texto, combinado con el carácter porcentaje (%) que representa cualquier secuencia de caracteres [6:04]:

  • 'Mar%' busca todo lo que inicie con "Mar".
  • '%@gmail.com' busca todo lo que termine con "@gmail.com".

sql SELECT nombre, email FROM clientes WHERE email LIKE '%@gmail.com';

Otra opción valiosa es verificar si un campo contiene datos o no mediante IS NULL e IS NOT NULL [7:24]. El primero devuelve registros donde el campo está vacío, y el segundo solo los que tienen información.

sql SELECT nombre, telefono FROM clientes WHERE telefono IS NULL; SELECT nombre, telefono FROM clientes WHERE telefono IS NOT NULL;

¿Cómo combinar condiciones lógicas y personalizar resultados?

La lógica dentro del WHERE permite combinar múltiples condiciones [8:22]. Con AND ambas condiciones deben cumplirse. Con OR basta que se cumpla cualquiera de ellas:

sql SELECT nombre, precio, stock FROM productos WHERE precio > 50 AND stock > 0; SELECT nombre, codigo FROM paises WHERE codigo = 'CHL' OR codigo = 'ARG';

El operador NOT invierte la lógica de una condición [9:30]. Si escribes WHERE NOT activo = false, obtienes los registros donde activo es verdadero.

¿Cómo ordenar resultados con ORDER BY y renombrar columnas con AS?

ORDER BY ordena los resultados de forma descendente (DESC, de mayor a menor) o ascendente (ASC, de menor a mayor) [10:28]:

sql SELECT nombre, precio FROM productos ORDER BY precio DESC; SELECT nombre, precio FROM productos ORDER BY precio ASC;

Finalmente, AS permite asignar un alias a las columnas del resultado sin modificar la estructura de la tabla [11:10]. Esto personaliza los encabezados para que sean más descriptivos:

sql SELECT nombre AS cliente, email AS correo_electronico, activo AS vigente FROM clientes;

Ahora es tu turno: realiza tres consultas sobre los datos existentes, aplica WHERE para filtrar, ordénalos de forma ascendente y comparte tu resultado en los comentarios.

SELECT: filtros WHERE y orden ORDER BY