Sei sulla pagina 1di 5

--precio medio con (dos decimales) de los productos cuyo stock supera

los 25 unidades
SELECT CAST(AVG(UnitPrice) AS decimal(4,2)) AS 'PRECIO MEDIO' from
Products where UnitsInStock > 25
--numero de pedidos de cada cliente, pero solo se deben mostrar aquellos
clientes que tienen mas de 25 pedidos [orders]
select CustomerID, count(CustomerID) from Orders group by CustomerID
HAVING count(CustomerID) > 25
--numero de clientes que no tienen ningun pedido
SELECT OrderID, C.CustomerID, CompanyName, OrderDate
FROM Customers C RIGHT JOIN Orders O ON C.CustomerID = O.CustomerID
--Calcula factorial
create function calfactorial(@n int =1)
returns decimal(38,0)
with returns null on null input
as begin
return
case
when @n < 0 then null
when @n>1 then cast (@n as float)*dbo.calfactorial(@n-1)
when @n = 1 or @n =0 then 1
end
end
go
--para ejecutar
select dbo.calfactorial(3)
go
--Serie
declare
declare
declare

Fibonacci
@X int
@Y int
@FIB int

set @X = 1
set @Y = 1
set @FIB = 0
print @X
print @Y
while @FIB < 100
BEGIN
set @FIB = @X + @Y
print @FIB
set @X = @Y
set @Y = @FIB
END
--Serie Fibonacci
drop proc fibonacci
go

Create Procedure fibonacci


@ia tinyint
As
declare @a int ,@b int,@temp int,@i int
set @a=1
set @b=1
set @i=2
if @ia>=1
print @a
while @i<=@ia
begin
if @i=2
print @b
else
print (@a+@b)
set @temp=@a+@b
set @a=@b
set @b=@temp
set @i=@i+1
end
go
--para ejecutar
DECLARE @param tinyint
select @param=12
EXEC dbo.fibonacci @param
go

Utilizando la base de datos Northwind . Genere una lista de seleccin


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, adems 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 Dlares.
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 carcter comodn %.
SELECT LastName FROM Employees WHERE LastName LIKE 'S%' Ac se arma la
frase con el comodn
Para recuperar el apellido de los Empleados cuya primera letra comienza
entre <<A>> y <<M>>. Utilice el comodn [ ].
SELECT LastName FROM Employees WHERE LastName LIKE '[A-M ]%'
Usar Base de Datos Pubs . Para recuperar la informacin de un autor
cuyo ID comienza con el numero 724, sabiendo que cada ID tiene el
formato de tres dgitos seguidos por un guin, seguido por dos dgitos,
otro guin y finalmente cuatro dgitos. Utilizar el comodn _ .
Select * from authors where au_id LIKE '724-__-____'
Usar base de datos Northwind . Liste todos los campos de la tabla
Suppliers cuya columna Regin sea NULL.
Select * from Suppliers where Region is null
Usando la base de dato PUBS. Calcula la suma de las ventas del ao
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 ao (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 mnimo valor de las ventas
del ao (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 .

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


Utilizando la base de datos PUBS. Liste las suma de las ventas por
ao ( ytd_sales ) hasta la fecha, clasificndolas 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 ao (ydt_sales) hasta la fecha,
clasificndolas 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
Utilice el mismo ejemplo anterior solo utilice en el from la
instruccin 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
Utilice el mismo ejemplo anterior solo utilice en el from la
instruccin 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
Utilice el mismo ejemplo anterior solo utilice en el from la
instruccin 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 Mximo.
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 Mnimo.
SELECT ProductID as ID,ProductName as Nombre, UnitPrice as
Precio_Unitario FROM Products WHERE UNITPRICE = (SELECT MIN(UNITPRICE)
FROM Products)
Realice una unin de las consultas anidadas vistas anteriormente.
Usando ambas opciones de unin (Con y Sin ALL).
SELECT ProductID as ID,ProductName as Nombre,
Precio_Unitario FROM Products WHERE UNITPRICE
FROM Products)
UNION
SELECT ProductID as ID,ProductName as Nombre,
Precio_Unitario FROM Products WHERE UNITPRICE
FROM Products)

UnitPrice as
= (SELECT MIN(UNITPRICE)

SELECT ProductID as ID,ProductName as Nombre,


Precio_Unitario FROM Products WHERE UNITPRICE
FROM Products)
UNION ALL
SELECT ProductID as ID,ProductName as Nombre,
Precio_Unitario FROM Products WHERE UNITPRICE
FROM Products)

UnitPrice as
= (SELECT MIN(UNITPRICE)

UnitPrice as
= (SELECT MIN(UNITPRICE)

UnitPrice as
= (SELECT MIN(UNITPRICE)

Potrebbero piacerti anche