CURSO: SQL Y MODELAMIENTO
DE BASE DE DATOS - SQL SERVER
2019
Capítulo 7: Consultas avanzadas
con lenguaje SQL
Objetivos
• Realizar consultas complejas aplicando agrupamiento, combinación
y sub-consultas.
• Construir vistas para simplificar el acceso a la información.
4-2 Copyright © Todos los Derechos Reservados - Cibertec Perú SAC. 2
IES Privado Cibertec S.A.C – SQL y Modelamiento de Datos - SQL Server 2019 1
Agenda
• Funciones de agrupamiento
• Consultas multitabla
• Consultas anidadas
• Creando vistas
4-3 Copyright © Todos los Derechos Reservados - Cibertec Perú SAC. 3
Funciones de agrupamiento
GROUP BY
• Agrupa un conjunto de filas de acuerdo con los valores de una o
más columnas o expresiones, devolviendo una fila por cada grupo.
4-4 Copyright © Todos los Derechos Reservados - Cibertec Perú SAC. 4
IES Privado Cibertec S.A.C – SQL y Modelamiento de Datos - SQL Server 2019 2
Funciones de agrupamiento
SUM
• Devuelve la suma de todos los valores de un grupo de datos que
fue agrupado por la sentencia GROUP BY.
4-5 Copyright © Todos los Derechos Reservados - Cibertec Perú SAC. 5
Funciones de agrupamiento
AVG
• Devuelve el promedio de todos los valores de un grupo de datos
que fue agrupado por la sentencia GROUP BY.
4-6 Copyright © Todos los Derechos Reservados - Cibertec Perú SAC. 6
IES Privado Cibertec S.A.C – SQL y Modelamiento de Datos - SQL Server 2019 3
Funciones de agrupamiento
MAX y MIN
• Devuelve el promedio máximo o mínimo de todos los valores de un
grupo de datos que fue agrupado por la sentencia GROUP BY.
4-7 Copyright © Todos los Derechos Reservados - Cibertec Perú SAC. 7
Funciones de agrupamiento
COUNT
• Devuelve el número de elementos de un grupo.
4-8 Copyright © Todos los Derechos Reservados - Cibertec Perú SAC. 8
IES Privado Cibertec S.A.C – SQL y Modelamiento de Datos - SQL Server 2019 4
Funciones de agrupamiento
Operador CUBE
• Genera un conjunto de resultados que es un cubo
multidimensional.
• Genera filas de agregado mediante la clausula GROUP BY simple.
4-9 Copyright © Todos los Derechos Reservados - Cibertec Perú SAC. 9
Funciones de agrupamiento
Operador ROLLUP
• Es útil para generar reportes que contienen subtotales y totales.
• Para las filas agrupadas, se usa un valor de NULL para representar
los valores de la columna.
4 - 10 Copyright © Todos los Derechos Reservados - Cibertec Perú SAC. 10
IES Privado Cibertec S.A.C – SQL y Modelamiento de Datos - SQL Server 2019 5
Funciones de agrupamiento
HAVING
• Especifica una condición de búsqueda para un grupo.
• HAVING solo se puede utilizar con la instrucción SELECT.
• Se utiliza en una cláusula GROUP BY.
4 - 11 Copyright © Todos los Derechos Reservados - Cibertec Perú SAC. 11
Funciones de agrupamiento
UNIÓN
• Combina los resultados de dos o más consultas en un solo conjunto
de resultados.
Left Right
Query Query
4 - 12 Copyright © Todos los Derechos Reservados - Cibertec Perú SAC. 12
IES Privado Cibertec S.A.C – SQL y Modelamiento de Datos - SQL Server 2019 6
Consultas multitabla
INNER JOIN
• Devuelven todos los pares de las filas coincidentes.
• Rechaza las filas no coincidentes de las dos tablas.
4 - 13 Copyright © Todos los Derechos Reservados - Cibertec Perú SAC. 13
Consultas multitabla
LEFT OUTER JOIN
• Especifica que todas las filas de la tabla de la izquierda que no
cumplan con la condición de combinación se incluyan en el
conjunto de resultados.
4 - 14 Copyright © Todos los Derechos Reservados - Cibertec Perú SAC. 14
IES Privado Cibertec S.A.C – SQL y Modelamiento de Datos - SQL Server 2019 7
Consultas multitabla
FULL OUTER JOIN
• Especifica que todas las filas de la tabla de la izquierda y la derecha
que no cumplan con la condición de combinación se incluyan en el
conjunto de resultados.
4 - 15 Copyright © Todos los Derechos Reservados - Cibertec Perú SAC. 15
Consultas multitabla
LEFT & RIGHT JOINS
4 - 16 Copyright © Todos los Derechos Reservados - Cibertec Perú SAC. 16
IES Privado Cibertec S.A.C – SQL y Modelamiento de Datos - SQL Server 2019 8
Consulta anidada
• Devuelve un valor único y está anidada en una instrucción:
- SELECT
- INSERT
- UPDATE
- DELETE
• La sub-consulta incluye siempre paréntesis.
• No puede contener un COMPUTE.
• Puede incluir una cláusula ORDER BY.
4 - 17 Copyright © Todos los Derechos Reservados - Cibertec Perú SAC. 17
Consulta anidada
PIVOT
• Permite rotar datos de filas (visualizadas en vertical) a columnas
(visualizadas en horizontal).
4 - 18 Copyright © Todos los Derechos Reservados - Cibertec Perú SAC. 18
IES Privado Cibertec S.A.C – SQL y Modelamiento de Datos - SQL Server 2019 9
Creando vistas
¿Qué es una view?
• Es una tabla virtual almacenada en el gestor de datos.
• Contienen un SELECT y el resultado forma la tabla virtual.
• Restringe el acceso a filas y columnas de una tabla real.
• Se utiliza mediante instrucción SELECT.
• Puede contener múltiples columnas la consulta.
4 - 19 Copyright © Todos los Derechos Reservados - Cibertec Perú SAC. 19
Vista de datos
CREATE OR ALTER VIEW VALUMNO
AS
SELECT A.C_ALUMNO,
A.X_NOMBRE,
A.X_PATERNO,
A.X_MATERNO,
M.C_CURSO,
M.X_CURSO
FROM TALUMNO A, TCURSO C,TMATRICULA M
WHERE A.C_ALUMNO = M.C_ALUMNO AND
M.C_CURSO = C.C_CURSO
4 - 20 Copyright © Todos los Derechos Reservados - Cibertec Perú SAC. 20
IES Privado Cibertec S.A.C – SQL y Modelamiento de Datos - SQL Server 2019 10
Vista de datos
SELECT * FROM VALUMNO
4 - 21 Copyright © Todos los Derechos Reservados - Cibertec Perú SAC. 21
Ejercicio Nº 1: Comprender las cláusulas avanzadas
del lenguaje SQL
Al finalizar el laboratorio, el alumno logrará:
• Crear una consulta utilizando funciones de agrupamiento.
4 - 22 Copyright © Todos los Derechos Reservados - Cibertec Perú SAC. 22
IES Privado Cibertec S.A.C – SQL y Modelamiento de Datos - SQL Server 2019 11
Ejercicio Nº 2: Comprender las cláusulas avanzadas
del lenguaje SQL
Al finalizar el laboratorio, el alumno logrará:
• Crear una consulta utilizando las instrucciones:
– GROUP BY
– HAVING
– CUBE
– ROLLUP
4 - 23 Copyright © Todos los Derechos Reservados - Cibertec Perú SAC. 23
Ejercicio Nº 3: Comprender las cláusulas avanzadas
del lenguaje SQL
Al finalizar el laboratorio, el alumno logrará:
• Crear una consulta utilizando las instrucciones:
– INNER JOIN
– LEFT OUTER JOIN
– RIGHT OUTER JOIN
– FULL OUTER JOIN
4 - 24 Copyright © Todos los Derechos Reservados - Cibertec Perú SAC. 24
IES Privado Cibertec S.A.C – SQL y Modelamiento de Datos - SQL Server 2019 12
Ejercicio Nº 4: Comprender las cláusulas avanzadas
del lenguaje SQL
Al finalizar el laboratorio, el alumno logrará:
• Crear una consulta utilizando las instrucciones:
– IN
– EXISTS
4 - 25 Copyright © Todos los Derechos Reservados - Cibertec Perú SAC. 25
Ejercicio Nº 5: Comprender las cláusulas avanzadas
del lenguaje SQL
Al finalizar el laboratorio, el alumno logrará:
• Crear una tabla virtual.
4 - 26 Copyright © Todos los Derechos Reservados - Cibertec Perú SAC. 26
IES Privado Cibertec S.A.C – SQL y Modelamiento de Datos - SQL Server 2019 13
Lecturas adicionales
Para obtener información adicional, puede consultar el enlace
siguiente:
• [Link]
source/content/2/sql%20parte%[Link]
• [Link]
4 - 27 Copyright © Todos los Derechos Reservados - Cibertec Perú SAC. 27
Resumen
En este capítulo, usted aprendió que:
• SQL permite escribir sentencias que agrupan, combinan y fusionan
la información según las necesidades del cliente.
• Las vistas simplifican el trabajo al transformar varias tablas un una
sola entidad virtual.
4 - 28 Copyright © Todos los Derechos Reservados - Cibertec Perú SAC. 28
IES Privado Cibertec S.A.C – SQL y Modelamiento de Datos - SQL Server 2019 14
Tarea: Comprender las características avanzadas del
SELECT
Aplicar sentencias avanzadas del SQL.
Al finalizar el laboratorio, el alumno logrará contestar:
• ¿Cuál es el objetivo del predicado PIVOT?
• ¿Cuál es el objetivo de la función MERGE?
• ¿Qué consideraciones deben tenerse al elaborar SELECT?
• ¿Qué es el Explain Plan?
4 - 29 Copyright © Todos los Derechos Reservados - Cibertec Perú SAC. 29
IES Privado Cibertec S.A.C – SQL y Modelamiento de Datos - SQL Server 2019 15