33
Copyright Oracle Corporation, 1998. Tous droits réservés. 1 1 L'Ordre SELECT Élémentaire

L'Ordre SELECT Élémentaire

  • Upload
    kaz

  • View
    46

  • Download
    0

Embed Size (px)

DESCRIPTION

L'Ordre SELECT Élémentaire. Objectifs. A la fin de ce chapitre, vous saurez : Énumérer toutes les possibilités de l’ordre SQL SELECT Exécuter un ordre SELECT élémentaire Faire la différence entre les ordres SQL et les commandes SQL*Plus. Les Possibilités de l'Ordre SQL SELECT. Projection. - PowerPoint PPT Presentation

Citation preview

Page 1: L'Ordre SELECT  Élémentaire

Copyright Oracle Corporation, 1998. Tous droits réservés.

11

L'Ordre SELECT Élémentaire

L'Ordre SELECT Élémentaire

Page 2: L'Ordre SELECT  Élémentaire

1-2 Copyright Oracle Corporation, 1998. Tous droits réservés.

ObjectifsObjectifs

A la fin de ce chapitre, vous saurez :A la fin de ce chapitre, vous saurez :

• Énumérer toutes les possibilités de l’ordre SQL SELECT

• Exécuter un ordre SELECT élémentaire

• Faire la différence entre les ordres SQL et les commandes SQL*Plus

A la fin de ce chapitre, vous saurez :A la fin de ce chapitre, vous saurez :

• Énumérer toutes les possibilités de l’ordre SQL SELECT

• Exécuter un ordre SELECT élémentaire

• Faire la différence entre les ordres SQL et les commandes SQL*Plus

Page 3: L'Ordre SELECT  Élémentaire

1-3 Copyright Oracle Corporation, 1998. Tous droits réservés.

Les Possibilités de l'Ordre SQL SELECT

Les Possibilités de l'Ordre SQL SELECT

SélectionSélection ProjectionProjection

Table 1Table 1 Table 2Table 2

Table 1Table 1 Table 1Table 1

JointureJointure

Page 4: L'Ordre SELECT  Élémentaire

1-4 Copyright Oracle Corporation, 1998. Tous droits réservés.

Ordre SELECT ÉlémentaireOrdre SELECT Élémentaire

SELECT [DISTINCT] {*, column [alias],...}FROM table;

SELECT [DISTINCT] {*, column [alias],...}FROM table;

• SELECT indique quelles colonnes rapporter

• FROM indique dans quelle table rechercher

• SELECT indique quelles colonnes rapporter

• FROM indique dans quelle table rechercher

Page 5: L'Ordre SELECT  Élémentaire

1-5 Copyright Oracle Corporation, 1998. Tous droits réservés.

Écriture des Ordres SQLÉcriture des Ordres SQL

• Les ordres SQL peuvent être écrits indifféremment en majuscules et/ou minuscules.

• Les ordres SQL peuvent être écrits sur plusieurs lignes.

• Les mots-clés ne doivent pas être abrégés ni scindés sur deux lignes différentes.

• Les clauses sont généralement placées sur des lignes distinctes.

• Les tabulations et indentations permettent une meilleure lisibilité.

• Les ordres SQL peuvent être écrits indifféremment en majuscules et/ou minuscules.

• Les ordres SQL peuvent être écrits sur plusieurs lignes.

• Les mots-clés ne doivent pas être abrégés ni scindés sur deux lignes différentes.

• Les clauses sont généralement placées sur des lignes distinctes.

• Les tabulations et indentations permettent une meilleure lisibilité.

Page 6: L'Ordre SELECT  Élémentaire

1-6 Copyright Oracle Corporation, 1998. Tous droits réservés.

Sélection de Toutes les Colonnes

Sélection de Toutes les Colonnes

DEPTNO DNAME LOC--------- -------------- ------------- 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON

SQL> SELECT * 2 FROM dept;

Page 7: L'Ordre SELECT  Élémentaire

1-7 Copyright Oracle Corporation, 1998. Tous droits réservés.

Sélection d’Une ou Plusieurs Colonnes Spécifiques

Sélection d’Une ou Plusieurs Colonnes Spécifiques

DEPTNO LOC--------- ------------- 10 NEW YORK 20 DALLAS 30 CHICAGO 40 BOSTON

SQL> SELECT deptno, loc 2 FROM dept;

Page 8: L'Ordre SELECT  Élémentaire

1-8 Copyright Oracle Corporation, 1998. Tous droits réservés.

Valeurs par Défaut des En-têtes de Colonne

Valeurs par Défaut des En-têtes de Colonne

• Justification par défaut

– A gauche : date et données alphanumériques

– A droite : données numériques

• Affichage par défaut : en majuscules

• Justification par défaut

– A gauche : date et données alphanumériques

– A droite : données numériques

• Affichage par défaut : en majuscules

Page 9: L'Ordre SELECT  Élémentaire

1-9 Copyright Oracle Corporation, 1998. Tous droits réservés.

Expressions ArithmétiquesExpressions Arithmétiques

Possibilité de créer des expressions avec Possibilité de créer des expressions avec des données de type NUMBER et DATE au des données de type NUMBER et DATE au moyen d’opérateurs arithmétiquesmoyen d’opérateurs arithmétiques

Possibilité de créer des expressions avec Possibilité de créer des expressions avec des données de type NUMBER et DATE au des données de type NUMBER et DATE au moyen d’opérateurs arithmétiquesmoyen d’opérateurs arithmétiques

Opérateur

+

-

*

/

Description

Addition

Soustraction

Multiplication

Division

Page 10: L'Ordre SELECT  Élémentaire

1-10 Copyright Oracle Corporation, 1998. Tous droits réservés.

Utilisation des Opérateurs Arithmétiques

Utilisation des Opérateurs Arithmétiques

SQL> SELECT ename, sal, sal+300 2 FROM emp;

ENAME SAL SAL+300---------- --------- ---------KING 5000 5300BLAKE 2850 3150CLARK 2450 2750JONES 2975 3275MARTIN 1250 1550ALLEN 1600 1900...14 rows selected.

Page 11: L'Ordre SELECT  Élémentaire

1-11 Copyright Oracle Corporation, 1998. Tous droits réservés.

Priorité des OpérateursPriorité des Opérateurs

• La multiplication et la division ont priorité sur l’addition et la soustraction.

• A niveau de priorité identique, les opérateurs sont évalués de gauche à droite.

• Les parenthèses forcent la priorité d’évaluation et permettent de clarifier les ordres.

• La multiplication et la division ont priorité sur l’addition et la soustraction.

• A niveau de priorité identique, les opérateurs sont évalués de gauche à droite.

• Les parenthèses forcent la priorité d’évaluation et permettent de clarifier les ordres.

**** //// ++++ ____

Page 12: L'Ordre SELECT  Élémentaire

1-12 Copyright Oracle Corporation, 1998. Tous droits réservés.

Priorité des OpérateursPriorité des Opérateurs

SQL> SELECT ename, sal, 12*sal+100 2 FROM emp;

ENAME SAL 12*SAL+100---------- --------- ----------KING 5000 60100BLAKE 2850 34300CLARK 2450 29500JONES 2975 35800MARTIN 1250 15100ALLEN 1600 19300...14 rows selected.

Page 13: L'Ordre SELECT  Élémentaire

1-13 Copyright Oracle Corporation, 1998. Tous droits réservés.

Utilisation des ParenthèsesUtilisation des Parenthèses

SQL> SELECT ename, sal, 12*(sal+100) 2 FROM emp;

ENAME SAL 12*(SAL+100)---------- --------- -----------KING 5000 61200BLAKE 2850 35400CLARK 2450 30600JONES 2975 36900MARTIN 1250 16200...14 rows selected.

Page 14: L'Ordre SELECT  Élémentaire

1-14 Copyright Oracle Corporation, 1998. Tous droits réservés.

La Valeur NULLLa Valeur NULL• NULL représente une valeur non

disponible, non affectée, inconnue ou inapplicable.

• La valeur NULL est différente du zéro ou de l’espace.

• NULL représente une valeur non disponible, non affectée, inconnue ou inapplicable.

• La valeur NULL est différente du zéro ou de l’espace.

SQL> SELECT ename, job, comm 2 FROM emp;

ENAME JOB COMM---------- --------- ---------KING PRESIDENTBLAKE MANAGER...TURNER SALESMAN 0...14 rows selected.

Page 15: L'Ordre SELECT  Élémentaire

1-15 Copyright Oracle Corporation, 1998. Tous droits réservés.

Valeurs NULL dans les Expressions Arithmétiques

Valeurs NULL dans les Expressions Arithmétiques

Les expressions arithmétiques Les expressions arithmétiques comportant une valeur NULL sont comportant une valeur NULL sont évaluées à NULLévaluées à NULL

Les expressions arithmétiques Les expressions arithmétiques comportant une valeur NULL sont comportant une valeur NULL sont évaluées à NULLévaluées à NULL

SQL> select ename , 12*sal+comm 2 from emp 3 WHERE ename='KING';

ENAME 12*SAL+COMM ---------- -----------KING

Page 16: L'Ordre SELECT  Élémentaire

1-16 Copyright Oracle Corporation, 1998. Tous droits réservés.

L’Alias de ColonneL’Alias de Colonne

• Renomme un en-tête de colonne

• Est utile dans les calculs

• Suit immédiatement le nom de la colonne ; le mot-clé AS placé entre le nom et l’alias est optionnel

• Doit obligatoirement être inclus entre guillemets s’il contient des espaces, des caractères spéciaux ou si les majuscules/minuscules doivent être différenciées

• Renomme un en-tête de colonne

• Est utile dans les calculs

• Suit immédiatement le nom de la colonne ; le mot-clé AS placé entre le nom et l’alias est optionnel

• Doit obligatoirement être inclus entre guillemets s’il contient des espaces, des caractères spéciaux ou si les majuscules/minuscules doivent être différenciées

Page 17: L'Ordre SELECT  Élémentaire

1-17 Copyright Oracle Corporation, 1998. Tous droits réservés.

Utilisation des Alias de ColonnesUtilisation des Alias de Colonnes

SQL> SELECT ename AS name, sal salary 2 FROM emp;

NAME SALARY

------------- ---------

...

SQL> SELECT ename "Name", 2 sal*12 "Annual Salary" 3 FROM emp;

Name Annual Salary

------------- -------------

...

Page 18: L'Ordre SELECT  Élémentaire

1-18 Copyright Oracle Corporation, 1998. Tous droits réservés.

L’Opérateur de ConcaténationL’Opérateur de Concaténation

• Concatène des colonnes ou chaînes de caractères avec d’autres colonnes

• Est représenté par deux barres verticales (||)

• La colonne résultante est une expression caractère

• Concatène des colonnes ou chaînes de caractères avec d’autres colonnes

• Est représenté par deux barres verticales (||)

• La colonne résultante est une expression caractère

Page 19: L'Ordre SELECT  Élémentaire

1-19 Copyright Oracle Corporation, 1998. Tous droits réservés.

Utilisation de l’Opérateur de Concaténation

Utilisation de l’Opérateur de Concaténation

SQL> SELECT ename||job AS "Employees" 2 FROM emp;

Employees-------------------KINGPRESIDENTBLAKEMANAGERCLARKMANAGERJONESMANAGERMARTINSALESMANALLENSALESMAN...14 rows selected.

Page 20: L'Ordre SELECT  Élémentaire

1-20 Copyright Oracle Corporation, 1998. Tous droits réservés.

LittéralLittéral

• Un littéral est un caractère, une expression, ou un nombre inclus dans la liste SELECT.

• Les valeurs littérales de type date et caractère doivent être placées entre simples quotes.

• Chaque littéral apparaît sur chaque ligne ramenée.

• Un littéral est un caractère, une expression, ou un nombre inclus dans la liste SELECT.

• Les valeurs littérales de type date et caractère doivent être placées entre simples quotes.

• Chaque littéral apparaît sur chaque ligne ramenée.

Page 21: L'Ordre SELECT  Élémentaire

1-21 Copyright Oracle Corporation, 1998. Tous droits réservés.

Utilisation des Chaînes de Caractères LittéralesUtilisation des Chaînes de Caractères Littérales

Employee Details-------------------------KING is a PRESIDENTBLAKE is a MANAGERCLARK is a MANAGERJONES is a MANAGERMARTIN is a SALESMAN...14 rows selected.

Employee Details-------------------------KING is a PRESIDENTBLAKE is a MANAGERCLARK is a MANAGERJONES is a MANAGERMARTIN is a SALESMAN...14 rows selected.

SQL> SELECT ename ||' '||'is a'||' '||job 2 AS "Employee Details" 3 FROM emp;

Page 22: L'Ordre SELECT  Élémentaire

1-22 Copyright Oracle Corporation, 1998. Tous droits réservés.

Doublons Doublons Par défaut, le résultat d’une requête Par défaut, le résultat d’une requête affiche toutes les lignes, y compris les affiche toutes les lignes, y compris les doublons.doublons.

Par défaut, le résultat d’une requête Par défaut, le résultat d’une requête affiche toutes les lignes, y compris les affiche toutes les lignes, y compris les doublons.doublons.

SQL> SELECT deptno 2 FROM emp;

SQL> SELECT deptno 2 FROM emp;

DEPTNO--------- 10 30 10 20...14 rows selected.

Page 23: L'Ordre SELECT  Élémentaire

1-23 Copyright Oracle Corporation, 1998. Tous droits réservés.

Élimination des DoublonsÉlimination des DoublonsPour éliminer les doublons il faut ajouter Pour éliminer les doublons il faut ajouter le mot-clé DISTINCT à la clause SELECT.le mot-clé DISTINCT à la clause SELECT.

SQL> SELECT DISTINCT deptno 2 FROM emp;

DEPTNO--------- 10 20 30

Page 24: L'Ordre SELECT  Élémentaire

1-24 Copyright Oracle Corporation, 1998. Tous droits réservés.

Interaction entre SQL et SQL*PlusInteraction entre SQL et SQL*Plus

SQL*PlusSQL*Plus

BufferBuffer

Scripts SQL

ServeurOrdres SQLOrdres SQL

Résultats de la requêteRésultats de la requête

Page 25: L'Ordre SELECT  Élémentaire

1-25 Copyright Oracle Corporation, 1998. Tous droits réservés.

Comparatif entre Ordres SQL etCommandes SQL*Plus

Comparatif entre Ordres SQL etCommandes SQL*Plus

Ordres Ordres SQLSQL

SQL SQL

• Un langageUn langage

• Standard ANSI Standard ANSI

• Abréviation des mots-Abréviation des mots-clés impossibleclés impossible

• Les ordres agissent Les ordres agissent sur le contenu et la sur le contenu et la définition des tables définition des tables de la base de données de la base de données

SQL*PlusSQL*Plus

• Un environnementUn environnement

• Produit propriétaire Oracle Produit propriétaire Oracle

• Abréviation des mots-clés Abréviation des mots-clés possiblepossible

• Les commandes ne Les commandes ne permettent d'agir ni sur le permettent d'agir ni sur le contenu, ni sur la contenu, ni sur la définition des tables. définition des tables.

Buffer Buffer SQLSQL

CommandesCommandesSQL*PlusSQL*Plus

BufferBufferSQL*PlusSQL*Plus

Page 26: L'Ordre SELECT  Élémentaire

1-26 Copyright Oracle Corporation, 1998. Tous droits réservés.

• Extraction, modification, ajout et suppression de données au moyen d’ordre SQL.

• Le formatage, le calcul, le stockage et l’impression de requête sous forme d’états.

• Création de fichiers scripts.

• Extraction, modification, ajout et suppression de données au moyen d’ordre SQL.

• Le formatage, le calcul, le stockage et l’impression de requête sous forme d’états.

• Création de fichiers scripts.

Présentation de SQL*PlusPrésentation de SQL*Plus

L’environnement SQL*Plus permet :L’environnement SQL*Plus permet :L’environnement SQL*Plus permet :L’environnement SQL*Plus permet :

Page 27: L'Ordre SELECT  Élémentaire

1-27 Copyright Oracle Corporation, 1998. Tous droits réservés.

Connexion à SQL*PlusConnexion à SQL*Plus

• Depuis l’environnement Windows :Depuis l’environnement Windows :

• Depuis une ligne de commande :Depuis une ligne de commande : sqlplus [sqlplus [usernameusername[/[/password password [@[@databasedatabase]]]]]]

Page 28: L'Ordre SELECT  Élémentaire

1-28 Copyright Oracle Corporation, 1998. Tous droits réservés.

Affichage de la Structured’une Table

Affichage de la Structured’une Table

Utilisez la commande SQL*Plus Utilisez la commande SQL*Plus DESCRIBE pour afficher la structure d’une DESCRIBE pour afficher la structure d’une table. table.

Utilisez la commande SQL*Plus Utilisez la commande SQL*Plus DESCRIBE pour afficher la structure d’une DESCRIBE pour afficher la structure d’une table. table. DESC[RIBE] tablenameDESC[RIBE] tablename

Page 29: L'Ordre SELECT  Élémentaire

1-29 Copyright Oracle Corporation, 1998. Tous droits réservés.

Affichage de la Structure d’une Table

Affichage de la Structure d’une Table

SQL> DESCRIBE deptSQL> DESCRIBE dept

Name Null? Type----------------- -------- ----DEPTNO NOT NULL NUMBER(2)DNAME VARCHAR2(14)LOC VARCHAR2(13)

Name Null? Type----------------- -------- ----DEPTNO NOT NULL NUMBER(2)DNAME VARCHAR2(14)LOC VARCHAR2(13)

Page 30: L'Ordre SELECT  Élémentaire

1-30 Copyright Oracle Corporation, 1998. Tous droits réservés.

Commandes d’Édition SQL*PlusCommandes d’Édition SQL*Plus

• A[PPEND] text

• C[HANGE] / old / new

• C[HANGE] / text /

• CL[EAR] BUFF[ER]

• DEL

• DEL n

• DEL m n

• A[PPEND] text

• C[HANGE] / old / new

• C[HANGE] / text /

• CL[EAR] BUFF[ER]

• DEL

• DEL n

• DEL m n

Page 31: L'Ordre SELECT  Élémentaire

1-31 Copyright Oracle Corporation, 1998. Tous droits réservés.

Commandes d’Édition SQL*PlusCommandes d’Édition SQL*Plus

• I[NPUT]

• I[NPUT] text

• L[IST]

• L[IST] n

• L[IST] m n

• R[UN]

• n

• n text

• 0 text

• I[NPUT]

• I[NPUT] text

• L[IST]

• L[IST] n

• L[IST] m n

• R[UN]

• n

• n text

• 0 text

Page 32: L'Ordre SELECT  Élémentaire

1-32 Copyright Oracle Corporation, 1998. Tous droits réservés.

Commandes de Fichiers SQL*Plus

Commandes de Fichiers SQL*Plus

• SAVE filename

• GET filename

• START filename

• @ filename

• EDIT filename : fichier afiedt.buf

• SPOOL filename

• EXIT

• SAVE filename

• GET filename

• START filename

• @ filename

• EDIT filename : fichier afiedt.buf

• SPOOL filename

• EXIT

Page 33: L'Ordre SELECT  Élémentaire

1-33 Copyright Oracle Corporation, 1998. Tous droits réservés.

RésuméRésumé

L’environnement SQL*Plus permet :L’environnement SQL*Plus permet :

• D’exécuter des ordres SQL

• D’éditer des ordres SQL

L’environnement SQL*Plus permet :L’environnement SQL*Plus permet :

• D’exécuter des ordres SQL

• D’éditer des ordres SQL

SELECT [DISTINCT] {*,column[alias],...}FROM table;

SELECT [DISTINCT] {*,column[alias],...}FROM table;