Modelado físico relacional de bases de datos

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.

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.

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.

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.


2.3. Práctica

  • Escribir un SELECT que muestre todos los datos de una tabla.
  • Filtrar resultados usando WHERE.
  • Ordenar los resultados con ORDER BY.
  • Agrupar datos usando GROUP BY y filtrar grupos con HAVING.
  • Usar funciones de agregación en consultas.
  • Loading...