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.

Entradas relacionadas: