3 funciones grupo

17
UNIVERSIDAD PUBLICA DE EL ALTO INGENIERIA DE SISTEMAS El Alto, Marzo 2015 By fac SEMESTRE I-2015 FUNCIONES DE GRUPO CONSULTAS Y SUBCONSULTAS

Upload: ronald-sarzuri-vargas

Post on 15-Sep-2015

220 views

Category:

Documents


1 download

DESCRIPTION

grupo

TRANSCRIPT

  • UNIVERSIDAD PUBLICA DE EL ALTOINGENIERIA DE SISTEMAS

    El Alto, Marzo 2015By fac

    SEMESTRE I-2015

    FUNCIONES DE GRUPO CONSULTAS Y SUBCONSULTAS

  • SQL Agregado de datos utilizando funciones de grupo

    Funciones de grupo se diferencian de funciones de una sola fila en cmo las mismas son evaluadas. Funciones de una sola fila son evaluadas una vez por cada recuperada. Funciones de grupo son evaluadas sobre grupos de una o ms filas a la vez.

    Descripcin de las funciones de grupo

    En contraste con las funciones a nivel de fila, las funciones de grupo operan sobre conjuntos de filas para devolver un resultado por cada uno de ellos. Dichos grupos pueden estar constituidos por la tabla entera o por partes de la misma.

    Cada una de las funciones de grupo acepta un argumento. Algunas de las funciones de grupo disponibles se muestran en la figura

  • SQL

  • SQL Sintaxis de las funciones de grupo

    A continuacin se muestran tres ejemplos de la utilizacin de las funciones de grupo.

  • SQL La clusula GROUP BY

    Si se usa la clusula GROUP BY en una sentencia SELECT, Oracle divide las filas de una tabla o vista consultada en grupos. Oracle aplica las funciones de grupo en la lista SELECT a cada grupo de filas y retorna una nica fila resultado para cada grupo. Si se omite la clusula GROUP BY, el motor aplica las funciones de grupo en la lista SELECT a todas las filas en la tabla o vista consultada.

    ReglasEn una consulta que contiene una clusula GROUP BY, todos los elementos de la lista SELECT deben ser expresiones de la clusula GROUP BY, expresiones que contienen funciones de grupo o constantes. Si hay fallas en la inclusin de columna, aparecer un mensaje de error.

  • SQL Con el uso de la clusula WHERE se pueden excluir filas antes de la divisin en grupos.

    No se puede usar la notacin de posicin o el alias de columna en la clusula GROUP BY.

    Por defecto, las filas se ordenan en forma ascendente de acuerdo a la lista GROUP BY. Esto se puede modificar haciendo uso de la clusula ORDER BY.

  • SQL Agrupacin por ms de una columna

    Se pueden devolver resultados resumen para grupos y subgrupos incluyendo ms de una columna en la clusula GROUP BY. El orden en el cual se listan las columnas en la clusula GROUP BY determina la forma de ordenamiento por defecto.

    La clusula HAVING

    La clusula HAVING se usa para restringir cules grupos de filas, definidas por la clusula GROUP BY, son retornadas por la consulta. Server procesa las clusulas WHERE, GROUP BY y HAVING de la siguiente manera:

    Si la sentencia contiene una clusula WHERE, Oracle remueve todas las filas que no la satisfacen.

  • SQL Oracle calcula y da formato a los grupos como se especifica en la

    clusula GROUP BY.

    Oracle remueve todos los grupos que no satisfacen la clusula HAVING.

    Se deben especificar las clusulas GROUP BY y HAVING despus de la clusula WHERE. Si se especifican ambas clusulas (GROUP BY y HAVING), ellas pueden aparecer en cualquier orden.

    Las funciones de grupo pueden aparecer en la lista de la clusula SELECT y en la clusula HAVING.

  • SQL Ejemplos

  • SQL Consultas y Subconsultas

    En SQL, la sentencia SELECT permite escribir una consulta o requerimiento de acceso a datos almacenados en una base de datos relacional. Dichas consultas SQL van desde una operacin simple al mostrar datos desde una nica tabla, hasta operaciones complejas que involucran la unin de varias tablas, expresiones compuestas para restringir las filas resultantes, etc.

    Cuando una consulta posee cierto grado de complejidad es til dividirla en partes, lo cual brinda mayor flexibilidad en el reuso de partes y mejor legibilidad de la consulta como un todo. Subconsultas se utilizan para dividir una consulta en varias partes. Una subconsulta es una consulta en s misma que posee existencia dentro de una consulta de nivel superior. Dicho mecanismo de subconsultas puede utilizarse en cualquier sentencia DML.

  • SQL Descripcin de las consultas.-

    Una subconsulta es una sentencia SELECT que est incluida en una clusula de otra sentencia SQL. Se pueden construir comandos simples y potentes usando subconsultas. Pueden ser muy tiles cuando se necesita seleccionar filas de una tabla con una condicin que depende de los datos que estn en la misma tabla o en alguna otra.

    Se puede poner la subconsulta en algunas de las siguientes clusulas de un comando SQL:

    Clusula WHERE.

    Clusula HAVING.

    Clusula FROM de una sentencia SELECT o DELETE (este tema se desarrollar mas adelante).

    Frecuentemente se refiere a una subconsulta como un SELECT anidado, un sub-SELECT, o una sentencia SELECT interna.

    A continuacin se tiene la SINTAXIS:

  • SQL

    Orden de Procesamiento de las Subconsultas Anidadas

    Primero se ejecuta la subconsulta (SELECT anidado) y su resultado se pasa para completar la condicin de la consulta principal, o externa. Ej.

  • SQL Subconsultas de una sola fila

    Una subconsulta de filas simples devuelve una sola fila desde la sentencia SELECT anidada. Este tipo de subconsulta utiliza un operador de fila simple.

    El ejemplo anterior, contiene una subconsulta de filas simples, ya que devuelve un solo valor: el nmero del departamento en la cual trabaja Vargas.

    Se pueden mostrar los datos resultantes de una consulta principal usando una funcin de grupo en una subconsulta para devolver una fila simple.

  • SQL Un error comn es que una subconsulta de fila simple d como resultado ms de una fila.

    Subconsultas de varias filas

    Las subconsultas que devuelven ms de una fila se denominan subconsultas de filas mltiples. Se debe usar un operador de filas mltiples, tal como IN, en lugar de un operador de fila simple. Este operador espera uno o ms valores.

    .

  • SQL

    Operadores de Filas Mltiples

    Adems del operador IN, SQL ofrece los operadores que se detallan a continuacin para escribir condiciones de bsqueda en subconsultas que devuelven ms de una fila

  • SQL Subconsultas en la clusula HAVING.

    Adems de la clusula WHERE, las subconsultas tambin se pueden usar en la clusula HAVING. Primero se ejecuta la subconsulta y el resultado es devuelto a la clusula HAVING de la consulta principal.

  • SQL Ejercicios de subconsultas de una fila

    Ejercicios de subconsultas de varias filas