Professional Documents
Culture Documents
Semana 4
Semana 4
Semana 4
--Cuente los empleados en grupos por a�o y por pa�s. Desde el a�o 2014
--Siempre se debe de usar con el orden de a�o/mes/dia
SELECT country
,YEAR(hiredate) AS yearhired
,COUNT (*) AS NumEmployees
FROM HR.Employees
WHERE hiredate >= CAST ('20140101' AS DATE)
GROUP BY country, YEAR(hiredate)
--HAVING COUNT (*) >1
ORDER BY country
,yearhired DESC;
--Es la forma de hacer lo anterior utilizando los formatos 101, 111 y 112.
SELECT country
,YEAR(hiredate) AS yearhired
,COUNT (*) AS NumEmployees
FROM HR.Employees
WHERE hiredate >= CONVERT (DATE, '20143112', 112)
GROUP BY country, YEAR(hiredate)
--HAVING COUNT (*) >1
ORDER BY country
,yearhired DESC;
SELECT country
,YEAR(hiredate) AS yearhired
,COUNT (*) AS NumEmployees
FROM HR.Employees
WHERE hiredate >= CAST ('20140101' AS DATE)
GROUP BY country, YEAR(hiredate)
HAVING COUNT (*) >1
ORDER BY country
,yearhired DESC;
SELECT *
FROM Sales.Customers;
--Cantidad de ordenes por a�o y por mes, con ordenes mayor igual a 28
SELECT YEAR(orderdate) AS YEAR
,MONTH(orderdate) AS MONTH
,COUNT(*) AS QOrders
FROM Sales.Orders
WHERE orderdate >= CAST ('20150101' AS DATE)
GROUP BY YEAR(orderdate)
,MONTH(orderdate)
HAVING COUNT(*) >= 28
ORDER BY YEAR DESC
,MONTH DESC;
--Para buscar con el contenido de una palabra, sin importar el inicio o el fin.
SELECT *
FROM HR.Employees
WHERE lastname LIKE N'%el%';
--Para buscar con el contenido de una palabra, en este caso si inicia con d o c.
SELECT *
FROM HR.Employees
WHERE lastname LIKE N'[dc]%';
--TOP sirve para indicar la cantidad de datos a mostrar, en este caso las primeras
3 ordenes.
SELECT TOP(3) orderid
,orderdate
,custid
,empid
FROM SALES.Orders
ORDER BY orderdate;
--Un mostreo de un 5% m�s alto de todos de las ultimas compras --> Muestra el
porcentaje
SELECT TOP(5) PERCENT orderid
,orderdate
,custid
,empid
FROM SALES.Orders
ORDER BY orderdate desc;
--Un mostreo de un 5% m�s alto de todos de las ultimas compras --> Muestra el
porcentaje
DECLARE @Porc AS INT;
SET @Porc = 5;