Taller M4-TSQL

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 4

Escribiendo Consultas con Transact-SQL

Módulo 4: Consultas con múltiples tablas - Subconsultas

Seleccionar columnas específicas de múltiples tablas


La palabra clave JOIN especifica que las tablas están unidas y cómo unirse a ellas
La palabra clave ON especifica la condición de unión
Consulta con dos o más tablas se utiliza para producir un conjunto de resultados
Utilice claves primarias y foráneas como condiciones de unión. Se usan las columnas comunes
en las tablas especificadas para unir tablas
• Inner Join
• Incluye combinaciones naturales
• Use operadores de comparación para unir filas
• Outer Join
• Incluye left, right, o full outer joins
• Cross Join
• También llamados productos cartesianos
• Self Join
• Se refiere a cualquier combinación utilizada para unirse a una tabla en sí misma

Las cláusulas FROM pueden contener múltiples especificaciones de unión que permiten unir
muchas tablas en una sola consulta

UNION combina los resultados de dos o más consultas en un único conjunto de resultados que
incluye todas las filas que pertenecen a todas las consultas en la unión

EXCEPTO devuelve valores distintos de la consulta a la izquierda que no encuentre en la


columna de la izquierda

INTERSECT devuelve los valores distintos que se intercepten al lado izquierdo y derecho del
operando INTERSECT

Subconsultas

Las subconsultas son consultas anidadas dentro de una instrucción SELECT, INSERT, UPDATE o
DELETE. Se pueden usar en cualquier lugar donde se permita una expresión

Taller Modulo 4 – Pg.1


Escribiendo Consultas con Transact-SQL

Ejercicio 1: Consultar varias tablas mediante combinaciones

Escenario

Usted es el desarrollador de la base de datos de Adventure Works. Le han pedido preparar los
siguientes informes:

• Lista de ID de inicio de sesión de empleados para aquellos empleados que también son
vendedores.
• Lista de productos producidos por la compañía, independientemente de si esos
 los productos tienen reseñas escritas sobre ellos o no.
• Lista de todas las personas de ventas sin importar si se les asignó o no una venta
 territorio.

1. Inicie SQL Server Management Studio.


2. Crear y ejecutar consulta usando Inner Join
• Cree una consulta que devolverá la columna ID de inicio de sesión basada en
BusinessEntityID.
• Use un Inner Join para unirse a la tabla HumanResources.Employee con la Tabla
Sales.SalesPerson.
• Ejecuta la consulta y revisa los resultados.
3. Crear y ejecutar un Left Outer Join y un Right Outer Join
• Utilizado Left Outer Join y las tablas ProductReview y ProductReview en sus
columnas ProductID para mostrar solo aquellos productos que tienen revisiones.
• Crear Right Outer Join utilizando las tablas SalesTerritory y SalesPerson en sus
columnas TerritoryID para mostrar cualquier territorio que se haya asignado a un
vendedor.
• Ejecuta la consulta y revisa los resultados.

Ejercicio 2: Aplicar combinaciones para crear de informes

Escenario

Ahora los diferentes gerentes de Adventure Works le han pedido que prepare los siguientes
informes:

• Lista de todos los productos que son producidos por proveedores.


• Lista de productos creados por todos los proveedores, eliminando duplicados usando
el operador DISTINCT.
• Lista de subcategorías de productos que tienen al menos dos precios diferentes
menores que $ 15.

1. Crear una consulta que devolverá una lista de todos los productos en el
Purchasing.ProductVendor que son producidas por todos los proveedores y ordene
los resultados por ProductID.

Ejecuta la consulta y revisa los resultados.

Taller Modulo 4 – Pg.2


Escribiendo Consultas con Transact-SQL

2. Crear una consulta que devolverá una lista de todos los productos en
Compras.ProductVendor que son producidas por los proveedores, utilize la
cláusula DISTINCT y ordene los resultados por ID del Producto.

Ejecuta la consulta y revisa los resultados

3. Cree una consulta que devolverá una lista de todas las subcategorías de productos
que tienen al menos dos precios diferentes de menos de $ 15. Use Inner Join para
unir la tabla Production.Product con si misma y utilice la columna ListPrice para
seleccionar dos precios diferentes.
Ejecuta la consulta y revisa los resultados.

Ejercicio 3: combinación y limitación de conjuntos de resultados

Escenario

Los diferentes gerentes de Adventure Works le han pedido que prepare el siguientes informes:

• Lista combinada de tabla TestA y tabla TestB utilizando el operador UNION ALL.
• Lista de todas las ID de productos de la tabla Production.Product que no están en el
Tabla Production.WorkOrder.
• Lista de todas las identificaciones de productos con valores distintos en
production.Product y Production.WorkOrder.

1. Cree una consulta que arrojará una lista combinada de todas las columnas en
TestA y TestB.
Ejecuta la consulta y revisa los resultados.

Cree una consulta utilizando EXCEPT que enumera todas las identificaciones de
productos de la tabla Production.Product que no están en la tabla
Production.WorkOrder.
Ejecuta la consulta y revisa los resultados.

2. Cree una consulta utilizando INTERSECT que enumera todas las identificaciones de
productos de la tabla Production.Product que no están en la tabla
production.WorkOrder.
Ejecuta la consulta y revisa los resultados.

Ejercicio 4: Escribir subconsultas básicas

Escenario

Usted es un desarrollador de bases de datos de Adventure Works. Se requiere preparar los


siguientes informes:

• Lista que contiene los precios de los pernos de plato.


• Lista de todos los tipos de ruedas producidos en cualquier momento.

Tarea 1: lanzar SQL Server Management Studio

Taller Modulo 4 – Pg.3


Escribiendo Consultas con Transact-SQL

1. Crear una subconsulta para seleccionar el nombre de cualquier producto que


tenga un precio de lista igual al precio de lista de 'Pernos de plato' en la tabla
Production.Product.
Ejecuta la consulta y revisa los resultados.

2. Crear subconsulta con la palabra clave EXISTS que devolverá todos los elementos
del tipo 'Wheels' de la tabla Production.ProductSubcategory.
Ejecuta la consulta y revisa los resultados.

Ejercicio 5: escribir subconsultas correlacionadas

Escenario

Un gerente de ventas le ha pedido que prepare los siguientes informes:

• Lista de cada empleado que recibió una bonificación de más de $ 5000.


• Lista de ventas donde la cantidad es menor que la cantidad promedio para las ventas
de producto.

1. Crear una subconsulta que devuelva el apellido y el nombre de cada empleado que ha
recibido un bono de más de $ 5000.
 Unir la tabla Person.Person con la tabla HumanResources.Employee para
seleccionar las columnas requeridas
Ejecuta la consulta y revisa los resultados.

2. Crear una subconsulta correlacionada que devuelve una lista de ventas donde la
cantidad de las ventas son menores que la cantidad promedio de ventas para ese
producto.
 Use las columnas ProductID y OrderQty de la tabla Sales.SalesOrderDetail
Ejecuta la consulta y revisa los resultados.

Ejercicio 3: comparar subconsultas con combinaciones

Escenario

El Administrador Principal de la Base de Datos también le ha pedido que prepare varios


informes con el rendimiento del sistema en mente:

• Cree una subconsulta y una combinación que produzca el mismo conjunto de


resultados.

1. Crear una subconsulta para seleccionar el nombre de cualquier producto que tenga un
precio de lista igual al precio de lista de 'Pernos de plato' en la tabla
Production.Product.
2. Crear y ejecutar una unión para seleccionar el nombre de cualquier producto que
tenga una lista precio igual al precio de lista de 'Pernos de plato' en
Production.Product

Taller Modulo 4 – Pg.4

También podría gustarte