subqueries, store procedures, triggers

10
SUBQUERIES , STORE PROCEDURES , TRIGGERS UNIVERSIDAD TECNOLÓGICA DE NEZAHUALCOYOTL TECNOLOGÍAS DE LA COMUNICACIÓN E INFORMACION BASE DE DATOS II

Upload: others

Post on 12-Jul-2022

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SUBQUERIES, STORE PROCEDURES, TRIGGERS

SUBQUERIES, STORE PROCEDURES, TRIGGERS

UNIVERSIDAD TECNOLÓGICA DE NEZAHUALCOYOTLTECNOLOGÍAS DE LA COMUNICACIÓN E INFORMACIONBASE DE DATOS II

Page 2: SUBQUERIES, STORE PROCEDURES, TRIGGERS
Page 3: SUBQUERIES, STORE PROCEDURES, TRIGGERS

Subconsultas

•Una subconsulta es una consultaanidada, por lo tanto tendremosdos consultas, una interior y otraexterior, el código puede ir desdeuna simple línea hasta n líneasdependiendo del grado decomplejidad de la consulta.

Page 4: SUBQUERIES, STORE PROCEDURES, TRIGGERS

La subconsulta la podemos colocar en seguida de las siguientesinstrucciones SQL Where y Having de la consulta principal.

En la sintaxis operador* se pueden colocar dos tipos deoperadores, los que regresan una sola fila (<,>,>=,<=,<>,=), y los quegeneran múltiples (IN, ANY, ALL).

select lista_de_Campos

from table

where Condision operador* (Select select_istfrom tablewhereCondision operador);

Page 5: SUBQUERIES, STORE PROCEDURES, TRIGGERS

Apreciamos dos consultas, una interna y otra externa. La interna calculará elsueldo que gana Abel. En la consulta principal (externa) se compara el resultadocon c/u de los sueldos. Por lo tanto es importante mencionar que la subconsulta(s)se ejecutara(n) primero arrojando un resultado que será(n) utilizado(s) por laconsulta principal.

Page 6: SUBQUERIES, STORE PROCEDURES, TRIGGERS

Otra alternativa de solución es determinar el sueldoque gana Abel y posteriormente realizar una grancantidad de comparaciones con cada uno de losempleados para determinar el que percibe un sueldomayor.

select last_namefrom employeeswhere salary > (Select salary

from employeeswhere last_name='Abel‘);

Page 7: SUBQUERIES, STORE PROCEDURES, TRIGGERS

En el anterior ejemplo se determina cuantos empleados poseen el mismoJob_id que el empleado 141 (ST_CLERCK), además cuantos de esosempleados su salario es mayor que el empleado cuyo id = 143 ($2600).

SELECT last_name, job_id, salary FROM employeesWHERE job_id = (SELECT job_id ST_CLERCK

FROM employees WHERE employee_id=141)

AND salary > (SELECT salary 2600FROM employeesWHERE employee_id=143)

Nota: Tanto la consulta externa como la interna pueden obtener datos de múltiples tablas y el grupo deconsultas puede aplicarse tanto a consultas externas como internas.

Page 8: SUBQUERIES, STORE PROCEDURES, TRIGGERS

Agrupar las profesiones y determinar el promedio de salariode cada una. Determinar cuáles se encuentran por encimade las profesiones con el promedio de salario más bajo.

SELECT job_id, AVG(salary)FROM employeesGROUP BY job_id

HAVINGAVG(salary) > (SELECTMIN(AVG(salary))

FROM employeesGROUP BY job_id)

Page 9: SUBQUERIES, STORE PROCEDURES, TRIGGERS

Encontrar aquellos empleados que su salario sea el mismo queaquellos grupos de departamentos donde el salario es el mínimo.

SELECT first_name, department_id, SalaryFROM employeesWHERE salary IN

(SELECT MIN(Salary)FROM employeesGROUP BY department_id);

SELECT first_name, department_id, SalaryFROM employeesWHERE salary IN (4400, 6000, 2500, 2100,4200, ..... ,);

EQUIVALEA:

Page 10: SUBQUERIES, STORE PROCEDURES, TRIGGERS

Muestra en pantalla el nombre y el salario de aquel empleado que su salariocoincida con el mínimo de toda la nómina.

Realizar una agrupación de todos los salarios mínimos de cada departamento ydeterminar cuales son mayores que el salario mínimo del departamento 50.(Muestra salarios y departamentos)

Muestra el nombre, profesión y numero de departamento de los empleados quetengan una profesión diferente a “Asistente administrativo (AD_ASST)” y quetrabajen en el departamento 80.

Muestra el nombre del trabajador, el beneficio y la descripción del empleo de lostrabajadores que tengan el mismo beneficio que “McDane”

Muestra el nombre, y el país de los departamentos que no se ubiquen en la mismalocalidad donde se encuentra el departamento de manufactura “Manufacturing”