miércoles, 6 de julio de 2011

Group by, Having, Having where, Operadores lógicos, relacionales y aritméticos.



                                    
TEMAS
Ø  Group by
Ø  Having
Ø  Having where
Ø  Operadores lógicos, relacionales y aritméticos.

OBJETIVOS
OBJETIVO GENERAL

Ø  Conocer la importancia de nuevas sentencias dentro de la herramienta SQL server para una mejor aplicación dentro da la base de datos

OBJETIVOS ESPECIFICOS

Ø  Recopilar información necesaria sobre el tema de consulta.
Ø  Analizar la información recopilada para obtener  conclusiones concretas y bien detalladas
Ø  Realizar el informe final para su posterior envió y presentación.

MARCO TEÓRICO
GROUP BY
La clausula GROUP BY combina los registros con valores idénticos en un único registro. Para cada registro se puede crear un valor agregado si se incluye una función SQL agregada, como por ejemplo Sum o Count, en la instrucción SELECT.
Sintaxis: 
SELECT [ALL | DISTINCT ]

             <nombre_campo> [{,<nombre_campo>}]

             [{,<funcion_agregado>}]

FROM <nombre_tabla>|<nombre_vista> 

        [{,<nombre_tabla>|<nombre_vista>}]

[WHERE <condicion> [{ AND|OR <condicion>}]]

[GROUP BY <nombre_campo> [{,<nombre_campo >}]]

[HAVING <condicion>[{ AND|OR <condición>}]]

[ORDER BY <nombre_campo>|<indice_campo> [ASC | DESC]

       [{,<nombre_campo>|<indice_campo> [ASC | DESC ]}]]
GROUP BY es opcional. Si se utiliza GROUP BY pero no existe una función SQL agregada en la instrucción SELECT se obtiene el mismo resultado que con una consulta SELECT DISTINCT. Los valores Null en los campos GROUP BY se agrupan y no se omiten. No obstante, los valores Null no se evalúan en ninguna de las funciones SQL agregadas.
    Todos los campos de la lista de campos de SELECT deben incluirse en la cláusula GROUP BY o como argumentos de una función SQL agregada.
Ejemplo1
 
 
SELECT marca, modelo, SUM(numero_kilometros)

FROM tCoches

GROUP BY marca, modelo
 
Ejemplo2
 
Obtener la cantidad visitantes con teléfono no nulo, de cada utilizando la función "count()" enviár como argumento el campo
 "telefono", agregar "group by" y el campo por el que deseamos que se realice el agrupamiento (ciudad):
 
 select ciudad, count(telefono)
  from visitantes
  group by ciudad;
LA CLÁUSULA HAVING
HAVING muestra cualquier registro agrupado por la cláusula GROUP BY que satisfaga las condiciones de la cláusula HAVING.

 Se utiliza la cláusula WHERE para excluir aquellas filas que no desea agrupar, y la cláusula HAVING para filtrar los registros una vez agrupados.  
    HAVING es similar a WHERE, determina qué registros se seleccionan. Una vez que los registros se han agrupado utilizando GROUP BY, HAVING determina cuáles de ellos se van a mostrar. HAVING permite el uso de funciones agregadas.

No hay comentarios:

Publicar un comentario