Optimización de Consultas SQL: Ejercicios Prácticos y Conceptos Fundamentales
Enviado por Chuletator online y clasificado en Diseño e Ingeniería
Escrito el en español con un tamaño de 5,59 KB
Ejercicios Prácticos de Consultas SQL
Sección S20: Consultas Básicas y Manipulación de Datos
S20.1: Media Salarial por Sexo
Realice una consulta que devuelva la media de salarios de la tabla empleados
, agrupada por sexo. Redondee la media de salarios a un solo decimal y decodifique la columna SEXO
para que aparezcan los literales 'HOMBRES' y 'MUJERES' en lugar de 'H' y 'M'. No olvide renombrar las columnas con un alias apropiado.
S20.2: Datos de Empleados y Cálculo de Edad
Realice una consulta sobre la tabla EMPLEADOS
que devuelva el nombre, los apellidos, la fecha de nacimiento y la edad actual en años de cada empleado. Considere solo aquellos empleados con 18 años o más.
Nota: La edad de un empleado en años se calcula como el número de días transcurridos desde el nacimiento dividido entre los 365 días que tiene un año.
S20.3: Conteo de Vehículos por Revisión
Realice una consulta sobre la tabla vehículos
que devuelva el número de vehículos que deben pasar la revisión, agrupado por el año en que deben pasarla.
Sección S21: Subconsultas en SELECT para Porcentajes
S21.1.1: Porcentaje de Individuos por Ubicación
Resuelva en una sola consulta, utilizando una subconsulta en la cláusula SELECT
, el porcentaje de individuos que contiene cada ubicación del centro de mascotas versus el total de mascotas en el centro. No considere mascotas dadas de baja.
S21.1.2: Porcentaje de Especies por Ubicación
Realice el mismo ejercicio, pero discriminando por especie; es decir, el porcentaje de gatos o perros que contiene cada ubicación versus el total de gatos o de perros que hay en el centro.
Sección S22: Subconsultas en FROM para Porcentajes
S22.1.1: Porcentaje de Individuos por Ubicación (FROM)
Resuelva en una sola consulta, utilizando una subconsulta en la cláusula FROM
, el porcentaje de individuos que contiene cada ubicación del centro de mascotas versus el total de mascotas en el centro. No considere mascotas dadas de baja.
S22.1.2: Porcentaje de Especies por Ubicación (FROM)
Realice el mismo ejercicio, pero discriminando por especie; es decir, el porcentaje de gatos o de perros que contiene cada ubicación versus el total de gatos o de perros que hay en el centro.
Sección S23: Consultas Avanzadas y Filtrado
S23.1.1: Empleados Excluyendo Extremos de Edad
Construya una consulta que devuelva todos los empleados, salvo el más joven y el más mayor.
S23.2.1 y S23.2.2: Profesores sin Cursos (IN
y EXISTS
)
Construya una consulta que devuelva los profesores que no imparten ningún curso. Resuelva el problema de dos modos: use el operador IN
en uno de ellos y el operador EXISTS
en el otro.
S23.3: Ubicación con Mayor Número de Ejemplares
Construya una consulta que devuelva la ubicación del centro de mascotas con el mayor número de ejemplares. En el resultado debe aparecer, además de la ubicación, la especie y el número de ejemplares de dicha ubicación. No considere mascotas dadas de baja.
Sección S24: Creación y Uso de Vistas
S24.1 y S24.2: Vista Decodificadora de Mascotas
Construya una vista que decodifique los campos ESPECIE
, SEXO
y ESTADO
de la tabla MASCOTAS
con ayuda de la función IF
. El resto de campos no se deben tratar, pero deben formar parte de la vista. Asigne un nombre a la vista para que, cuando se reutilice en las consultas, denote que se trata de una vista y no de una tabla.
Conceptos Fundamentales de SQL
- Subconsulta: Es una consulta que se integra dentro de una consulta principal como parte de esta, formando en su conjunto una sola consulta.
- Subconsulta en la cláusula
SELECT
: Primero se obtiene la suma de todos los salarios y luego, con el dato precalculado, se aplica la fórmula a cada registro o empleado. - Subconsulta condicionada: Es una consulta que necesita ejecutarse para cada uno de los registros que la consulta principal selecciona.
- Cláusula
FROM
: Sirve para identificar las tablas de donde serán provistos los datos a retornar. - Fuente de datos constante: Está integrada en la propia consulta.
- Subconsulta en la cláusula
WHERE
: Permiten valores que se emplearán como filtros sobre los campos de las tablas de la consulta principal. Se distinguen tres tipos: filtrar un campo a un solo valor, filtrar un campo a una lista de valores posibles (IN
,NOT IN
), y condicionar a que exista algún registro en otra tabla (EXISTS
/NOT EXISTS
). - Filtrar por un solo valor: Consiste en condicionar un campo de la consulta principal contra un valor que proviene de una subconsulta.
- Operador
EXISTS
: Permite filtrar registros en función de si el resultado de una subconsulta devuelve o no registros. - Vista: Es una consulta almacenada en la base de datos para reutilizarla cuando sea necesario como si fuera una tabla.
- Consideración sobre consultas comunes: Una consulta puede ser una operación frecuente al desarrollar informes, cuya implementación se decide según la necesidad, y no siempre requiere ser una subconsulta.