Cláusula SELECT

La cláusula SELECT consta de una variable de identificación individual que se define en la cláusula FROM, o de una expresión path de valor individual que se evalúa en una referencia a un objeto o en un valor CMP (persistencia gestionada por contenedor). Puede utilizar la palabra clave DISTINCT para eliminar las referencias duplicadas.

Para las consultas de los métodos finder y select, la sintaxis de la cláusula SELECT se muestra en el siguiente ejemplo:
SELECT  [  ALL | DISTINCT  ]  
		{ expresión-path-valor-individual  |  expresión de agregación |  OBJECT (
variable-identificación  ) }

Una consulta que defina un método finder debe devolver un tipo de objeto coherente con el inicio asociado con el método finder. Por ejemplo, un método finder cuyo inicio sea un departamento no puede devolver objetos de empleado.

Ejemplo: cláusula SELECT

Buscar todos los empleados que ganan más que John:
SELECT OBJECT(e) FROM EmpBean ej, EmpBean e 
WHERE  ej.name = 'John'  and e.salary > ej.salary
Buscar todos los departamentos que tengan uno o varios empleados que ganen más de 20000:
SELECT DISTINCT  e.dept  FROM EmpBean e where e.salary < 20000
Una consulta de método select puede tener una expresión path que se evalúe en un valor arbitrario:
SELECT  e.dept.name  FROM EmpBean e where e.salary < 2000

La consulta anterior devuelve una agrupación de valores de los nombres de los departamentos que tienen empleados que ganan menos de 20000.

Una consulta de método select puede devolver un valor agregado:
SELECT  avg(e.salary)  FROM EmpBean e
[AIX Solaris HP-UX Linux Windows][z/OS]

Ejemplo: consultas dinámicas válidas

La sintaxis de las consultas dinámicas es la siguiente:
SELECT { ALL | DISTINCT }  [ selection , ]*  selection
selection  ::= { expression   |  scalar-subselect [[AS] id ] }

Una subselección de escala es una subselección que devuelve un valor individual:

Los siguientes son ejemplos de consultas dinámicas:
SELECT
e.name, e.salary+e.bonus as total_pay from EmpBean e
SELECT  SUM( e.salary+e.bonus) from EmpBean e where e.dept.deptno = ?1

Icon that indicates the type of topic Concept topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cque_select
File name: cque_select.html