You are on page 1of 32

Ecrire des instructions SQL SELECT lmentaires

Copyright Oracle Corporation, 2001. Tous droits rservs.

Objectifs

A la fin de ce chapitre, vous pourrez :

numrer toutes les possibilits offertes par les instructions SQL SELECT excuter une instruction SELECT lmentaire distinguer les instructions SQL des commandes SQL*Plus

1-2

Copyright Oracle Corporation, 2001. Tous droits rservs.

Diffrentes fonctions des instructions SQL SELECT


Projection

Slection

Table 1 Jointure

Table 1

Table 1
1-3

Table 2
Copyright Oracle Corporation, 2001. Tous droits rservs.

Instruction SELECT lmentaire

SELECT FROM

*|{[DISTINCT] column|expression [alias],...} table;

SELECT indique quelles colonnes renvoyer FROM indique dans quelle table rechercher

1-4

Copyright Oracle Corporation, 2001. Tous droits rservs.

Slectionner toutes les colonnes

SELECT * FROM departments;

1-5

Copyright Oracle Corporation, 2001. Tous droits rservs.

Slectionner des colonnes spcifiques

SELECT department_id, location_id FROM departments;

1-6

Copyright Oracle Corporation, 2001. Tous droits rservs.

Ecrire des instructions SQL

Les instructions SQL peuvent tre crites indiffremment en majuscules et/ou minuscules.
Les instructions SQL peuvent tre crites sur une ou plusieurs lignes.

Les mots-cls ne doivent pas tre abrgs, ni scinds sur plusieurs lignes.
Les clauses sont gnralement places sur des lignes distinctes.

Les indentations permettent une meilleure lisibilit.

1-7

Copyright Oracle Corporation, 2001. Tous droits rservs.

Valeurs par dfaut des en-ttes de colonne

SQL*Plus :
Les en-ttes des colonnes alphanumriques et de date sont aligns gauche Les en-ttes des colonnes numriques sont aligns droite Affichage par dfaut : Majuscules

1-8

Copyright Oracle Corporation, 2001. Tous droits rservs.

Expressions arithmtiques

Crez des expressions contenant des donnes de type NUMBER et DATE l'aide d'oprateurs arithmtiques.
Oprateur Description + Addition Soustraction

*
/

Multiplication
Division

1-9

Copyright Oracle Corporation, 2001. Tous droits rservs.

Utiliser des oprateurs arithmtiques


SELECT last_name, salary, salary + 300 FROM employees;

1-10

Copyright Oracle Corporation, 2001. Tous droits rservs.

Priorit des oprateurs

* / +

La multiplication et la division ont priorit sur l'addition et la soustraction.


Les oprateurs de niveau de priorit identique sont valus de gauche droite.

Les parenthses permettent de forcer la priorit d'valuation et de clarifier les instructions.

1-11

Copyright Oracle Corporation, 2001. Tous droits rservs.

Priorit des oprateurs


SELECT last_name, salary, 12*salary+100 FROM employees;

1-12

Copyright Oracle Corporation, 2001. Tous droits rservs.

Utiliser des parenthses


SELECT last_name, salary, 12*(salary+100) FROM employees;

1-13

Copyright Oracle Corporation, 2001. Tous droits rservs.

Dfinir une valeur NULL

Une valeur NULL est une valeur non disponible, non affecte, inconnue ou inapplicable.
La valeur NULL est diffrente du zro ou de l'espace.

SELECT last_name, job_id, salary, commission_pct FROM employees;

1-14

Copyright Oracle Corporation, 2001. Tous droits rservs.

Valeurs NULL dans les expressions arithmtiques


Les expressions arithmtiques comportant une valeur NULL ont pour rsultat une valeur NULL.
SELECT last_name, 12*salary*commission_pct FROM employees;

1-15

Copyright Oracle Corporation, 2001. Tous droits rservs.

Dfinir un alias de colonne

L'alias de colonne :

renomme un en-tte de colonne, est utile dans les calculs, suit le nom de la colonne (le mot-cl AS facultatif peut tre plac entre le nom de la colonne et l'alias), doit obligatoirement tre plac entre guillemets s'il contient des espaces ou des caractres spciaux, ou bien si les majuscules/minuscules doivent tre respectes.

1-16

Copyright Oracle Corporation, 2001. Tous droits rservs.

Utiliser des alias de colonne


SELECT last_name AS name, commission_pct comm FROM employees;

SELECT last_name "Name", salary*12 "Annual Salary" FROM employees;

1-17

Copyright Oracle Corporation, 2001. Tous droits rservs.

Oprateur de concatnation

Un oprateur de concatnation :

concatne des colonnes ou des chanes de caractres avec d'autres colonnes, est reprsent par deux barres verticales (||), cre une colonne qui contient une expression alphanumrique.

1-18

Copyright Oracle Corporation, 2001. Tous droits rservs.

Utiliser l'oprateur de concatnation

SELECT FROM

last_name||job_id AS "Employees" employees;

1-19

Copyright Oracle Corporation, 2001. Tous droits rservs.

Chanes de caractres littrales

Un littral est une chane de caractres, un nombre ou une date inclus dans la liste SELECT.
Les valeurs des littraux alphanumriques et de type date doivent tre places entre apostrophes.

La chane de caractres dfinie apparat sur chaque ligne renvoye.

1-20

Copyright Oracle Corporation, 2001. Tous droits rservs.

Utiliser des chanes de caractres littrales

SELECT last_name ||' is a '||job_id AS "Employee Details" FROM employees;

1-21

Copyright Oracle Corporation, 2001. Tous droits rservs.

Doublons
Par dfaut, le rsultat d'une interrogation affiche toutes les lignes, y compris les doublons.
SELECT department_id FROM employees;

1-22

Copyright Oracle Corporation, 2001. Tous droits rservs.

Eliminer les doublons

Pour liminer les doublons, ajoutez le mot-cl DISTINCT dans la clause SELECT.
SELECT DISTINCT department_id FROM employees;

1-23

Copyright Oracle Corporation, 2001. Tous droits rservs.

Interaction entre SQL et SQL*Plus

Instructions SQL

SQL*Plus

Serveur Oracle

Commandes SQL*Plus Etat format Client

Rsultats de l'interrogation

1-24

Copyright Oracle Corporation, 2001. Tous droits rservs.

Instructions SQL/ Commandes SQL*Plus


SQL
Langage Norme ANSI Abrviation des mots-cls impossible Les instructions agissent sur les donnes et la dfinition des tables de la base

SQL*Plus
Environnement Produit propritaire Oracle Abrviation des mots-cls possible Les commandes ne permettent pas la manipulation des valeurs de la base de donnes S'excute sur le client SQL*Plus

Instructions SQL
1-25

Commandes SQL*Plus

Copyright Oracle Corporation, 2001. Tous droits rservs.

Prsentation d'SQL*Plus

Une fois que vous tes connect SQL*Plus, vous pouvez :

dcrire la structure d'une table, diter une instruction SQL, excuter SQL, enregistrer et ajouter des instructions SQL dans des fichiers,

excuter des instructions stockes dans des fichiers sauvegards,


charger des commandes depuis un fichier texte dans la fentre d'dition d'SQL*Plus.
Copyright Oracle Corporation, 2001. Tous droits rservs.

1-26

Se connecter SQL*Plus

Depuis l'environnement Windows :

1-27

Copyright Oracle Corporation, 2001. Tous droits rservs.

Afficher la structure d'une table


Utilisez la commande DESCRIBE d'iSQL*Plus pour afficher la structure d'une table .
DESC[RIBE] tablename

1-28

Copyright Oracle Corporation, 2001. Tous droits rservs.

Afficher la structure d'une table

DESCRIBE employees

1-29

Copyright Oracle Corporation, 2001. Tous droits rservs.

Synthse
Ce chapitre vous permis d'apprendre :

crire une instruction SELECT qui :


renvoie toutes les lignes et colonnes d'une table

renvoie certaines colonnes d'une table


utilise des alias de colonne en guise d'en-ttes de colonne descriptifs

utiliser l'environnement iSQL*Plus pour crire, enregistrer et excuter des instructions SQL et des commandes iSQL*Plus
*|{[DISTINCT] column|expression [alias],...} table;

SELECT FROM

1-30

Copyright Oracle Corporation, 2001. Tous droits rservs.

Prsentation de l'exercice 1

Dans cet exercice, vous allez :

slectionner l'ensemble des donnes de diffrentes tables afficher la structure des tables effectuer des calculs arithmtiques et indiquer des noms de colonne utiliser SQL*Plus

1-31

Copyright Oracle Corporation, 2001. Tous droits rservs.

1-36

Copyright Oracle Corporation, 2001. Tous droits rservs.