Lenguaje de Consulta de Datos (DQL) 1/4
1. Introducción a DQL #
El Lenguaje de Consulta de Datos (DQL) se usa para extraer información de una base de datos. Su comando principal es SELECT, que permite consultar y mostrar datos de una o varias tablas.
Comando SELECT #
Sintaxis básica de SELECT:
1SELECT columnas 2FROM tabla;
Ejemplo:
1SELECT nombre, edad 2FROM estudiantes;
Este comando selecciona y muestra las columnas nombre y edad de la tabla estudiantes.
Uso de WHERE (Filtrar resultados):
1SELECT nombre, edad 2FROM estudiantes 3WHERE edad > 18;
Este comando muestra los nombres y edades de los estudiantes mayores de 18 años.
Los operadores de comparación más comunes son:
=: Igual a.!=o<>: Diferente de.>,<: Mayor o menor que.>=,<=: Mayor o igual a, menor o igual a.BETWEEN: Entre dos valores. (lo veremos más adelante)LIKE: Coincide con un patrón. (lo veremos más adelante)IN: Coincide con uno de varios valores. (lo veremos más adelante)AND,OR,NOT: Operadores lógicos. (lo veremos más adelante)IS NULL,IS NOT NULL: Verificar si un valor es nulo o no nulo. (lo veremos más adelante)EXISTS: Verificar si existe un subconjunto de resultados. (lo veremos más adelante)ANY,ALL: Comparar un valor con cualquier valor o con todos los valores de un conjunto. (lo veremos más adelante)
Uso de ORDER BY (Ordenar resultados):
1SELECT nombre, edad 2FROM estudiantes 3ORDER BY edad DESC;
Este comando muestra los nombres y edades de los estudiantes ordenados de mayor a menor edad.
Las opciones de ordenamiento son:
ASC: Orden ascendente (por defecto).DESC: Orden descendente.
Uso de GROUP BY (Agrupar resultados):
1SELECT clase, COUNT(*) 2FROM estudiantes 3GROUP BY clase;
Este comando cuenta cuántos estudiantes hay en cada clase.
Uso de HAVING (Filtrar grupos):
1SELECT clase, COUNT(*) 2FROM estudiantes 3GROUP BY clase 4HAVING COUNT(*) > 5;
Este comando muestra solo las clases que tienen más de 5 estudiantes.
Uso de Funciones de Agregación:
COUNT: Cuenta el número de filas.SUM: Suma los valores de una columna.AVG: Calcula el promedio de una columna.MIN: Encuentra el valor mínimo.MAX: Encuentra el valor máximo.
Ejemplo con AVG:
1SELECT AVG(edad) 2FROM estudiantes;
Este comando calcula la edad promedio de todos los estudiantes.
Uso de JOIN (Unir tablas):
1SELECT estudiantes.nombre, cursos.nombre 2FROM estudiantes 3JOIN cursos ON estudiantes.curso_id = cursos.id;
Este comando muestra el nombre de los estudiantes junto con el nombre de los cursos en los que están inscritos.
Alias AS #
En SQL, un alias es un nombre temporal que se asigna a una tabla o columna dentro de una consulta para hacerla más fácil de leer y escribir. Los alias son especialmente útiles cuando se trabajan con tablas con nombres largos, cuando se realizan uniones entre varias tablas, o cuando se necesitan nombres alternativos para las columnas resultantes.
2. Alias para columnas #
Cuando utilizas un alias para una columna, puedes darle un nombre más sencillo o comprensible a la columna en el resultado de la consulta.
Sintaxis: #
1SELECT columna AS alias 2FROM tabla;
Ejemplo de alias para columna: #
Supongamos que tienes una tabla llamada estudiantes y una columna llamada nombre_completo, pero quieres que el resultado de la consulta muestre el alias nombre para esa columna:
1SELECT nombre_completo AS nombre 2FROM estudiantes;
Esto mostrará la columna nombre_completo con el título nombre en el resultado, aunque en la base de datos la columna siga llamándose nombre_completo.
3. Alias para tablas #
Un alias para una tabla es útil cuando se hace una consulta con varias tablas, y especialmente cuando hay uniones entre ellas. En vez de escribir el nombre completo de la tabla, puedes usar un alias corto.
Sintaxis: #
1SELECT t.columna 2FROM tabla AS t;
Ejemplo de alias para tabla: #
Supongamos que tienes dos tablas, estudiantes y cursos, y quieres unirlas. Puedes asignar un alias corto a cada tabla para hacer la consulta más fácil de leer:
1SELECT e.nombre, c.nombre_curso 2FROM estudiantes AS e 3JOIN cursos AS c ON e.curso_id = c.id;
Aquí, e es un alias para la tabla estudiantes y c es un alias para la tabla cursos. Usar estos alias en lugar de escribir los nombres completos de las tablas hace que la consulta sea más compacta y fácil de leer.
4. Alias sin la palabra clave AS #
En SQL, también puedes usar un alias sin la palabra clave AS, aunque su uso no es obligatorio:
1SELECT nombre_completo nombre 2FROM estudiantes;
Es equivalente al ejemplo anterior, solo que omites la palabra AS.
5. Práctica #
- Escribir un
SELECTque muestre todos los datos de una tabla. - Filtrar resultados usando
WHERE. - Ordenar los resultados con
ORDER BY. - Agrupar datos usando
GROUP BYy filtrar grupos conHAVING. - Usar funciones de agregación en consultas.
Resumen del tema
Conceptos clave #
- DQL (Data Query Language): sublenguaje centrado en la consulta y recuperación de datos mediante la sentencia
SELECT. SELECT ... FROM: especifica qué columnas o expresiones proyectar y desde qué tablas obtener los datos.WHERE: filtra filas evaluando condiciones lógicas (=,<>,<,>,BETWEEN,IN,LIKE,IS NULL).ORDER BY [ASC|DESC]: ordena los registros resultantes por una o varias columnas de forma ascendente o descendente.DISTINCT: elimina filas duplicadas del conjunto de resultados devuelto.LIMITyOFFSET(oTOP/FETCH FIRST): pagina y limita la cantidad de filas devueltas.- Alias (
AS): renombra temporalmente columnas o tablas para simplificar la lectura y resolver ambigüedades.
Qué debes recordar #
La sentencia SELECT proyecta columnas y WHERE filtra filas antes de ordenar con ORDER BY, constituyendo la base de cualquier consulta en SQL.