SELECT

Description

Cette commande permet de récupérer des données contenues dans une ou plusieurs tables, vues, ou clichés.

Syntaxe

SELECT [DISTINCT | ALL]
   { *
    | { [schema.]{table | view | snapshot}.* | expr [c_alias]
         [, { [schema.]{table | view | snapshot}.* | expr [c_alias] } ] ... }
FROM [schema.]{table | view | snapshot} [t_alias]
     [, [schema.]{table | view | snapshot} [t_alias] ] ...
[WHERE condition ]
[ [START WITH condition] CONNECT BY condition]
[GROUP BY expr [, expr] ... [HAVING condition] ]
[{UNION | UNION ALL | INTERSECT | MINUS} SELECT command ]
[ORDER BY {expr|position} [ASC | DESC] [, {expr | position} [ASC | DESC]] ...]
[FOR UPDATE [OF [[schema.]{table | view}.]column
                 [, [[schema.]{table | view}.]column] ...] [NOWAIT] ]
DISTINCT

renvoie toutes les lignes sélectionnées en enlevant les doublons.

ALL

renvoie toutes les lignes sélectionnées sans enlever les doublons. C'est la valeur par défaut.

*

renvoie toutes les colonnes de toutes les tables, les vues et les clichés précisés dans le FROM.

table.*, view.*, snapshot.*

sélectionne toutes les colonnes de la table, de la vue ou du cliché précisé.

expr

sélectionne une expression habituellement calculée sur les valeurs des colonnes appartenant à l'une des tables, vues, ou clichés de la clause FROM.

c_alias

la chaîne de caractères qui sert d'en-tête à la colonne (par défaut expr)

schema

est le nom du schéma contenant les tables, vues ou clichés sélectionnés. Le schéma par défaut est celui de l'utilisateur qui exécute la requête.

table, view, snapshot

est le nom de la table, de la vue ou du cliché contenant les données sélectionnées.

t_alias

synonyme pour la table dont le nom précède, à utiliser dans le reste de la requête.

WHERE

restreint les lignes sélectionnées à celles pour lesquelles la condition est vraie. Si cette clause est omise, toutes les lignes des tables, vues ou clichés précisés derrière le FROM sont renvoyées.

START WITH, CONNECT BY

renvoie les lignes en parcourant une arborescence.

GROUP BY

groupe les lignes sélectionnées en se basant sur la valeur de expr pour chaque ligne et renvoie une seule ligne par groupe.

HAVING

restreint les groupes de lignes renvoyés à ceux pour lesquels la condition spécifiée est vraie. Sans cette clause, tous les groupes sont renvoyés.

UNION, UNION ALL, INTERSECT, MINUS

Combine les lignes retournées par deux SELECT en utilisant une opération ensembliste.

ORDER BY

ordonne les lignes sélectionnées :

expr

en utilisant la valeur de expr. Cette expression est basée sur des colonnes précisées derrière le SELECT ou sur des colonnes appartenant à des tables, vues ou clichés présents derrière le FROM.

position

donne le numéro de la colonne dans l'ordre du SELECT.

ASC, DESC

mode ascendant ou descendant. La valeur par défaut ASC.

FOR UPDATE

"locke" les lignes sélectionnées.

NO WAIT

retourne le controle à l'utilisateur si la commande SELECT essaye de bloquer une table utilisée par un autre utilisateur.

Prérequis

Pour pouvoir sélectionner des lignes d'un objet(table, vue, cliché) il faut soit être propriétaire de cet objet, soit avoir le privilège SELECT sur cet objet.

Le privilège SELECT ANY TABLE permet de sélectionner des lignes de n'importe quel objet appartenant à n'importe quel utilisateur.

Voir aussi

DELETE, UPDATE