subqueries, store procedures, triggers

Post on 12-Jul-2022

8 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

SUBQUERIES, STORE PROCEDURES, TRIGGERS

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

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.

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);

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.

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‘);

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.

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)

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:

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”

top related