Clause SELECT

La clause SELECT se compose d'une unique variable d'identification définie dans dans la clause FROM ou d'une expression de chemin d'accès à valeur unique ayant pour résultat une référence d'objet ou une valeur CMP (Container Managed Persistence). Vous pouvez utiliser le mot clé DISTINCT pour éliminer les références en double.

Pour les requêtes de recherche et de sélection, la syntaxe de la clause SELECT est illustrée dans l'exemple suivant :
SELECT  [  ALL
| DISTINCT  ]  
	{ expression-chemin-valeur-unique  |  expression agrégation  |  OBJECT ( variable-identification )  }

Une requête qui définit une méthode de recherche doit renvoyer un type d'objet cohérent avec le foyer qui est associé à la méthode de recherche. Par exemple, une méthode de recherche d'un foyer de divisions ne peut pas renvoyer d'objets employé.

Exemple : Clause SELECT

Pour trouver tous les employés qui touchent plus que Jean :
SELECT OBJECT(e) FROM EmpBean ej, EmpBean e 
WHERE  ej.name = 'John'  and e.salary > ej.salary
Trouver toutes les divisions ayant un ou plusieurs employés dont le salaire est inférieur à 20000 :
SELECT DISTINCT  e.dept  FROM EmpBean e where e.salary < 20000
Une requête de méthode de sélection peut avoir une expression de chemin d'accès qui a pour résultat une valeur arbitraire :
SELECT  e.dept.name  FROM EmpBean e where e.salary < 2000

La requête précédente renvoie une collection de noms des divisions ayant des employés dont le salaire est inférieur à 20000.

Une requête de méthode de sélection peut renvoyer une valeur agrégée :
SELECT  avg(e.salary)  FROM EmpBean e
[AIX Solaris HP-UX Linux Windows][z/OS]

Exemple : Requêtes dynamiques valides

La syntaxe des requêtes dynamiques est la suivante :
SELECT { ALL | DISTINCT }  [
selection , ]*  selection
sélection  ::= { expression   |  sous-requête_scalaire [[AS] id ] }

Une sous-requête scalaire est une sous-requête qui ne renvoie qu'une valeur.

Voici des exemples de requêtes dynamiques :
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

Icône indiquant le type de rubrique Rubrique de concept



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cque_select
Nom du fichier : cque_select.html