t echnologies o racle ordres de base © sebvita.com
TRANSCRIPT
![Page 1: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/1.jpg)
TECHNOLOGIES ORACLE
Ordres de base
© sebvita.com
![Page 2: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/2.jpg)
Objectifs
En suivant ce cours, vous serez capable :• D’exécuter un ordre
SELECT de base• De limiter et trier les
lignes retournées par une requête
© sebvita.com
![Page 3: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/3.jpg)
Ordre SELECT
© sebvita.com
![Page 4: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/4.jpg)
© sebvita.com
L’ordre SELECT ?
Syntaxe :
• SELECT liste les colonnes qui sont affichées• FROM indique la table d’où sont issues les
colonnes
© sebvita.com
SELECT *|{[DISTINCT] column|expression [alias],...}FROM table;
![Page 5: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/5.jpg)
L’ordre SELECT ?
Sélectionner toutes les colonnes d’une table
© sebvita.com
SELECT *FROM departments;
![Page 6: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/6.jpg)
L’ordre SELECT ?
Sélectionner certaines colonnes d’une table
© sebvita.com
SELECT department_id, location_idFROM departments;
![Page 7: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/7.jpg)
L’ordre SELECT ?Directives• Non sensibles à la casse• Écrits sur une ou plusieurs lignes• Mots clés ne peuvent être abrégés ou
coupés sur plusieurs lignes• Clauses placées sur de nouvelles lignes• Indentation du code• Requêtes se terminent par un point-
virgule
© sebvita.com
![Page 8: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/8.jpg)
Expressions arithmétiques
Operateur Description
+ Add
- Subtract
Multiply
Divide
*
/
© sebvita.com
![Page 9: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/9.jpg)
Expressions arithmétiques
SELECT last_name, salary, salary + 300FROM employees;
© sebvita.com
![Page 10: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/10.jpg)
Expressions arithmétiques
SELECT last_name, salary, 12*salary+100FROM employees;
SELECT last_name, salary, 12*(salary+100)FROM employees;
© sebvita.com
![Page 11: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/11.jpg)
Expressions arithmétiquesDéfinir les valeurs NULL• Une valeur NULL est indisponible, non
assignée, inconnue ou inutilisable• Ce n’est pas comme un zéro ou un espace
SELECT last_name, job_id, salary, commission_pctFROM employees;
© sebvita.com
![Page 12: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/12.jpg)
Expressions arithmétiquesUtiliser les valeurs NULL• Une expression arithmétique qui
contient une valeur NULL retourne NULL
SELECT last_name, 12*salary*commission_pctFROM employees;
© sebvita.com
![Page 13: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/13.jpg)
Les alias de colonnes
• Changent les entêtes de colonnes• Sont utiles avec les calculs• Suivent directement le nom de la
colonne (ou le mot clé AS)• Nécessitent des doubles quotes (" ")
si contient un espace, un caractère spécial ou est sensible à la casse
© sebvita.com
![Page 14: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/14.jpg)
Les alias de colonnes
SELECT last_name AS name , commission_pct commFROM employees;
SELECT last_name "Name" , salary*12 "Annual Salary"FROM employees;
© sebvita.com
![Page 15: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/15.jpg)
Opérateur de concaténation• Lie les colonnes ou chaînes de
caractères à d’autres colonnes• Se présente avec deux barres (||)• Crée une colonne à l’affichage
SELECT last_name || job_id AS "Employees"FROM employees;
© sebvita.com
![Page 16: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/16.jpg)
Chaînes de caractères littérales• Un littéral est un caractère, un
nombre ou une date qui est inclus dans un SELECT
• Les dates et caractères littéraux doivent être entre simples quotes (' ')
• Chaque chaîne de caractères est affichée une fois pour chaque ligne retournée
© sebvita.com
![Page 17: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/17.jpg)
Chaînes de caractères littérales
SELECT last_name || ' is a ' || job_id AS "Employee Details"FROM employees;
© sebvita.com
![Page 18: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/18.jpg)
Opérateur de quote alternative• Spécifie son propre délimiteur
SELECT department_name || q'[, it's assigned Manager Id: ]' || manager_id AS "Department and Manager"FROM departments;
© sebvita.com
![Page 19: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/19.jpg)
Lignes dupliquées• Par défaut, toutes les lignes sont
affichées, même les doublonsSELECT department_idFROM employees;
SELECT DISTINCT department_idFROM employees;
© sebvita.com
![Page 20: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/20.jpg)
Afficher la structure d’une table
DESCRIBE employees
DESC[RIBE] tablename
Exemple :
© sebvita.com
![Page 21: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/21.jpg)
© sebvita.com
VOUS AVEZ DES QUESTIONS ?
![Page 22: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/22.jpg)
Ordre SELECT
© sebvita.com
![Page 23: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/23.jpg)
Introduction to SQL*Plus
© sebvita.com
![Page 24: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/24.jpg)
Commandes d’éditionLe buffer
© sebvita.com
![Page 25: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/25.jpg)
Commandes d’édition• Ouvre le bloc notes pour modifier le
SQL
• Bloque l’environnement de travail• afiedt.buf ne peut contenir d’ordres
SQL*Plus• Pour ajouter du SQL*Plus, utiliser un
script SQL
ED[IT]
© sebvita.com
![Page 26: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/26.jpg)
Commandes d’éditions
Liste non exhaustive• A[PPEND] text• C[HANGE] / old / new• CL[EAR] BUFF[ER]• CL[EAR] SCR[EEN]• DEL• DEL n• DEL m n
• I[NPUT]• I[NPUT] text• L[IST]• L[IST] n• L[IST] m n• R[UN]• n• n text• 0 text
© sebvita.com
![Page 27: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/27.jpg)
Commandes d’édition
SQL> LIST 1 SELECT last_name 2* FROM employees
SQL> 1 1* SELECT last_name
SQL> A , job_id 1* SELECT last_name, job_id
SQL> L 1 SELECT last_name, job_id 2* FROM employees
© sebvita.com
![Page 28: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/28.jpg)
Commandes d’édition
SQL> L 1 SELECT * FROM employees
SQL> c/employees/departments 1* SELECT * FROM departments
SQL> L 1 SELECT * FROM departments
© sebvita.com
![Page 29: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/29.jpg)
Manipulation de fichiers
Liste non exhaustive• SAV[E] filename[.ext] [RE[PLACE]]|[APP[END]]• GET filename[.ext]• STA[RT] filename[.ext]• @ filename[.ext]• ED[IT] [filename[.ext]]• SPO[OL] filename[.ext] [OFF|OUT]• EXIT
© sebvita.com
![Page 30: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/30.jpg)
Personnalisation d’environnement
• Utiliser SET pour contrôler la session
• Vérifier la configuration avec SHOW
SET system_variable value
SQL> SET ECHO ONSQL> SHOW ECHO
echo ON
© sebvita.com
![Page 31: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/31.jpg)
Personnalisation d’environnement
ARRAYSIZE {15 | n}FEEDBACK {6 | n | OFF | ON}HEADING {OFF | ON}LONG {80 | n | ON | text}LINESIZE {80 | n}PAGESIZE {14 | n}
SQL> SET HEADING OFFSQL> SHOW HEADING
heading OFF
© sebvita.com
![Page 32: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/32.jpg)
Commandes de formatage
COL[UMN] [column option]TTITLE [text | OFF | ON]BTITLE [text | OFF | ON]BREAK [ON report_element]
© sebvita.com
![Page 33: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/33.jpg)
Commandes de formatage• Pour contrôler l’affichage des colonnes
• CLE[AR] : Supprime le formatage d’une colonne
• HEA[DING] text : Change l’entête• FOR[MAT] format : Modifie l’affichage d’une
colonne• NOPRINT | PRINT : Afficher ou non une
colonne• NULL : Remplace les valeurs NULL
COL[UMN] [{column | alias} [option]]
© sebvita.com
![Page 34: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/34.jpg)
Commandes de formatage• Créer un entête de colonne
• Afficher la configuration de la colonne last_name
• Supprimer la configuration de la colonne
COLUMN last_name HEADING 'Employee|Name'COLUMN salary JUSTIFY LEFT FORMAT $99,990.00COLUMN manager FORMAT 999999999 NULL 'No manager'
COLUMN last_name
COLUMN last_name CLEAR
© sebvita.com
![Page 35: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/35.jpg)
Commandes de formatage• Modèles de formatage
Élément
9
0
$
L
.
,
Résultat
1234
001234
$1234
L1234
1234.00
1,234
Exemple
999999
099999
$9999
L9999
9999.99
9,999
Description
Represents a number
Adds 0
Dollar currency
Locale currency
Decimal position
Thousands separator
© sebvita.com
![Page 36: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/36.jpg)
Commandes de formatage• La commande BREAK évite les
doublons à l’affichageBREAK ON job_id
© sebvita.com
![Page 37: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/37.jpg)
Commandes de formatage• Afficher des entêtes de page
• Configurer les pieds de page
TTI[TLE] [text | OFF | ON]
TTITLE 'Salary|Report'
BTITLE 'Confidential'
© sebvita.com
![Page 38: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/38.jpg)
Création de rapportsCréer un fichier de script (.sql) pour générer un rapport1. Créer et tester l’ordre SQL2. Sauver l’ordre dans un fichier (.sql)3. Modifier le fichier dans un éditeur de texte4. Ajouter les commandes de formatage5. Vérifier la présence du point virgule final6. Supprimer les commandes de formatage
après l’ordre7. Sauvegarder8. Charger et exécuter le script
© sebvita.com
![Page 39: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/39.jpg)
Création de rapports
© sebvita.com
![Page 40: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/40.jpg)
© sebvita.com
VOUS AVEZ DES QUESTIONS ?
![Page 41: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/41.jpg)
Restriction et tri des données
© sebvita.com
![Page 42: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/42.jpg)
Restreindre les données
« Récupère tousles employés du département 90 »
© sebvita.com
![Page 43: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/43.jpg)
Restreindre les données• Restreindre les lignes retournées
avec la clause WHERE
• La clause WHERE suit la clause FROM.
SELECT *|{[DISTINCT] column|expression [alias],...} FROM table[WHERE condition(s)] ;
© sebvita.com
![Page 44: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/44.jpg)
Restreindre les données• Utiliser la clause WHERE
SELECT employee_id, last_name, job_id, department_idFROM employeesWHERE department_id = 90 ;
© sebvita.com
![Page 45: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/45.jpg)
Restreindre les données
Chaînes de caractères et dates :• Doivent être en simples quotes (' ')• Chaînes de caractères sensibles à la
casse• Dates sensibles au format• Format de date par défaut– En français : DD/MM/RR– En américain : DD-MON-RRSELECT last_name, job_id, department_idFROM employeesWHERE last_name = 'Whalen' ;
© sebvita.com
![Page 46: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/46.jpg)
Conditions de comparaison
Operateur Signification
= Égal à
> Plus grand que
Plus grand ou égal à
Plus petit que
>=
<
<= Plus petit ou égal à
Non égal à
Entre deux valeurs (inclues)
<>
BETWEEN … AND …
IN (set) Correspond à une valeur de la liste
Correspond à une recherche
Est une valeur NULL
LIKE
IS NULL
© sebvita.com
![Page 47: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/47.jpg)
Conditions de comparaison• Exemple :
SELECT last_name, salaryFROM employeesWHERE salary <= 3000 ;
© sebvita.com
![Page 48: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/48.jpg)
Conditions de comparaison• Utiliser la condition BETWEEN :
SELECT last_name, salaryFROM employeesWHERE salary BETWEEN 2500 AND 3500 ;
Limite inférieureLimite supérieure
© sebvita.com
![Page 49: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/49.jpg)
Conditions de comparaison• Utiliser la condition IN :
SELECT employee_id, last_name, salary, manager_idFROM employeesWHERE manager_id IN (100, 101, 201) ;
© sebvita.com
![Page 50: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/50.jpg)
Conditions de comparaison• Utiliser la condition LIKE :• La condition de recherche pour
contenir des caractères littéraux ou des nombres– % représente zéro, un ou plusieurs
caractères– _ représente un et un seul caractèreSELECT first_nameFROM employeesWHERE first_name LIKE 'S%' ;
© sebvita.com
![Page 51: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/51.jpg)
Conditions de comparaison• Utiliser la condition LIKE :
SELECT first_nameFROM employeesWHERE first_name LIKE '_o%' ;
© sebvita.com
![Page 52: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/52.jpg)
Conditions de comparaison• Utiliser l’identifiant ESCAPE :• Permet de rechercher les caractères
% et _SELECT employee_id, job_idFROM employeesWHERE job_id LIKE 'SA\_R%' ESCAPE '\';
© sebvita.com
![Page 53: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/53.jpg)
Conditions de comparaison• Utiliser la condition IS NULL :
SELECT last_name, manager_idFROM employeesWHERE manager_id IS NULL ;
© sebvita.com
![Page 54: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/54.jpg)
Conditions logiques
Operateur Signification
AND Returne TRUE si les deux conditions sont vraies
OR Returne TRUE si au moins une des conditions est vraie
Returne TRUE si la condition suivante est fausse
NOT
© sebvita.com
![Page 55: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/55.jpg)
Conditions logiques• Utiliser l’opérateur AND :
SELECT employee_id, last_name, job_id, salaryFROM employeesWHERE salary >= 10000AND job_id LIKE '%MAN%';
© sebvita.com
![Page 56: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/56.jpg)
Conditions logiques• Utiliser l’opérateur OR :
SELECT employee_id, last_name, job_id, salaryFROM employeesWHERE salary >= 10000OR job_id LIKE '%MAN%';
© sebvita.com
![Page 57: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/57.jpg)
Conditions logiques• Utiliser l’opérateur NOT :
SELECT last_name, job_idFROM employeesWHERE job_id NOT IN ('IT_PROG', 'ST_CLERK', 'SA_REP');
© sebvita.com
![Page 58: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/58.jpg)
Conditions logiques• Règles de priorité
• Possibilité d’utiliser les parenthèses
Order Operators
1 Arithmetic operators
2 Concatenation operator
Comparison conditions
IS [NOT] NULL, LIKE, [NOT] IN
3
4
5 [NOT] BETWEEN
Not equal to
NOT logical condition
6
7
8 AND logical condition
OR logical condition9
© sebvita.com
![Page 59: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/59.jpg)
Conditions logiques
SELECT last_name, job_id, salaryFROM employeesWHERE job_id = 'SA_REP'OR job_id = 'AD_PRES'AND salary > 15000;
SELECT last_name, job_id, salaryFROM employeesWHERE (job_id = 'SA_REP'OR job_id = 'AD_PRES')AND salary > 15000;
© sebvita.com
![Page 60: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/60.jpg)
Tri des données• Trier les lignes avec la clause ORDER BY :– ASC : ordre ascendant, par défaut– DESC : ordre descendant
• ORDER BY est la dernière clause du SELECTSELECT last_name, job_id, department_id, hire_dateFROM employeesORDER BY hire_date;
© sebvita.com
![Page 61: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/61.jpg)
Tri des données• Tri par ordre descendant
• Tri par les alias de colonnes
• Tri d’après plusieurs colonnes
SELECT last_name, job_id, department_id, hire_dateFROM employeesORDER BY hire_date DESC ;
SELECT last_name, department_id, salaryFROM employeesORDER BY department_id, salary DESC;
SELECT employee_id, last_name, salary*12 annsalFROM employeesORDER BY annsal ;
© sebvita.com
![Page 62: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/62.jpg)
Variables de substitution
... salary = ? ...
... department_id = ? ...
... last_name = ? ...
I want to query differentvalues.
© sebvita.com
![Page 63: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/63.jpg)
Variables de substitution• Utiliser les variables de substitution
pour :– Stocker temporairement des valeurs– Simple « et commercial » (« & »)– Double « et commercial » (« && »)SELECT employee_id, last_name, salary, department_idFROM employeesWHERE employee_id = &employee_num ;
© sebvita.com
![Page 64: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/64.jpg)
Variables de substitution
21
© sebvita.com
![Page 65: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/65.jpg)
Variables de substitution• Pour les chaînes de caractères et les
dates, utiliser des doubles quotesSELECT last_name, department_id, salary*12FROM employeesWHERE job_id = '&job_title';
© sebvita.com
![Page 66: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/66.jpg)
Variables de substitution
SELECT employee_id, last_name, job_id, &column_nameFROM employeesWHERE &conditionORDER BY &order_column ;
© sebvita.com
![Page 67: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/67.jpg)
Variables de substitution• Utiliser le double « et commercial »
pour réutiliser la valeurSELECT employee_id, last_name, job_id, &&column_nameFROM employeesORDER BY &column_name ;
© sebvita.com
![Page 68: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/68.jpg)
Variables de substitution• Utiliser DEFINE pour créer et
assigner une valeur à une variable• Utiliser UNDEFINE pour supprimer la
variable
DEFINE employee_num = 200
SELECT employee_id, last_name, salary, department_idFROM employeesWHERE employee_id = &employee_num ;
UNDEFINE employee_num
© sebvita.com
![Page 69: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/69.jpg)
Variables de substitution• Utiliser la commande VERIFY pour
afficher ou non les remplacements de la variable de substitutionSET VERIFY ON
SELECT employee_id, last_name, salary, department_idFROM employeesWHERE employee_id = &employee_num;
old 3: WHERE employee_id = &employee_numnew 3: WHERE employee_id = 200
© sebvita.com
![Page 70: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/70.jpg)
© sebvita.com
VOUS AVEZ DES QUESTIONS ?
![Page 71: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/71.jpg)
Restriction et tri des données
© sebvita.com
![Page 72: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/72.jpg)
Résumé
Restreindre les données
Écrire un ordre SELECT
de base
Formater des
rapports
© sebvita.com
Trier les données
![Page 73: T ECHNOLOGIES O RACLE Ordres de base © sebvita.com](https://reader035.vdocuments.net/reader035/viewer/2022062621/551d9d94497959293b8ca4b5/html5/thumbnails/73.jpg)
Ressources• http://www.oracle.com• http://otn.oracle.com
© sebvita.com