Foro de Cobol
Registrate en el Foro de Cobol y Aporta tus experiencias y conocimientos sobre este lenguaje de programacion, con tu ayuda el foro crecera y todos nos podremos beneficiar de los conocimientos de los demas.

Gracias por entrar a COBOLEROS.ES
Síguenos en Twitter

6.4 Formas de Incluir una Subquery en una clausula Where o Having

Ver el tema anterior Ver el tema siguiente Ir abajo

6.4 Formas de Incluir una Subquery en una clausula Where o Having

Mensaje por Coboler@ el Jue Mayo 17, 2012 8:42 pm

1) Inmediatamente despues de un operador de comparacion

EXEC SQL
DECLARE XYZ CURSOR FOR
SELECT EMPNO, LASTNAME, JOBCODE
FROM DSN.EMP1
WHERE EDUCLEVEL >
(SELECT AVG (EDUCLEVEL)
FROM DSN.EMP2
END-EXEC

EXEC SQL
FETCH XYZ
INTO :EMP-NUMBER, :NAME, :CODE
END-EXEC



2) Despues de un operador de comparacion seguido de:

. ALL, para indicar que el valor proporcionado debe ser comparado de una determinada forma con todos los valores que devuelva la SUBQUERY.

Ej: WHERE EXPRESION > ALL SUBQUERY

para satisfacer la WHERE, el valor de la expresion debe ser mayor que todos los valores devueltos por la SUBQUERY.


Si la SUBQUERY no selecciona ningun valor la condicion satisfecha.

. ANY, para indicar que el valor proporcionado debe ser comparado de una determinada forma con cualquiera de los valores que devuelve la SUBQUERY.

Ej: WHERE EXPRESION > ANY SUBQUERY



3) Despues de IN, para indicar que el valor de la expresion debe estar entre los valores devueltos por la SUBQUERY.


Ejemplo:

EXEC SQL
DECLARE XYZ CURSOR FOR
SELECT EMPNO, LASTNAME, JOBCODE
FROM DSN.EMP1
WHERE EMPNO IN
(SELECT DISTINCT EMPNO
FROM DSN.EMP2
WHERE PROYNO = 'M1')
END-EXEC


EXEC SQL
FETCH XYZ
INTO :EMP-NUMBER, :NAME, :CODE
END-EXEC

4) Despues de EXISTS para verificar que al menos puede ser encontrada una fila que cumpla la condicion de la SUBQUERY.


Ejemplo:

WHERE EXISTS SUBQUERY

No es necesario especificar nombres de columna en la SELECT, ya que la SUBQUERY no va a devolver datos.
avatar
Coboler@
Admin

Mensajes : 215
Reputación : 19
Fecha de inscripción : 02/02/2011
Edad : 37
Localización : Madrid

Ver perfil de usuario http://www.coboleros.es

Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.