viernes, 30 de septiembre de 2016

SUBCONSULTAS


IN or a NOT IN
          
         

-->>  LISTA ESTÁTICA

SELECT DISTINCT  Department_Number
FROM BASE_DATOS.PR_EMPLEADO_T;


SELECT *
FROM BASE_DATOS.PR_EMPLEADO_T
WHERE Department_Number  IN
(403,600,402,201,100,302,301,501,401);

-- 2
SELECT *
FROM BASE_DATOS.PR_EMPLEADO_T
WHERE Department_Number  NOT IN
(401);

-->>  MEDIANTE SUBCONSULTA
Tenemos que tener en cuenta que lo que muestra la subconsulta debe ser igual que una lista. 
SELECT *
FROM BASE_DATOS.PR_EMPLEADO_T
WHERE Department_Number  IN
(SELECT Department_Number FROM BASE_DATOS.PR_DEPARTAMENTO_T);

ERROR: Incorrecto: Too many expressions in the select list of a subquery. 
SELECT *
FROM BASE_DATOS.PR_EMPLEADO_T
WHERE Department_Number  IN
(SELECT * FROM BASE_DATOS.PR_DEPARTAMENTO_T);
 
      
• La consulta utilizada para reemplazar la lista de valores se denomina "subconsulta".
• La subconsulta no termina con un punto y coma.
• La lista derivada de valores generados por la base de datos es una lista, incluso si los valores no son únicos.
• LEFT y RIGHT se puede sustituir con IN y NOT IN en subconsultas.

No hay comentarios:

Publicar un comentario