Pages

mercredi 1 février 2012

Ecrire des instructions SQL SELECT élémentaires : SQL sous Oracle

Pour extraire des données de la base, vous devez utiliser l'instruction SQL (Structured Query Language) SELECT. Il est parfois nécessaire de restreindre le nombre de colonnes à afficher. Cet article décrit toutes les instructions SQL nécessaires à l'exécution de ces actions.



Différentes fonctions des instructions SQL SELECT:



Une instruction SELECT permet d'extraire des informations d'une base de données. L'utilisation d'une
instruction SELECT offre les possibilités suivantes :
• Projection : Cette fonction de SQL permet de choisir les colonnes d'une table qu'une interrogation
doit renvoyer. Vous pouvez choisir autant de colonnes que vous le souhaitez.
• Sélection : Cette fonction de SQL permet de choisir les lignes d'une table qu'une interrogation doit
renvoyer. Divers critères de restriction sont disponibles à cet effet.
• Jointure : Cette fonction de SQL permet de joindre des données stockées dans différentes tables.
Les jointures seront décrites en détail dans un chapitre ultérieur.

Instruction SELECT élémentaire


Dans sa forme la plus simple, une instruction SELECT comprend :
• une clause SELECT précisant les colonnes à afficher,
• une clause FROM spécifiant la table qui contient les colonnes répertoriées dans la clause SELECT.
Explication de la syntaxe :

SELECT                    désigne une liste répertoriant une ou plusieurs colonnes
*                                 permet de sélectionner toutes les colonnes
DISTINCT                permet de supprimer les doublons
column|expression    permet de sélectionner la colonne désignée ou l'expression
alias                           permet d'attribuer des en-têtes différents aux colonnes sélectionnées
FROM  table            permet de désigner la table contenant les colonnes

Remarque : Tout au long de ce cours, nous utiliserons les termes mot-clé, clause et instruction comme suit :
• Un mot-clé renvoie à un élément SQL individuel.
Par exemple, SELECT et FROM sont des mots-clés.
• Une clause est une partie d'une instruction SQL.
Par exemple, SELECT employee_id, last_name, ... est une clause.
• Une instruction est une combinaison d'au moins deux clauses.
Par exemple, SELECT * FROM employees est une instruction SQL.


Sélectionner toutes les colonnes de toutes les lignes :


Vous pouvez afficher toutes les colonnes de données d'une table en plaçant un astérisque (*) à la suite du
mot-clé SELECT. Dans l'exemple de la diapositive, la table des services (DEPARTMENTS) comporte
quatre colonnes : DEPARTMENT_ID, DEPARTMENT_NAME, MANAGER_ID et LOCATION_ID. Elle contient sept lignes, une pour chaque service.
Vous pouvez également afficher l'ensemble des colonnes de la table en les énumérant toutes à la suite du
mot-clé SELECT. Par exemple, l'instruction SQL suivante, de même que l'exemple de la diapositive,
affiche toutes les colonnes et toutes les lignes de la table DEPARTMENTS :

SELECT department_id, department_name, manager_id, location_id
FROM departments;


Sélectionner des colonnes spécifiques de toutes les lignes :

Vous pouvez utiliser l'instruction SELECT pour afficher des colonnes spécifiques de la table. Pour cela,
indiquez les noms de colonne séparés par des virgules. L'exemple ci-dessus permet d'afficher tous les
numéros de service et d'emplacement de la table DEPARTMENTS.
Dans la clause SELECT, indiquez les colonnes dans l'ordre dans lequel vous souhaitez qu'elles
apparaissent. Par exemple, pour afficher, de gauche à droite, l'emplacement avant le numéro de service,
utilisez l'instruction suivante :
SELECT location_id, department_id
FROM departments;




Expressions arithmétiques:

Si nécessaire, vous pouvez modifier l'affichage des données, effectuer des calculs ou étudier différents
scénarios de simulation à l'aide d'expressions arithmétiques. Une expression arithmétique peut contenir
des noms de colonne, des constantes numériques et des opérateurs arithmétiques.
Opérateurs arithmétiques:

Les opérateurs arithmétiques disponibles dans SQL sont présentés dans la diapositive. Vous pouvez les
utiliser dans n'importe quelle clause d'une instruction SQL, excepté FROM.


Utiliser des opérateurs arithmétiques:


L'exemple de l'image décrit l'utilisation de l'opérateur d'addition pour calculer une augmentation de
salaire de 300 $ applicable à tous les employés, avec affichage d'une nouvelle colonne SALARY+300.
La colonne SALARY+300 qui résulte de ce calcul n'est pas une nouvelle colonne de la table
EMPLOYEES ; elle n'est que l'affichage d'un résultat. Par défaut, le nom d'une nouvelle colonne est issu
du calcul dont elle provient : dans ce cas précis, salary+300.
Remarque : Le serveur Oracle9i ignore les espaces situés avant et après l'opérateur arithmétique.

Alias de colonne:

Lors de l'affichage des résultats d'une interrogation, iSQL*Plus prend généralement le nom de la colonne
sélectionnée comme en-tête de colonne. Cet en-tête n'est pas toujours explicite et s'avère donc parfois
difficile à comprendre. L'alias de colonne permet de modifier l'en-tête.
Placez l'alias à la suite du nom de colonne dans la liste SELECT en utilisant le caractère espace en tant
que séparateur. Par défaut, les alias sont en majuscules. Placez l'alias entre guillemets (" ") s'il contient des
espaces ou des caractères spéciaux (tels que # ou $), ou si les majuscules/minuscules doivent être
respectées.

Le premier exemple affiche le nom et le pourcentage de commission de tous les employés. Le mot-clé
facultatif AS a été placé avant l'alias de colonne. L'utilisation ou l'omission de ce mot-clé ne modifie pas
le résultat de l'interrogation. Dans l'instruction SQL, les alias de colonne "name" et "comm" sont spécifiés
en minuscules, alors que les en-têtes de colonne apparaissent en majuscules dans le résultat de
l'interrogation. En effet, comme mentionné sur une diapositive précédente, les en-têtes de colonne
s'affichent par défaut en majuscules.
Le second exemple affiche le nom et le salaire annuel de tous les employés. L'alias Annual Salary a
été placé entre guillemets car il contient un espace. L'en-tête de colonne affiché est identique à l'alias de
colonne.

Opérateur de concaténation:

L'opérateur de concaténation (||) permet de lier des colonnes à d'autres colonnes, à des expressions
arithmétiques ou à des constantes afin de créer une expression alphanumérique. Les colonnes situées de
part et d'autre de l'opérateur se combinent pour former une colonne de résultats unique.

Dans cet exemple, LAST_NAME et JOB_ID sont concaténées et reçoivent l'alias Employees. Le nom
des employés et leur ID de poste sont combinés pour ne former qu'une colonne à l'affichage.
Le mot-clé AS placé devant l'alias simplifie la lecture de la clause SELECT.

Doublons :

Par défaut, iSQL*Plus affiche le résultat d'une interrogation sans éliminer les doublons. L'exemple
ci-dessus affiche la totalité des numéros de service de la table EMPLOYEES. Les numéros de service
apparaissent plusieurs fois.
Pour éliminer les doublons dans le résultat d'une interrogation, ajoutez le mot-clé DISTINCT dans la
clause SELECT, directement à la suite du mot-clé SELECT. Dans l'exemple ci-dessus, la table
EMPLOYEES comporte 20 lignes, mais on n'y distingue que sept numéros de service.
Vous pouvez spécifier plusieurs colonnes à la suite du mot-clé DISTINCT. Ce mot-clé agit sur toutes les
colonnes sélectionnées et le résultat correspond aux combinaisons distinctes de ces colonnes.

SELECT DISTINCT department_id, job_id
FROM employees;











Aucun commentaire:

Enregistrer un commentaire

Partenaires

Computers Blogs
Ajoutez votre site

Contactez-nous

Nom

E-mail *

Message *

Tous droits resérvés-www.exercices-corriges.com Seo Blogger Templates