Académique Documents
Professionnel Documents
Culture Documents
Pour extraire les donnes de la base, vous devez utiliser l'instruction SQL (Structured Query
Language) SELECT. Vous pouvez tre amen limiter les colonnes qui s'affichent. Le prsent
chapitre dcrit toutes les instructions SQL requises pour effectuer ces oprations. Vous pouvez
galement crer des instructions SELECT pouvant tre utilises plusieurs fois.
Ce chapitre tudie galement l'environnement iSQL*Plus dans lequel vous excutez les
instructions SQL.
Remarque : Dans le prsent cours, les mots mot-cl, clause et instruction sont utiliss de la
faon suivante :
Un mot-cl fait rfrence un lment SQL individuel.
Par exemple, SELECT et FROM sont des mots-cls.
Une clause fait partie d'une instruction SQL.
Par exemple, SELECT employee_id, last_name, ... est une clause.
Une instruction est une combinaison de plusieurs clauses.
Vous pouvez remplacer l'affichage des en-ttes de colonnes par un alias. Les alias de colonne
sont tudis plus loin dans ce chapitre.
Oracle Database 10g : Les fondamentaux du langage SQL (I) 1-8
Expressions arithmtiques
Vous pouvez modifier la faon dont les donnes s'affichent, effectuer des calculs ou examiner
des scnarios de simulation. Tous sont possibles l'aide d'expressions arithmtiques. Une
expression arithmtique peut contenir des noms de colonnes, des valeurs numriques
constantes et des oprateurs arithmtiques.
Oprateurs arithmtiques
La diapositive ci-dessus rpertorie les oprateurs arithmtiques du langage SQL. Vous pouvez
les utiliser dans n'importe quelle clause d'une instruction SQL ( l'exception de la
clause FROM).
Remarque : Avec les types de donnes DATE et TIMESTAMP, vous pouvez utiliser
uniquement les oprateurs d'addition et de soustraction.
Vous pouvez utiliser des parenthses afin de forcer l'valuation en premier de l'expression
entre parenthses.
Rgles de priorit :
La multiplication et la division sont effectues avant l'addition et la soustraction.
Les oprateurs de mme priorit sont valus de gauche droite.
Les parenthses sont utilises pour modifier la priorit par dfaut ou pour
clarifier l'instruction.
Valeurs NULL
Si une valeur est absente d'une ligne pour une colonne particulire, cette valeur est dite NULL,
ou contenant une valeur NULL.
Une valeur NULL est une valeur qui n'est pas disponible, pas affecte, inconnue ou
inapplicable. Une valeur NULL est diffrente d'un zro ou d'un espace. Zro est un chiffre et
un espace est un caractre.
Toutes les colonnes, quel que soit leur type de donnes, peuvent contenir des valeurs NULL.
Cependant, certaines contraintes (NOT NULL et PRIMARY KEY) empchent l'utilisation de
valeurs NULL dans la colonne.
Dans la colonne COMMISSION_PCT de la table EMPLOYEES, notez que seul un directeur
commercial ou un commercial peut percevoir une commission. Les autres employs ne sont
pas autoriss percevoir de commissions. Ce fait est reprsent par une valeur NULL.
Alias de colonne
Lors de l'affichage du rsultat d'une interrogation, iSQL*Plus utilise gnralement le nom de
la colonne slectionne comme en-tte de la colonne. Cet en-tte n'est pas toujours vocateur
et peut donc tre difficile comprendre. Vous pouvez modifier l'en-tte d'une colonne en
utilisant un alias de colonne.
Indiquez l'alias aprs la colonne dans la liste SELECT en utilisant un espace comme
sparateur. Par dfaut, les en-ttes d'alias s'affichent en majuscules. Si l'alias contient des
espaces ou des caractres spciaux (tels que # ou $), ou s'il distingue les majuscules des
minuscules, incluez l'alias entre guillemets (" ").
Oprateur de concatnation
Vous pouvez lier des colonnes d'autres colonnes, expressions arithmtiques ou valeurs
constantes afin de crer une expression de type caractre l'aide de l'oprateur de
concatnation (||). Les colonnes de chaque ct de l'oprateur sont combines afin de crer
une colonne de sortie unique.
Dans l'exemple de la diapositive ci-dessus, les colonnes LAST_NAME et JOB_ID sont
concatnes et l'alias Employees leur est affect. Notez que le nom et le code de poste de
l'employ sont combins afin de crer une colonne de sortie unique.
Le mot-cl AS avant le nom de l'alias facilite la lecture de la clause SELECT.
Valeurs NULL avec l'oprateur de concatnation
Si vous concatnez une valeur NULL avec une chane de caractres, le rsultat est une chane
de caractres. LAST_NAME || NULL renvoie LAST_NAME.
Lignes en double
Sauf indication contraire, iSQL*Plus affiche les rsultats d'une interrogation sans supprimer
les lignes en double. Le premier exemple de la diapositive ci-dessus affiche tous les numros
de dpartement de la table EMPLOYEES. Notez que les numros de dpartement sont rpts.
Pour liminer les lignes en double dans le rsultat, incluez le mot-cl DISTINCT dans la
clause SELECT, immdiatement aprs le mot-cl SELECT. Dans le deuxime exemple de la
diapositive, la table EMPLOYEES contient en fait 20 lignes, mais elle contient seulement sept
numros de dpartement uniques.
Vous pouvez indiquer plusieurs colonnes aprs le qualificatif DISTINCT. Le qualificatif
DISTINCT affecte toutes les colonnes slectionnes et le rsultat est constitu de chaque
combinaison distincte des colonnes.
SELECT
FROM
SQL et iSQL*Plus
SQL est un langage de commande pour la communication avec le serveur Oracle partir de
n'importe quel outil ou application. Le langage SQL Oracle contient de
nombreuses extensions.
iSQL*Plus est un outil Oracle qui reconnat et soumet des instructions SQL au serveur Oracle
en vue de leur excution, et qui contient son propre langage de commande.
Caractristiques du langage SQL
Il peut tre utilis par un large ventail d'utilisateurs, y compris ceux avec peu ou pas
d'exprience de programmation.
Il s'agit d'un langage non procdural.
Il s'agit d'un langage similaire l'anglais.
Caractristiques de l'outil iSQL*Plus
Il est accessible partir d'un navigateur.
Il accepte les instructions SQL.
Il permet la modification en ligne des instructions SQL.
Il contrle les paramtres d'environnement.
Il met en forme les rsultats des interrogations sous la forme d'un tat de base.
Il accde aux bases de donnes locales et distantes.
SQL
iSQL*Plus
iSQL*Plus
iSQL*Plus est un environnement dans lequel vous pouvez :
Excuter des instructions SQL pour extraire, modifier, ajouter et supprimer des donnes
dans la base
Mettre en forme des donnes, effectuer des calculs sur ces donnes, puis enregistrer et
afficher les rsultats des interrogations sous la forme d'tats
Crer des fichiers script pour stocker les instructions SQL qui seront
rutilises ultrieurement
Se connecter iSQL*Plus
Pour se connecter partir d'un navigateur :
1. Dmarrez le navigateur.
2. Entrez l'URL de l'environnement iSQL*Plus.
3. Dans la page Login, entrez les valeurs appropries dans les champs Username, Password
et Connect Identifier.
Environnement iSQL*Plus
Dans le navigateur, la page iSQL*Plus Workspace comporte plusieurs zones importantes :
1. Zone de texte : zone dans laquelle vous tapez les instructions SQL et les
commandes iSQL*Plus
2. Bouton Execute : permet d'excuter les instructions et les commandes de la zone
de texte
3. Bouton Load Script : affiche un panneau dans lequel vous pouvez identifier un chemin
et un nom de fichier, ou une URL contenant des commandes SQL, PL/SQL ou
SQL*Plus, puis les charger dans la zone de texte
4. Bouton Save Script : enregistre le contenu de la zone de texte dans un fichier
5. Bouton Cancel : interrompt l'excution de la commande indique dans la zone de texte
6. Bouton Clear : permet d'effacer le contenu de la zone de texte
7. Icne Logout : permet de terminer la session iSQL*Plus et de revenir la page
iSQL*Plus Login
8. Icne Preferences : permet de modifier la configuration de l'interface, la configuration
du systme ou le mot de passe
9. Icne Help : permet l'accs l'aide de iSQL*Plus
Description
Valeur numrique comportant un maximum de p chiffres,
dont s chiffres aprs la virgule
Valeur de type caractre de longueur variable, avec une taille
maximale de s
Valeur date-heure comprise entre le 1er janvier 4712 av. J-C
et le 31 dcembre 9999 apr. J-C.
Valeur de type caractre de longueur fixe de taille s
Prfrences iSQL*Plus
Vous pouvez dfinir les prfrences de votre session iSQL*Plus en cliquant sur
l'icne Preferences.
Les prfrences sont divises en catgories. Vous pouvez dfinir les prfrences de mise
en forme et d'excution des scripts, ainsi que les prfrences d'administration de la base
de donnes ; vous pouvez galement modifier votre mot de passe.
Lorsque vous choisissez une catgorie de prfrence, un panneau vous permet de dfinir
les prfrences de cette catgorie.
Instruction SELECT
Dans le prsent chapitre, vous avez appris extraire des donnes d'une table de base avec
l'instruction SELECT.
SELECT
FROM
Dans la syntaxe :
SELECT
*
DISTINCT
column|expression
alias
FROM table
iSQL*Plus
iSQL*Plus est un environnement d'excution que vous pouvez utiliser pour envoyer des
instructions SQL au serveur de base de donnes et pour diter et enregistrer des instructions
SQL. Les instructions peuvent tre excutes partir de l'invite SQL ou d'un fichier script.
Prsentation de l'exercice 1
Cet exercice est le premier d'une longue srie. Les solutions (si vous en avez besoin) se
trouvent dans l'annexe A. Les exercices sont conus pour traiter tous les sujets abords dans le
chapitre correspondant.
Notez l'emplacement suivant pour les fichiers des exercices :
E:\labs\\SQL1\labs
Si vous tes invit enregistrer des fichiers au cours des exercices, enregistrez-les dans
cet emplacement.
Pour dmarrer iSQL*Plus, dmarrez le navigateur. Vous devez entrer une URL pour accder
iSQL*Plus. L'URL ncessite le nom d'hte, qui sera fourni par le formateur. Entrez la
commande suivante, en remplaant le nom d'hte par la valeur fournie par le formateur :
http://<HOSTNAME:5561>/isqlplus
Certains exercices sont introduits par "Si vous avez le temps" ou par "Si vous souhaitez tester
vos connaissances de manire plus approfondie". N'effectuez ces exercices que si vous avez
effectu tous les autres exercices dans le temps imparti et que vous souhaitez tester vos
connaissances de manire plus approfondie.
Prenez votre temps et effectuez les exercices avec soin. Vous pouvez tester l'enregistrement et
l'excution de fichiers de commande. Si vous avez des questions, vous pouvez tout moment
interroger votre formateur.
Oracle Database 10g : Les fondamentaux du langage SQL (I) 1-38