subconsultas y operadores set

Download Subconsultas y Operadores Set

Post on 10-Nov-2015

9 views

Category:

Documents

1 download

Embed Size (px)

DESCRIPTION

una introducción a subconsultas monoregistros, multiregistros y multicolumnas, Operadores de Conjuntos (SET) como UNION, UNION ALL, INTERSECT y MINUS

TRANSCRIPT

SUBCONSULTAS Y OPERADORES SET

SUBCONSULTAS Y OPERADORES SETSUBCONSULTASQue empleado tiene un salario superior al de KevinSubconbsulta

Cual es el salario de kevinConsulta Principal.

Que empleado tiene un salario superior al salario de Kevin

Subconsultas Se puede poner las subconsulta en algunas de estas clausulas de un comando SQL:Clausula WHEREClausula HAVINGClausula FROMSINTAXIS DE UNA SUBCONSULTALa subconsulta se ejecuta una vez y antes de la consulta principal.El resultado de ella es usado por la consulta principal externa.

Uso de SubconsultasEncierre las subconsultas entre parntesis.No aada una clusula ORDER BY a una subconsulta.Utilice operadores a nivel de fila para subconsultas que devuelvan solo una fila MONOREGISTRO.Utilice operadores que actan sobre varios registros para subconsultas que devueven ms de una fila MULTIREGISTRO.

Visualice los empleados que tienen el mismo oficio que el empleado que tiene como ID_EMPLOYEE 177

Averiguar qu empleados ganan un salario igual a cualquier de los mnimos por departamento. SELECT FIRST_NAME, SALARY, DEPARTMENT_ID FROM EMPLOYEES WHERE SALARY IN (select min(salary) from employees group by department_id);

Hasta ahora, ha escrito subconsultas mono-registro y multi-registro, en las que slo una columna era comparada en la clausula WHERE O HAVING. Si quieres comparar dos o mas columnas, habr de escribir un clausula WHERE compuesta que utilice operadores lgicos. Las subconsultas multi-columna, le permitirn transformar diferentes condiciones WHERE en una nica clausula WHERE. Visualizar el nombre, numero de departamento, salario y comisin de cualquier empleado cuyo salario y comisin se corresponda (ambos) con la comisin y salario de cualquier empleado del departamento 80;select first_name,department_id, salary, commission_pctfrom employeeswhere (salary,nvl(commission_pct,0)) in (select salary, nvl(commission_pct,0)from employeeswhere department_id=80)Operadores SETLa lgica de estos tipos de operadores nace de la teora de conjuntos.Permite unir dos o mas consultas en una sola.Cada consulta debe retornar la misma cantidad de columnas y del mismo tipo de dato.No importa si el nombre de las columna son diferentes, siempre se muestran los nombres de la primera consulta..No importa la cantidad de registros retornados.Puede utilizar la clusula ORDER BY o LIMIT, al final de la ultima consulta, esto afecta a todo el resultado.Tipos de operadores de conjuntos

MINUSUsando el operador UNIONLista los cdigos de cada empleado, con su cargo actual y su historio.Usando el operador UNION ALLUsando el operador INTERSECTUsando el operador MINUSLista los cdigos de cada empleado, con su cargo actual y su historio, siempre y cuando se repitan.Lista los cdigos de cada empleado, con su cargo actual y su historio, siempre y cuando se repitan.Lista los cdigos de cada empleado, con su cargo actual y su historio, siempre y cuando no existan en la segunda consulta.