6
Utilizando la base de datos Northwind . Genere una lista de selección de la tabla Employees (Empleado) donde solo se genere una columna de salida y esta contenga los campos: EmployeeID, LastName y FirstName. Select convert(nvarchar(2),EmployeeID) + ‘’ + LastName + ‘’ + FirstName as Nombre from Employees Utilizando la tabla Employees liste las columnas EmployeeID, LastName, FirstName, además envié dos mensajes en conjunto con cada fila utilizando para cada uno una de las opciones de literales. Select EmployeeID, LastName as Apellido, FirstName as Nombre, 'ESTOS SON EMPLEADOS' as Literal, [Otra Forma] = 'Esta es otra forma' from Employees Suponga que queremos ver aquellos productos (Tabla Products) cuyos valores se encuentran entre los 4 y 20 Dólares. Select * from Products where UnitPrice Between 5.0 and 20.0 Liste los campos de la tabla productos que tengan exactamente un precio de 18, 19 y 10 dolares. Select * from Products where UnitPrice in (10.0,18.0,19.0) Encontrar todos los apellidos (LastName) en la tabla Employees que comiencen con la letra <<S>>. Use el carácter comodín %.

Ejercicios SQL Server Resueltos

Embed Size (px)

Citation preview

Page 1: Ejercicios SQL Server Resueltos

Utilizando la base de datos Northwind . Genere una lista de selección de la tabla Employees (Empleado) donde solo se genere una columna de salida y esta contenga los campos: EmployeeID, LastName y FirstName.

Select convert(nvarchar(2),EmployeeID) + ‘’ + LastName + ‘’ + FirstName as Nombre from Employees

Utilizando la tabla Employees liste las columnas EmployeeID, LastName, FirstName, además envié dos mensajes en conjunto con cada fila utilizando para cada uno una de las opciones de literales.

Select EmployeeID, LastName as Apellido, FirstName as Nombre, 'ESTOS SON EMPLEADOS' as Literal, [Otra Forma] = 'Esta es otra forma' from Employees

Suponga que queremos ver aquellos productos (Tabla Products) cuyos valores se encuentran entre los 4 y 20 Dólares.

Select * from Products where UnitPrice Between 5.0 and 20.0

Liste los campos de la tabla productos que tengan exactamente un precio de 18, 19 y 10 dolares.

Select * from Products where UnitPrice in (10.0,18.0,19.0)

Encontrar todos los apellidos (LastName) en la tabla Employees que comiencen con la letra <<S>>. Use el carácter comodín %.

SELECT LastName FROM Employees WHERE LastName LIKE 'S%' – Acá se arma la frase con el comodín

Para recuperar el apellido de los Empleados cuya primera letra comienza entre <<A>> y <<M>>. Utilice el comodín [ ].

SELECT LastName FROM Employees WHERE LastName LIKE '[A-M ]%'

Usar Base de Datos Pubs . Para recuperar la información de un autor cuyo ID comienza con el numero 724, sabiendo que cada ID tiene el formato de tres dígitos

Page 2: Ejercicios SQL Server Resueltos

seguidos por un guión, seguido por dos dígitos, otro guión y finalmente cuatro dígitos. Utilizar el comodín _ .

Select * from authors where au_id LIKE '724-__-____'

Usar base de datos Northwind . Liste todos los campos de la tabla Suppliers cuya columna Región sea NULL.

Select * from Suppliers where Region is null

Usando la base de dato PUBS. Calcula la suma de las ventas del año hasta la fecha (ytd_sales) de todos los libros de la tabla titles .

USE pubs SELECT SUM(ytd_sales) FROM titles

Usando la base de datos PUBS. Puede averiguar el precio promedio de todos los libros si se duplicaran los precios ( tabla titles ).

SELECT avg (price * 2) FROM titles

Usando la base de dato PUBS. Muestre el mayor valor de las las ventas del año (ytd_sales) de todos los libros de la tabla titles.

USE pubs SELECT MAX(ytd_sales) FROM titles

Usando la base de dato PUBS. Muestre el mínimo valor de las ventas del año (ytd_sales) de todos los libros de la tabla titles.

USE pubs SELECT MIN (ytd_sales) FROM titles

Usando la base de datos PUBS. Cuente las filas de la tabla titles.

Use Pubs SELECT COUNT(*) FROM titles

Usando la base de datos PUBS. Cuente los datos de la tabla titles, cuyo tipo (TYPE) sea business .

Page 3: Ejercicios SQL Server Resueltos

Use Pubs SELECT COUNT(TYPE) FROM titles WHERE TYPE = ‘business’

Utilizando la base de datos PUBS. Liste las suma de las ventas por año ( ytd_sales ) hasta la fecha, clasificándolas por tipo (TYPE) de titulo (titles).

Use Pubs SELECT TYPE,SUM(ytd_sales) FROM titles GROUP BY TYPE

Liste las sumas de las ventas por año (ydt_sales) hasta la fecha, clasificándolas por tipo (TYPE) y pub_id.

Use Pubs SELECT TYPE, pub_id,SUM(ytd_sales) from titles Group by TYPE, pub_id

Utilizando el ultimo ejemplo. Liste solamente los grupos cuyo pub_id sea igual a 0877. Pista, usar having

SELECT TYPE, pub_id,SUM(ytd_sales) from titles Group by TYPE,pub_id HAVING pub_id = '0877‘

De la base de datos PUBS. Combine las tablas stores y discounts para mostrar que tienda (stor_id) ofrece un descuento y el tipo de descuento (discounttype).

Use Pubs SELECT s.stor_id as ALMACEN, d.discounttype as DESCUENTO FROM stores s JOIN discounts d ON s.stor_id = d.stor_id

SELECT s.stor_id as ALMACEN, d.discounttype as DESCUENTO FROM stores as s,discounts as d WHERE s.stor_id = d.stor_id

Combinación externas Completas (full Outer Join) Especifica que se debería incluir en el resultado las filas no coincidentes (filas que no cumplen con la condición ON) así como las filas que coincidan (filas que cumplen la condición ON). En el campo donde no es coincidente la condición se coloca NULL

Utilice el mismo ejemplo anterior solo utilice en el from la instrucción FULL OUTER JOIN.

Use Pubs SELECT s.stor_id as ALMACEN, d.discounttype as DESCUENTO FROM stores s FULL OUTER JOIN discounts d ON s.stor_id = d.stor_id

Combinación externa por la izquierda (Left Outer Join) Devuelve las filas coincidentes más todas las filas de la tabla que se especifican a la izquierda de la palabra clave JOIN.

Page 4: Ejercicios SQL Server Resueltos

Utilice el mismo ejemplo anterior solo utilice en el from la instrucción LEFT OUTER JOIN. Use Pubs SELECT s.stor_id as ALMACEN, d.discounttype as DESCUENTO FROM stores s LEFT OUTER JOIN discounts d ON s.stor_id = d.stor_id

Combinación externa por la derecha (Right Outer Join) Es lo contrario a Left Outer Join

Utilice el mismo ejemplo anterior solo utilice en el from la instrucción RIGHT OUTER JOIN.

Use Pubs SELECT s.stor_id as ALMACEN, d.discounttype as DESCUENTO FROM stores s RIGHT OUTER JOIN discounts d ON s.stor_id = d.stor_id

Usando base de datos Northwind . Muestre los Productos (ID del Producto, Nombre y Precio Unitario) que tengan un precio unitario igual al Máximo.

SELECT ProductID as ID,ProductName as Nombre, UnitPrice as Precio_Unitario FROM Products WHERE UnitPrice = (SELECT MAX (UnitPrice) FROM Products)

Usando base de datos Northwind . Muestre los Productos (ID del Producto, Nombre y Precio Unitario) que tengan un precio unitario igual al Mínimo.

SELECT ProductID as ID,ProductName as Nombre, UnitPrice as Precio_Unitario FROM Products WHERE UNITPRICE = (SELECT MIN(UNITPRICE) FROM Products)

Operador UNION Este operador mezcla los resultados de dos o más consultas en un solo conjunto de resultados que contiene todas las filas que pertenecen a las consultas de la unión. Como restricción las columnas que se obtienen por la UNION en ambas consultas deben ser del mismo tipo de datos.

NOMENCLATURA: SELECT * FROM TABLAS UNION [ ALL ] SELECT * FROM TABLAS

NOTA: Al usar el operador opcional ALL se listan como resultados todas las filas de ambas consultas. Sino no se utiliza ALL se lista la UNION es decir no se listan datos duplicados.

Page 5: Ejercicios SQL Server Resueltos

Realice una unión de las consultas anidadas vistas anteriormente. Usando ambas opciones de unión (Con y Sin ALL).

SELECT ProductID as ID,ProductName as Nombre, UnitPrice as Precio_Unitario FROM Products WHERE UNITPRICE = (SELECT MIN(UNITPRICE) FROM Products) UNION SELECT ProductID as ID,ProductName as Nombre, UnitPrice as Precio_Unitario FROM Products WHERE UNITPRICE = (SELECT MIN(UNITPRICE) FROM Products)

SELECT ProductID as ID,ProductName as Nombre, UnitPrice as Precio_Unitario FROM Products WHERE UNITPRICE = (SELECT MIN(UNITPRICE) FROM Products) UNION ALL SELECT ProductID as ID,ProductName as Nombre, UnitPrice as Precio_Unitario FROM Products WHERE UNITPRICE = (SELECT MIN(UNITPRICE) FROM Products)