Overblog Suivre ce blog
Editer l'article Administration Créer mon blog
18 juin 2011 6 18 /06 /juin /2011 11:27

 

Commande Oracle SQL SELECT / FROM / WHERE.

Comment interroger, extraire des enregistrements d’une table avec l'ordre SELECT ?.

Nous allons voir très rapidement des instructions SELECT basiques.

SELECT permet d’extraire une ou plusieurs colonnes.
FROM permet de préciser le ou les tables ou sont stockées les valeurs.
WHERE permet de restreindre la recherche avec des conditions et restrictions.

 

SYNTAXE ORDRE SELECT BASIQUE

 
 SELECT [ { { DISTINCT | UNIQUE } | ALL } ] [ schema. ] { table | view | materialized view } .* | column | expr [ [ AS ] c_alias ] FROM { table1 [, table2 ]...} [ WHERE conditions ] 

 

SELECT avec toutes les colonnes et lignes de la table EMP.

 
 SQL> COLUMN empno FORMAT 9999 SQL> COLUMN ename FORMAT A7 SQL> COLUMN mgr FORMAT 9999 SQL> COLUMN sal FORMAT 9999 SQL> COLUMN comm FORMAT 9999 SQL> SELECT * FROM emp; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ----- ------- --------- ----- ---------- ----- ----- ---------- 7369 SMITH CLERK 7902 17/12/1980 800 20 7499 ALLEN SALESMAN 7698 20/02/1981 1600 300 30 7521 WARD SALESMAN 7698 22/02/1981 1250 500 30 7566 JONES MANAGER 7839 02/04/1981 2975 20 7654 MARTIN SALESMAN 7698 28/09/1981 1250 1400 30 7698 BLAKE MANAGER 7839 01/05/1981 2850 30 7782 CLARK MANAGER 7839 09/06/1981 2450 10 7788 SCOTT ANALYST 7566 19/04/1987 3000 20 7839 KING PRESIDENT 17/11/1981 5000 10 7844 TURNER SALESMAN 7698 08/09/1981 1500 0 30 7876 ADAMS CLERK 7788 23/05/1987 1100 20 EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ----- ------- --------- ----- ---------- ----- ----- ---------- 7900 JAMES CLERK 7698 03/12/1981 950 30 7902 FORD ANALYST 7566 03/12/1981 3000 20 7934 MILLER CLERK 7782 23/01/1982 1300 10 14 rows selected. SQL> 

 

SELECT de toutes les colonnes avec une condition (restriction) dans clause WHERE.

 
 SQL> SELECT * FROM emp WHERE deptno=20; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ----- ------- --------- ----- ---------- ----- ----- ---------- 7369 SMITH CLERK 7902 17/12/1980 800 20 7566 JONES MANAGER 7839 02/04/1981 2975 20 7788 SCOTT ANALYST 7566 19/04/1987 3000 20 7876 ADAMS CLERK 7788 23/05/1987 1100 20 7902 FORD ANALYST 7566 03/12/1981 3000 20 SQL> 

 

SELECT colonnes Nom, Métier, et salaire avec une condition (restriction) dans clause WHERE.

 
 SQL> SELECT ename, job, sal FROM emp WHERE sal >= 2975; ENAME JOB SAL ------- --------- ----- JONES MANAGER 2975 SCOTT ANALYST 3000 KING PRESIDENT 5000 FORD ANALYST 3000 SQL> 

 

SELECT avec Concaténation de colonnes et utilisation de AS alias pour nommer une colonne .

 
 SQL> COLUMN "Concat Colonnes" FORMAT A55 SQL> SELECT ename 2 || ' fait parti du dept N ' 3 || deptno 4 || ', son salaire est de ' 5 || sal AS "Concat Colonnes", 6 job AS "Emploi" 7 FROM emp 8 WHERE sal >= 2975; Concat Colonnes Emploi ------------------------------------------------------- --------- JONES fait parti du dept N 20, son salaire est de 2975 MANAGER SCOTT fait parti du dept N 20, son salaire est de 3000 ANALYST KING fait parti du dept N 10, son salaire est de 5000 PRESIDENT FORD fait parti du dept N 20, son salaire est de 3000 ANALYST SQL> 

 

SELECT FROM DUAL ou Interrogation de la Pseudo-table DUAL.

La table DUAL est une table utilisable par tous (en lecture seulement) et qui appartient à l’utilisateur SYS.
L’interrogation de DUAL est utile pour évaluer une expression.

 
 SQL> SELECT (2000*(10-2.5)) AS "Resultat" FROM DUAL; Resultat ---------- 15000 SQL> SELECT sysdate AS "Ma date" FROM DUAL; Ma date ---------- 18/06/2011 SQL> 

 

 

Liens en rapport avec l'article et qui sont susceptibles de vous intéresser
• Update conditionnées de Tables avec MERGE INTO
• Oracle SQL GROUP BY ROLLUP
• Oracle SQL GROUP BY CUBE

Partager cet article

Repost 0
Published by Daniel Roesch - dans COMMANDES SQL DML-LMD
commenter cet article

commentaires