martes, 23 de agosto de 2011

Investigacion: Inner, Left, Right Join y Funciones de Agregado



Para los ejemplos se utilizaran las tablas de la TAREA 2.
1.       Inner Join:
El Inner Join te permite combinar dos tablas mediante un campo en común  para hacer relaciones y consultas en este ejemplo vamos a utilizar un Inner Join para unir las tablas Empleado y Area_Solicitante, Funciona así:

SELECT *
FROM  Empleado e   INNER JOIN  Area_Solicitante a    ON     e.idArea = a.idArea

SELECT *
FROM  Materiales m   INNER JOIN  Salida_ Almacen s    ON     m.codSigma = s.codSigma


2.       Left Outer Join:
El Left Outer Join nos permite hacer una mezcla y conservar todos los valores de la tabla izquierda (la primera tabla que se menciona en la consulta) sin importar que no tengan equivalente con la de la derecha, veamos el ejemplo:


SELECT *
FROM  Empleado e   LEFT OUTER JOIN  Area_Solicitante a    ON     e.idArea = a.idArea

SELECT *
FROM  Materiales m   LEFT OUTER JOIN  Salida_ Almacen s    ON     m.codSigma = s.codSigma


3.       Right Outer Join:
El Right Outer Join nos permite hacer una mezcla y conservar todos los valores de la tabla derecha (la segunda tabla que se menciona en la consulta) sin importar que no tengan equivalente con la primera, el caso contrario como ven, vamos al ejemplo:

SELECT *
FROM  Empleado e   RIGHT OUTER JOIN  Area_Solicitante a    ON     e.idArea = a.idArea

SELECT *
FROM  Materiales m   RIGHT OUTER JOIN  Salida_ Almacen s    ON     m.codSigma = s.codSigma

1.       Funciones Agregadas
·         Avg:
Devuelve el promedio de los valores de un grupo. Los valores NULL se pasan por alto. Por ejemplo:
SELECT AVG(VacationHours)as 'Average vacation hours',
    SUM  (SickLeaveHours) as 'Total sick leave hours'
FROM HumanResources.Employee
WHERE Title LIKE 'Vice President%';


·         Count:
Devuelve el número de elementos de un grupo. COUNT funciona como COUNT_BIG. La única diferencia entre ambas funciones está en los valores devueltos. COUNT siempre devuelve un valor de tipo de datos int. COUNT_BIG siempre devuelve un valor de tipo de datos bigint. Por ejemplo:

SELECT COUNT(*), AVG(Bonus)
FROM Sales.SalesPerson
WHERE SalesQuota > 25000;

·         Group by:
Es una función de agregado que genera como salida una columna adicional con el valor 1 si la fila se agrega mediante el operador CUBE o ROLLUP, o el valor 0 cuando la fila no es el resultado de CUBE o ROLLUP.
La agrupación sólo se permite en la lista de selección asociada a una cláusula GROUP BY que contenga el operador CUBE o ROLLUP. Por ejemplo:
SELECT SalesQuota, SUM(SalesYTD) 'TotalSalesYTD', GROUPING(SalesQuota) AS 'Grouping'
FROM Sales.SalesPerson
GROUP BY SalesQuota WITH ROLLUP;


·         Min:
Devuelve el valor mínimo de la expresión. Por ejemplo:
SELECT MIN(TaxRate)
FROM Sales.SalesTaxRate;

·         Max:
Devuelve el valor máximo de la expresión. Por ejemplo:
SELECT MAX(TaxRate)
FROM Sales.SalesTaxRate;

·         Sum:
Devuelve la suma de todos los valores o sólo de los valores DISTINCT de la expresión. SUM sólo puede utilizarse con columnas numéricas. Los valores Null se pasan por alto. Por ejemplo:

SELECT Color, SUM(ListPrice), SUM(StandardCost)
FROM Production.Product
WHERE Color IS NOT NULL AND ListPrice != 0.00 AND Name LIKE 'Mountain%'
GROUP BY Color
ORDER BY Color;

·         Var : Devuelve la varianza estadística de todos los valores de la expresión especificada. Por ejemplo:
SELECT VAR(Bonus)
FROM Sales.SalesPerson;
 

No hay comentarios:

Publicar un comentario