Vous êtes sur la page 1sur 29

1

Extraire des donnes l'aide de l'instruction


SQL SELECT

Copyright 2007, Oracle. Tous droits rservs.

Objectifs
A la fin de ce chapitre, vous pourrez :
numrer les fonctionnalits des instructions SQL SELECT
excuter une instruction SELECT de base

1-2

Copyright 2007, Oracle. Tous droits rservs.

Contenu du chapitre
Instruction SELECT de base
Expressions arithmtiques et valeurs NULL
dans l'instruction SELECT
Alias de colonne
Oprateur de concatnation, chanes de caractres littrales,
oprateur de dlimitation alternatif
et mot-cl DISTINCT
Commande DESCRIBE

1-3

Copyright 2007, Oracle. Tous droits rservs.

Fonctionnalits des instructions SQL SELECT

Projection

Slection

Table 1

Table 1
Jointure

Table 1
1-4

Table 2
Copyright 2007, Oracle. Tous droits rservs.

Instruction SELECT de base

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


FROM
table;

SELECT identifie les colonnes afficher.


FROM identifie la table contenant ces colonnes.

1-5

Copyright 2007, Oracle. Tous droits rservs.

Slectionner toutes les colonnes

SELECT *
FROM
departments;

1-6

Copyright 2007, Oracle. Tous droits rservs.

Slectionner des colonnes spcifiques

SELECT department_id, location_id


FROM
departments;

1-7

Copyright 2007, Oracle. Tous droits rservs.

Ecrire des instructions SQL


Les instructions SQL ne distinguent pas les majuscules
des minuscules.
Elles peuvent tre saisies sur une ou plusieurs lignes.
Les mots-cls ne peuvent pas tre abrgs ni rpartis
sur plusieurs lignes.
Les clauses sont gnralement places
sur des lignes distinctes.
Des retraits sont utiliss pour amliorer la lisibilit.
Dans SQL Developer, les instructions SQL peuvent
ventuellement tre termines par un point-virgule (;).
Les points-virgules sont obligatoires lorsque vous excutez
plusieurs instructions SQL.
Dans SQL*Plus, vous devez ajouter un point-virgule (;)
la fin de chaque instruction SQL.
1-8

Copyright 2007, Oracle. Tous droits rservs.

En-ttes de colonne par dfaut


SQL Developer :
Alignement par dfaut de l'en-tte : gauche
Casse par dfaut de l'en-tte : majuscules

SQL*Plus :
Les en-ttes des colonnes Character et Date sont aligns
gauche.
Les en-ttes des colonnes Number sont aligns droite.
Casse par dfaut de l'en-tte : majuscules

1-9

Copyright 2007, Oracle. Tous droits rservs.

Contenu du chapitre
Instruction SELECT de base
Expressions arithmtiques et valeurs NULL
dans l'instruction SELECT
Alias de colonne
Oprateur de concatnation, chanes de caractres littrales,
oprateur de dlimitation alternatif
et mot-cl DISTINCT
Commande DESCRIBE

1 - 10

Copyright 2007, Oracle. Tous droits rservs.

Expressions arithmtiques
Crez des expressions avec des donnes de type Number
et Date l'aide d'oprateurs arithmtiques.
Oprateur
+

Addition

Soustraction

Multiplication

1 - 11

Description

Division

Copyright 2007, Oracle. Tous droits rservs.

Utiliser des oprateurs arithmtiques

SELECT last_name, salary, salary + 300


FROM
employees;

1 - 12

Copyright 2007, Oracle. Tous droits rservs.

Priorit des oprateurs

SELECT last_name, salary, 12*salary+100


FROM
employees;

SELECT last_name, salary, 12*(salary+100)


FROM
employees;

1 - 13

Copyright 2007, Oracle. Tous droits rservs.

Dfinir une valeur NULL


Une valeur NULL est une valeur non disponible,
non attribue, inconnue ou inapplicable.
Une valeur NULL est diffrente d'un zro ou d'un blanc.
SELECT last_name, job_id, salary, commission_pct
FROM
employees;

1 - 14

Copyright 2007, Oracle. Tous droits rservs.

Valeurs NULL dans les expressions arithmtiques


Les expressions arithmtiques contenant une valeur NULL
ont un rsultat gal la valeur NULL.
SELECT last_name, 12*salary*commission_pct
FROM
employees;

1 - 15

Copyright 2007, Oracle. Tous droits rservs.

Contenu du chapitre
Instruction SELECT de base
Expressions arithmtiques et valeurs NULL
dans l'instruction SELECT
Alias de colonne
Oprateur de concatnation, chanes de caractres littrales,
oprateur de dlimitation alternatif
et mot-cl DISTINCT
Commande DESCRIBE

1 - 16

Copyright 2007, Oracle. Tous droits rservs.

Dfinir un alias de colonne


Un alias de colonne :
renomme un en-tte de colonne
est utile dans les calculs
suit immdiatement le nom de colonne (le mot-cl facultatif
AS peut figurer entre le nom et l'alias de colonne)
requiert des guillemets s'il contient des espaces
ou des caractres spciaux, ou s'il distingue
les majuscules des minuscules

1 - 17

Copyright 2007, Oracle. 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 - 18

Copyright 2007, Oracle. Tous droits rservs.

Contenu du chapitre
Instruction SELECT de base
Expressions arithmtiques et valeurs NULL
dans l'instruction SELECT
Alias de colonne
Oprateur de concatnation, chanes de caractres littrales,
oprateur de dlimitation alternatif
et mot-cl DISTINCT
Commande DESCRIBE

1 - 19

Copyright 2007, Oracle. Tous droits rservs.

Oprateur de concatnation
L'oprateur de concatnation :
lie des colonnes ou des chanes de caractres
d'autres colonnes
est reprsent par deux barres verticales (||)
cre une colonne qui est une expression de type caractre
SELECT
FROM

last_name||job_id AS "Employees"
employees;

1 - 20

Copyright 2007, Oracle. Tous droits rservs.

Chanes de caractres littrales


Un littral est un caractre, un nombre ou une date inclus
dans l'instruction SELECT.
Les valeurs littrales de type date et caractre doivent
tre indiques entre apostrophes.
Chaque chane de caractres est affiche une fois
pour chaque ligne renvoye.

1 - 21

Copyright 2007, Oracle. Tous droits rservs.

Utiliser des chanes de caractres littrales

SELECT last_name ||' is a '||job_id


AS "Employee Details"
FROM
employees;

1 - 22

Copyright 2007, Oracle. Tous droits rservs.

Oprateur de dlimitation (q) alternatif


Indiquez votre propre dlimiteur.
Vous pouvez slectionner n'importe quel dlimiteur.
Cela facilite la lecture et l'utilisation.
SELECT department_name || ' Department' ||
q'['s Manager Id: ]'
|| manager_id
AS "Department and Manager"
FROM departments;

1 - 23

Copyright 2007, Oracle. Tous droits rservs.

Lignes en double
Par dfaut, pour les interrogations, toutes les lignes sont
affiches (y compris celles en double).
SELECT department_id
FROM
employees;

SELECT DISTINCT department_id


FROM
employees;

1 - 24

Copyright 2007, Oracle. Tous droits rservs.

Contenu du chapitre
Instruction SELECT de base
Expressions arithmtiques et valeurs NULL
dans l'instruction SELECT
Alias de colonne
Oprateur de concatnation, chanes de caractres littrales,
oprateur de dlimitation alternatif
et mot-cl DISTINCT
Commande DESCRIBE

1 - 25

Copyright 2007, Oracle. Tous droits rservs.

Afficher la structure d'une table


Pour afficher la structure d'une table, utilisez la commande
DESCRIBE.
Vous pouvez aussi slectionner la table dans l'arborescence
Connections et cliquer sur l'onglet Columns.
DESC[RIBE] tablename

1 - 26

Copyright 2007, Oracle. Tous droits rservs.

Utiliser la commande DESCRIBE

DESCRIBE employees

1 - 27

Copyright 2007, Oracle. Tous droits rservs.

Synthse
Ce chapitre vous a permis d'apprendre :
crire une instruction SELECT qui :
renvoie l'ensemble des lignes et des colonnes d'une table
renvoie des colonnes spcifiques d'une table
utilise des alias de colonne pour afficher des en-ttes
de colonne plus descriptifs

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


FROM table;

1 - 28

Copyright 2007, Oracle. Tous droits rservs.

Prsentation de l'exercice 1
Dans cet exercice, vous allez :
slectionner l'ensemble des donnes de diffrentes tables
dcrire la structure des tables
effectuer des calculs arithmtiques et indiquer des noms
de colonne

1 - 29

Copyright 2007, Oracle. Tous droits rservs.