28
2 Copyright © Oracle Corporation, 2001. Tous droits réservés. Limiter et trier des données

2 Copyright © Oracle Corporation, 2001. Tous droits réservés. Limiter et trier des données

Embed Size (px)

Citation preview

Page 1: 2 Copyright © Oracle Corporation, 2001. Tous droits réservés. Limiter et trier des données

2Copyright © Oracle Corporation, 2001. Tous droits réservés.

Limiter et trier des données

Page 2: 2 Copyright © Oracle Corporation, 2001. Tous droits réservés. Limiter et trier des données

2-2 Copyright © Oracle Corporation, 2001. Tous droits réservés.

Objectifs

A la fin de ce chapitre, vous pourrez :

• limiter le nombre de lignes extraites par une interrogation

• trier les lignes extraites par une interrogation

Page 3: 2 Copyright © Oracle Corporation, 2001. Tous droits réservés. Limiter et trier des données

2-3 Copyright © Oracle Corporation, 2001. Tous droits réservés.

Limiter le nombre de lignes à l'aide d'une sélection

"Extraire tous les employés du service 90"

EMPLOYEES

Page 4: 2 Copyright © Oracle Corporation, 2001. Tous droits réservés. Limiter et trier des données

2-4 Copyright © Oracle Corporation, 2001. Tous droits réservés.

Limiter le nombre de lignes sélectionnées

• Limitez le nombre de lignes renvoyées à l'aide de la clause WHERE.

• La clause WHERE se place après la clause FROM.

SELECT *|{[DISTINCT] column|expression [alias],...}FROM table[WHERE condition(s)];

Page 5: 2 Copyright © Oracle Corporation, 2001. Tous droits réservés. Limiter et trier des données

2-5 Copyright © Oracle Corporation, 2001. Tous droits réservés.

Utiliser la clause WHERE

SELECT employee_id, last_name, job_id, department_idFROM employeesWHERE department_id = 90 ;

Page 6: 2 Copyright © Oracle Corporation, 2001. Tous droits réservés. Limiter et trier des données

2-6 Copyright © Oracle Corporation, 2001. Tous droits réservés.

Chaînes de caractères et dates

• Les chaînes de caractères et les dates doivent être placées entre apostrophes.

• La recherche tient compte des majuscules/minuscules pour les chaînes de caractères et du format pour les dates.

• Le format de date par défaut est DD-MON-RR.

SELECT last_name, job_id, department_idFROM employeesWHERE last_name = 'Whalen';

Page 7: 2 Copyright © Oracle Corporation, 2001. Tous droits réservés. Limiter et trier des données

2-7 Copyright © Oracle Corporation, 2001. Tous droits réservés.

Conditions de comparaison

Opérateur

=

>

>=

<

<=

<>

Signification

Egal à

Supérieur à

Supérieur ou égal à

Inférieur à

Inférieur ou égal à

Différent de

Page 8: 2 Copyright © Oracle Corporation, 2001. Tous droits réservés. Limiter et trier des données

2-8 Copyright © Oracle Corporation, 2001. Tous droits réservés.

SELECT last_name, salaryFROM employeesWHERE salary <= 3000;

Utiliser des conditions de comparaison

Page 9: 2 Copyright © Oracle Corporation, 2001. Tous droits réservés. Limiter et trier des données

2-9 Copyright © Oracle Corporation, 2001. Tous droits réservés.

Autres conditions de comparaison

Opérateur

BETWEEN

...AND...

IN(set)

LIKE

IS NULL

Signification

Compris entre ... et ... (bornes

comprises)

Correspond à une valeur de la liste

Ressemblance partielle de chaînes

de caractères

Correspond à une valeur NULL

Page 10: 2 Copyright © Oracle Corporation, 2001. Tous droits réservés. Limiter et trier des données

2-10 Copyright © Oracle Corporation, 2001. Tous droits réservés.

Utiliser la condition BETWEEN

Utilisez la condition BETWEEN pour afficher des lignes en fonction d'une plage de valeurs.

SELECT last_name, salaryFROM employeesWHERE salary BETWEEN 2500 AND 3500;

Limite inférieure Limite supérieure

Page 11: 2 Copyright © Oracle Corporation, 2001. Tous droits réservés. Limiter et trier des données

2-11 Copyright © Oracle Corporation, 2001. Tous droits réservés.

SELECT employee_id, last_name, salary, manager_idFROM employeesWHERE manager_id IN (100, 101, 201);

Utiliser la condition IN

Utilisez la condition d'appartenance IN pour vérifierla présence de valeurs dans une liste.

Page 12: 2 Copyright © Oracle Corporation, 2001. Tous droits réservés. Limiter et trier des données

2-12 Copyright © Oracle Corporation, 2001. Tous droits réservés.

Utiliser la condition LIKE

• Utilisez la condition LIKE pour rechercher des chaînes de caractères valides à l'aide de caractères génériques.

• Les conditions de recherche peuvent contenir des caractères ou des nombres littéraux :– % représente zéro ou plusieurs caractères.

– _ représente un caractère.

SELECT first_nameFROM employeesWHERE first_name LIKE 'S%';

Page 13: 2 Copyright © Oracle Corporation, 2001. Tous droits réservés. Limiter et trier des données

2-13 Copyright © Oracle Corporation, 2001. Tous droits réservés.

• Vous pouvez combiner plusieurs caractères génériques de recherche.

• Vous pouvez utiliser l'identificateur ESCAPE pour rechercher les symboles % et _.

Utiliser la condition LIKE

SELECT last_nameFROM employeesWHERE last_name LIKE '_o%';

Page 14: 2 Copyright © Oracle Corporation, 2001. Tous droits réservés. Limiter et trier des données

2-14 Copyright © Oracle Corporation, 2001. Tous droits réservés.

Utiliser les conditions NULL

Recherchez des valeurs NULL avec l'opérateur IS NULL.

SELECT last_name, manager_idFROM employeesWHERE manager_id IS NULL;

Page 15: 2 Copyright © Oracle Corporation, 2001. Tous droits réservés. Limiter et trier des données

2-15 Copyright © Oracle Corporation, 2001. Tous droits réservés.

Conditions logiques

Opérateur

AND

OR

NOT

Signification

Renvoie TRUE si les deux conditions

sont vraies

Renvoie TRUE si l'une des conditions

est vraie

Renvoie la valeur TRUE si la condition qui suit l'opérateur est fausse

Page 16: 2 Copyright © Oracle Corporation, 2001. Tous droits réservés. Limiter et trier des données

2-16 Copyright © Oracle Corporation, 2001. Tous droits réservés.

Utiliser l'opérateur AND

L'opérateur AND exige que les deux conditions soient vraies.

SELECT employee_id, last_name, job_id, salaryFROM employeesWHERE salary >=10000AND job_id LIKE '%MAN%';

Page 17: 2 Copyright © Oracle Corporation, 2001. Tous droits réservés. Limiter et trier des données

2-17 Copyright © Oracle Corporation, 2001. Tous droits réservés.

Utiliser l'opérateur OR

L'opérateur OR exige que l'une des conditions soit vraie.L'opérateur OR exige que l'une des conditions soit vraie.

SELECT employee_id, last_name, job_id, salaryFROM employeesWHERE salary >= 10000OR job_id LIKE '%MAN%';

Page 18: 2 Copyright © Oracle Corporation, 2001. Tous droits réservés. Limiter et trier des données

2-18 Copyright © Oracle Corporation, 2001. Tous droits réservés.

SELECT last_name, job_idFROM employeesWHERE job_id NOT IN ('IT_PROG', 'ST_CLERK', 'SA_REP');

Utiliser l'opérateur NOT

Page 19: 2 Copyright © Oracle Corporation, 2001. Tous droits réservés. Limiter et trier des données

2-19 Copyright © Oracle Corporation, 2001. Tous droits réservés.

Règles de priorité

Les parenthèses permettent de modifier les règles de priorité.

Ordre d'évaluation Opérateur

1 Opérateurs arithmétiques

2 Opérateur de concaténation

3 Conditions de comparaison

4 IS [NOT] NULL, LIKE, [NOT] IN5 [NOT] BETWEEN6 Condition logique NOT

7 Condition logique AND

8 Condition logique OR

Page 20: 2 Copyright © Oracle Corporation, 2001. Tous droits réservés. Limiter et trier des données

2-20 Copyright © Oracle Corporation, 2001. Tous droits réservés.

SELECT last_name, job_id, salaryFROM employeesWHERE job_id = 'SA_REP'OR job_id = 'AD_PRES'AND salary > 15000;

Règles de priorité

Page 21: 2 Copyright © Oracle Corporation, 2001. Tous droits réservés. Limiter et trier des données

2-21 Copyright © Oracle Corporation, 2001. Tous droits réservés.

SELECT last_name, job_id, salaryFROM employeesWHERE (job_id = 'SA_REP'OR job_id = 'AD_PRES')AND salary > 15000;

Règles de priorité

Utilisez des parenthèses pour forcer la priorité.Utilisez des parenthèses pour forcer la priorité.

Page 22: 2 Copyright © Oracle Corporation, 2001. Tous droits réservés. Limiter et trier des données

2-22 Copyright © Oracle Corporation, 2001. Tous droits réservés.

SELECT last_name, job_id, department_id, hire_dateFROM employeesORDER BY hire_date ;

Clause ORDER BY

• Triez des lignes à l'aide de la clause ORDER BY.

– ASC : ordre croissant (par défaut)

– DESC : ordre décroissant

• La clause ORDER BY se place à la fin de l'instruction SELECT.

Page 23: 2 Copyright © Oracle Corporation, 2001. Tous droits réservés. Limiter et trier des données

2-23 Copyright © Oracle Corporation, 2001. Tous droits réservés.

Trier par ordre décroissant

SELECT last_name, job_id, department_id, hire_dateFROM employeesORDER BY hire_date DESC ;

Page 24: 2 Copyright © Oracle Corporation, 2001. Tous droits réservés. Limiter et trier des données

2-24 Copyright © Oracle Corporation, 2001. Tous droits réservés.

Trier par alias de colonne

SELECT employee_id, last_name, salary*12 annsalFROM employeesORDER BY annsal;

Page 25: 2 Copyright © Oracle Corporation, 2001. Tous droits réservés. Limiter et trier des données

2-25 Copyright © Oracle Corporation, 2001. Tous droits réservés.

• L'ordre des éléments de la liste ORDER BY donne l'ordre du tri.

• Vous pouvez effectuer un tri sur une colonne ne figurant pas dans la liste SELECT.

SELECT last_name, department_id, salaryFROM employeesORDER BY department_id, salary DESC;

Trier sur plusieurs colonnes

Page 26: 2 Copyright © Oracle Corporation, 2001. Tous droits réservés. Limiter et trier des données

2-26 Copyright © Oracle Corporation, 2001. Tous droits réservés.

Synthèse

SELECT *|{[DISTINCT] column|expression [alias],...}FROM table[WHERE condition(s)][ORDER BY {column, expr, alias} [ASC|DESC]];

Ce chapitre vous à permis d'apprendre à :

• utiliser la clause WHERE pour limiter le nombre de lignes de résultat

– utiliser les conditions de comparaison

– utiliser les conditions BETWEEN, IN, LIKE et NULL

– appliquer les opérateurs logiques AND, OR et NOT

• utiliser la clause ORDER BY pour trier les lignes de résultat

Page 27: 2 Copyright © Oracle Corporation, 2001. Tous droits réservés. Limiter et trier des données

2-27 Copyright © Oracle Corporation, 2001. Tous droits réservés.

Présentation de l'exercice 2

Dans cet exercice, vous allez :

• sélectionner des données et modifier l'ordre d'affichage des lignes,

• limiter le nombre de lignes à l'aide de la clause WHERE,

• trier des lignes à l'aide de la clause ORDER BY.

Page 28: 2 Copyright © Oracle Corporation, 2001. Tous droits réservés. Limiter et trier des données

2-28 Copyright © Oracle Corporation, 2001. Tous droits réservés.