Funciones agregadas. Funciones agregadas: COUNT

Documentos relacionados
Manipulación de datos en SQL

EXISTS y NOT EXISTS. Empleados que no trabajan en el proyecto 527.

UNION, INTERSECCION Y DIFERENCIA. SELECT TABLE Expresión con operador de reunión (SELECT * FROM PROFESOR) UNION (SELECT * FROM ESTUDIANTE)

Prácticas EDAT Curso 12/13

Capítulo 4. Realización de consultas

Guía de ejercicios de SQL Prof. Mauricio E. Fernández N. Semestre Agosto-Diciembre de 2012

Vistas en InformiX Sistemas de Bases de Datos II EMT CETP A/S Leonardo Carámbula

DML SQL II. Comparaciones con relaciones

FUNCIONES EN SQL SERVER

UNIDAD 1.- PARTE 1 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES. Xochitl Clemente Parra Armando Méndez Morales

Base de Datos. Docente: Ing. Francisco Rodríguez BASE DATOS. Resultados. Internet. Requerimientos

Operaciones con bases de

GUIA DE EJERCICIOS PARA RESOLVER: SQL

S.Q.L. (Lenguaje de Consulta Estructurada)

CONSULTAS DE RESUMEN SQL SERVER Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

Ser capaces de realizar una consulta dentro de otra

Ficheros y Bases de Datos Curso Primer Parcial. 7 de FEBRERO de Nombre:

SQL. Carlos A. Olarte BDI

Consultas SQL INNER JOIN

Solución Práctico 4 SQL

Ejemplo de gestión de datos con SQL

Datos Agregados por medio de Funciones de Grupo. Copyright Oracle Corporation, All rights reserved.

Structured Query Language (SQL) Fundamentos de Bases de Datos InCo

MANUAL BÁSICO DEL LENGUAJE SQL

Procedimientos para agrupar y resumir datos

6.1 Introducción. Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 1

SQL. Lenguaje de Consulta Estructurado. Curso básico de SQL (Leire Urcola Carrera)

Lenguaje de Consulta Estructurado S Q. Lenguaje de Consulta Estructurado. Wael Najjar /

LAS SUBCONSULTAS SQL SERVER Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

A.1. Definiciones de datos en SQL

LENGUAJE DE MANIPULACIÓN DE DATOS (DML) OPERADORES DE ÁLGEBRA RELACIONAL

Bases de Datos: Structured Query Language (SQL)

Base de datos con información de Vuelos, Reservas y Aviones

1. DML. Las subconsultas

S.Q.L. (Lenguaje de Consulta Estructurada) Consultas Avanzadas. Sistemas de Bases de Datos II - ITS EMT CETP

Insertar Datos en Tablas

Bases de Datos SQL - Ejemplos

ÍNDICE INTRODUCCIÓN...17

Sistemas de Datos Curso: Ernesto Chinkes. Subconsultas Stored Procedures - Triggers

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros

Subconsultas. Copyright Oracle Corporation, All rights reserved.

Se considera a Oracle como uno de los sistemas de bases de datos más completos, destacando su:

5- Uso de sentencias avanzadas

SQL (DML) Carlos A. Olarte Gestión y Modelación de SQL Datos (DML)

Access SQL: DDL y DML. Una empresa de Ingeniería precisa una base de datos para la gestión de sus proyectos.

Consultas Complejas:

MÓDULO 1: ORGANIZACIÓN Y ESTRUCTURA DE LA INFORMACIÓN. Tema 3: Interrogación y explotación de datos. Leire Aldaz, Begoña Eguía y Leire Urcola

Unidad. Lenguaje SQL. (Structured Query Language)

2.4 Manipulación de datos

DML Data manipulation language SELECT UPDATE INSERT DELETE. DDL Data Definition Language CREATE DROP CONTROL Postulados de control GRANT REVOKE

Práctica 3: El lenguaje SQL (1ª parte). (4ª sesión)

MANUAL BÁSICO DEL LENGUAJE SQL

Conceptos Avanzados de Programación en Internet

FORMACIÓN E-LEARNING. Curso de Lenguaje SQL para Oracle

EL LENGUAJE DE BASES DE DATOS SQL (DDL, DML, TRIGGERS Y STORE PROCEDURES)

LENGUAJE DE CONSULTA ESTRUCTURADO (SQL)

Tutorial de SQL - El comando SELECT

Ing. Santiago C. Pérez Laura Noussan Lettry Carlos Campos

Tema 7. Elaboración de consultas básicas de selección. Lenguajes de bases de datos. SQL básico 15/12/2011

m046a Curso Consultando SQL Server 2005/2008 con Transact-SQL, 15 h

Entrarás a formar parte de nuestra bolsa de empleo a la que acuden las empresas en busca de nuestros alumnos.

ORACLE 10g. Descripción A QUIEN VA DIRIGIDO?

CONSULTAS SIMPLES SQL SERVER Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

: COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería de Redes y Comunicaciones : Administración de Bases de Datos I : T-INF127

El lenguaje SQL es un lenguaje estándar para el acceso y

Boletín de Problemas de la Asignatura II18 Bases de Datos. Ingeniería Informática Universitat Jaume I

Computación Web (Curso 2015/2016)

EJERCICIOS RESUELTOS Y COMENTADOS PARA EL APRENDIZAJE DE LA INSTRUCCIÓN SELECT

BASES DE DATOS TEMA 4. SQL. UN LENGUAJE DE CONSULTA COMERCIAL PARA BASES DE DATOS RELACIONALES Contenidos generales

Sub consultas avanzadas

BASES DE DATOS. TEMA 7. SQL. EL LENGUAJE DE CONSULTA.

Bases de Datos 2. Teórico

Subconsultas Multi-Columna. Copyright Oracle Corporation, All rights reserved.

SQL Server FEMEPA SQL Server 2000

select nombre from profesores where categoria='aso6';

PRACTICA DE SQL. Se dispone de las tablas EMPLE y DEPART que contienen los siguientes datos.

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006

DESCRIPCIÓN ESPECÍFICA NÚCLEO: Núcleo Sector Comercio y Servicios.

OPTIMIZACIÓN DE CONSULTAS EN SQL. Análisis de Consultas y Transacciones Ajuste de Indices Ajuste de Consultas

SQL Los fundamentos del lenguaje

Ficheros y Bases de Datos Curso Ingeniería Técnica de Informática Primer Parcial. 1-Junio Nombre:

Tema: Uso de sentencias SQL

EXPLOTACIÓN DE BASES DE DATOS CON ACCESS

Base de Datos. Docente: Ing. Francisco Rodríguez BASE DATOS. Resultados. Internet. Requerimientos

8 SQL SERVER 2008 RA-MA

INDICE Primera Parte. Panorámica general de SQL 2. Rápido repaso de SQL 3. SQL en Perspectiva

SQLModificaciones a la BD

Base de Datos Oracle 10g: Introducción a SQL Código: D Duración: 5 días (40 horas)

2. Obtener el valor absoluto del SALARIO para todas las filas de la tabla EMPLE

EJERCICIOS RESUELTOS

8 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO RA-MA

Consultas en JPA-QL. Sistemas de Persistencia de Objetos

Sistemas de Datos Curso: Ernesto Chinkes. SQL Básico Algebra Relacional

SQL con MySQL 5. Gerardo A. Otero Rodríguez

INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO IBEROTEC SEMESTRE ACADÉMICO: 2014-II SÍLABO

Práctica Consultas SQL DML

Transcripción:

Funciones agregadas SUM, AVG, COUNT, MAX y MIN MAX y MIN - seleccionan valor máximo o mínimo en una columna Cuáles son las tarifas por hora máxima y mínima? SELECT MAX(TARIFA_HORA), MIN(TARIFA_HORA) 34 Funciones agregadas: COUNT Cuántos edificios tienen nivel 3? SELECT COUNT(*) FROM EDIFICIO WHERE NIVEL = 3 Cuántos tipos de cualificación existen? SELECT COUNT(DISTINCT CUALIFICACION) Sólo tienen sentido COUNT(*) o COUNT(DISTINCT columna) 35

Funciones agregadas: AVG Cuál es el número medio de días que los empleados están asignados al edificio 2? SELECT AVG(NUM_DIAS) FROM ASIGNACION WHERE NUM_EDI = 2 Cuál es el salario semanal medio? SELECT AVG(40 * TARIFA_HORA) Todas las funciones agregadas, excepto COUNT, pueden utilizarse con expresiones 36 Funciones agregadas: SUM Cuál es el número total de días de fontanero asignados al edificio 1? SELECT SUM(NUM_DIAS) FROM ASIGNACION, EMPLEADO WHERE EMPLEADO.NUM_EMP = ASIGNACION.NUM_EMP AND CUALIFICACION = Fontanero AND NUM_EDI = 1 EMPLEADO (num_emp, nombre, tarifa_hora, cualificacion, num_sup) ASIGNACION (num_emp, num_edi, fecha_ini, num_dias) SUM y AVG deben usarse con columnas numéricas 37

La cláusula GROUP BY Para cada supervisor, cuál es la tarifa por hora más alta pagada a un empleado de ese supervisor? SELECT NUM_SUP, MAX(TARIFA_HORA) GROUP BY NUM_SUP Tuplas divididas en grupos Aplicar SELECT Si en un SELECT aparece una función agregada, el resto tienen que ser también funciones agregadas (con excepción de GROUP_BY) 38 La cláusula GROUP BY (II) Para cada tipo de edificio, cuál es la calidad media para edificios de estado 1? SELECT TIPO, AVG(NIVEL) FROM EDIFICIO WHERE ESTADO = 1 GROUP BY TIPO WHERE GROUP BY 39

La cláusula HAVING Para cada supervisor que supervisa a más de un empleado, cuál es la tarifa por hora más alta de los empleados que supervisa? SELECT NUM_SUP, MAX(TARIFA_HORA) GROUP BY NUM_SUP HAVING COUNT(*) > 1 Diferencia entre WHERE y HAVING WHERE se aplica a tuplas HAVING se aplica a grupos 40 La cláusula HAVING (II) Para cada tipo de edificio, cuál es el nivel medio para edificios con estado 1? Considerar sólo aquellos tipos de edificio con un nivel de calidad máximo no mayor que 3. SELECT TIPO, AVG(NIVEL) FROM EDIFICIO WHERE ESTADO = 1 GROUP_BY TIPO HAVING MAX(NIVEL) <= 3 Orden de procesamiento: WHERE, GROUP_BY, HAVING, SELECT 41

Subconsultas Qué cualificación tienen los empleados asignados al edificio 2? SELECT CUALIFICACION WHERE NUM_EMP IN (SELECT NUM_EMP FROM ASIGNACION WHERE NUM_EDI = 2) subconsulta no correlacionada 42 Subconsultas (II) SELECT CUALIFICACION WHERE NUM_EMP IN (SELECT NUM_EMP FROM ASIGNACION WHERE NUM_EDI = 2) SELECT CUALIFICACION, ASIGNACION WHERE EMPLEADO.NUM_EMP = ASIGNACION.NUM_EMP AND NUMEDI = 2 43

Subconsultas (III) Listar los nombres de los empleados asignados a edificios de oficinas SELECT NOMBRE WHERE NUM_EMP IN (SELECT NUM_EMP FROM ASIGNACION WHERE NUM_EDI IN (SELECT NUM_EDI FROM EDIFICIO WHERE TIPO = Oficina )) 44 Subconsultas (IV) SELECT NOMBRE WHERE NUM_EMP IN (SELECT NUM_EMP FROM ASIGNACION WHERE NUM_EDI IN (SELECT NUM_EDI FROM EDIFICIO WHERE TIPO = Oficina )) SELECT NOMBRE, ASIGNACION, EDIFICIO WHERE EMPLEADO.NUM_EMP = ASIGNACION.NUM_EMP AND ASIGNACION.NUM_EDI = EDIFICIO.NUM_EDI AND TIPO = Oficina 45

Subconsultas (V) Listar los empleados con una tarifa por hora mayor que la de sus supervisores SELECT NOMBRE_EMP A WHERE A.TARIFA_HORA > (SELECT B.TARIFA_HORA B WHERE B.NUM_EMP = A.NUM_SUP) Subconsulta correlacionada 46 Funciones agregadas en subconsultas Qué empleados reciben una tarifa por hora mayor que la media? SELECT NOMBRE_EMP WHERE TARIFA_HORA > (SELECT AVG(TARIFA_HORA) ) 47

Ejemplo: esquema relacional EMPLEADO (numem, numde, tfno, fecna, fecin, salario, comision, numhi, nomem) fecin = fecha de ingreso DEPARTAMENTO (numde, numce, director, tipodirector, presupuesto, depde, nomde) tipodirector = P(propiedad), F(en funciones) depde = número del dpto. del que depende CENTRO (numce, nomce, señas) 48 Ejemplos (I) Obtener por orden alfabético los nombres y salarios medios de los departamentos cuyo salario medio supera al salario medio de la empresa. SELECT nomde, AVG(salario) AS MEDIO NJ DEPARTAMENTO GROUP BY nomde HAVING AVG(salario) > (SELECT AVG(salario) ) ORDER BY nomde 49

Ejemplos (II) Obtener por orden alfabético los nombres de los departamentos ubicados en la calle Atocha. SELECT nomde FROM DEPARTAMENTO WHERE numce IN (SELECT numce FROM CENTRO WHERE señas LIKE %ATOCHA% ) ORDER BY nomde 50 Ejemplos (III) Obtener por orden alfabético los nombres de los departamentos cuyo presupuesto es inferior a la mitad de la suma de los salarios anuales de sus empleados. SELECT nomde FROM DEPARTAMENTO WHERE presupuesto < (SELECT 0.5 * SUM(salario * 14) / 1000 WHERE numde = DEPARTAMENTO.numde) ORDER BY nomde 51

Ejemplos (IV) Obtener los números de empleado, salario y media de salarios del departamento al que pertenecen, para aquellos empleados cuya comisión sea de 1100 euros. SELECT numem, salario, (SELECT AVG(salario) B WHERE B.numde = A.numde) AS SALMEDIO A WHERE comision = 1100 ORDER BY numem 52 Los operadores ALL y SOME Listar los empleados cuya tarifa por hora es mayor que la de todos los electricistas SELECT NOMBRE_EMP WHERE TARIFA_HORA > ALL (SELECT TARIFA_HORA WHERE CUALIFICACION = Electricista ) ALL la condición debe ser cierta para todas las tuplas SOME (ANY) al menos una tupla = SOME es equivalente a IN 53