La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

2 Syntaxe: nom_fonction (arg1, arg2, …) Exemple : SUBSTR(nom, 1,4) Ceci retourne les 4 premier caractères Frederic Fred Une fonction peut être utilisée.

Présentations similaires


Présentation au sujet: "2 Syntaxe: nom_fonction (arg1, arg2, …) Exemple : SUBSTR(nom, 1,4) Ceci retourne les 4 premier caractères Frederic Fred Une fonction peut être utilisée."— Transcription de la présentation:

1

2 2 Syntaxe: nom_fonction (arg1, arg2, …) Exemple : SUBSTR(nom, 1,4) Ceci retourne les 4 premier caractères Frederic Fred Une fonction peut être utilisée là où lon peut utiliser un nom de colonne SELECT nom FROM employe WHERE LENGTH(nom) = 6;

3 Il y a deux grands types de fonctions : Fonctions individuelles qui sappliquent à des données. Exemple : LENGTH(nomColonne) Fonctions de groupes basées sur des regroupements de lignes. Exemple: SUM(nomColonne) Selon le type de données, les fonctions individuelles sont subdivisées en: Fonctions numériques Fonction de caractères Retournant des nombres Retournant des caractères Fonction de dates Autres 3

4 C'est l'ensemble des fonctions qui traitent des chaînes de caractères. Il y en a une vingtaine. Exemples: CHR(n) retourne le caractère dont le code ASCII est n en décimal. SELECT CHR(75) FROM DUAL; Retourne le caractère K. Note : la table DUAL est une utilisée lors dune interrogation sans table. Ex: SELECT sysdate FROM DUAL; 4

5 5

6 V-6V-6

7 7

8 8

9 Produire la liste des commis avec leur salaire SELECT INITCAP(Nom) Employé, $ || LPAD(salaire,6, *) Salaire FROM employe WHERE LOWER(poste) = 'commis'; 9 EmployéSalaire Admin$**1100 Bertrand$***950 Parent$**1300 Rivest$***800

10 C'est l'ensemble des fonctions qui traitent des nombres Il y en a une vingtaine. Exemples: ABS (n) : retourne la valeur absolue de n. ROUND(n,m) : retourne la valeur de n arrondie à 10 -m position. Par défaut, arrondi à lunité (m=0) Valeur de m et correspondance: -1 : dizaine, -2 : centaine, -3 : milliers 1 : dixième, 2 : centième, 3 : millième Exemple: Produire la liste des employés avec leur salaire arrondi aux milliers de dollars. SELECT nom, ROUND ( salaire, -3 ) FROM employe; 10

11 11

12 Il s'agit d'un ensemble de fonctions qui permettent de convertir des données d'un type à un autre. Il y en a 9. Exemples: TO_CHAR( date, format ) converti une date en chaîne de caractères. TO_DATE( char, format ) converti une chaîne de caractères valides en date. 12

13 Dans les fonctions TO_CHAR et TO_DATE on peut utiliser 30 spécifications pour indiquer un format de date. Les principales spécifications sont: YYYY,YYY,YY ou Y spécifie l'année de la date avec 4,3,2 ou 1 chiffres. MM spécifie le numéro du mois MONTH spécifie le nom du mois MON spécifie les 3 premières lettres du nom du mois DAY spécifie le nom du jour DD spécifie le numéro de la journée dans le mois "texte" Le texte sera reproduit tel quel. Exemples: TO_CHAR ( date_embauche, 'DD/MM/YY' ) retourne : 16/03/93 TO_CHAR ( DATEMBAUCHE, 'DAY, "le" DD MONTH YYYY') retourne : mardi, le 16 mars

14 L'heure est une donnée qui fait partie de la date. Lors dune conversion automatique lheure nest pas affichée. Les spécifications à utiliser pour manipuler les heures sont: HH pour l'heure de 1 à 12, HH24 pour l'heure de 1 à 24, MI pour les minutes de 0 à 59, SS pour les secondes de 0 à 59. Exemples: TO_CHAR ( date, 'DD/MM/YY HH24:MI:SS ) Retourne, par exemple : 17/03/11 14:08:16 Linsertion dune date avec SYSDATE inclut lheure à laquelle sest fait lenregistrement. 14

15 C'est l'ensemble des fonctions qui traitent des dates. Il y en a une dizaine. Exemples: ADD_MONTHS (date, n) ajoute n mois à la date. LAST_DAY (date) retourne la date du dernier jour du mois de la 'date'. SELECT LAST_DAY(01/01/2011) FROM DUAL; Retourne le 31/01/

16 16

17 17

18 18

19

20 Fonctions qui retournent une seule valeur pour un ensemble de rangées. Fonction de groupes Fonction de lignes 20 SELECT SUM(salaire) FROM employe SELECT ROUND(salaire,-2) FROM employe

21 WHERE spécifie quelles rangées doivent être retenues. 21 SELECT SUM(salaire) FROM employe WHERE id_departement= 20;

22 Un SELECT ne peut retourner des résultats individuels et des résultats de fonction de groupes La requête suivante engendrera une erreur: SELECT nom, SUM(salaire) FROM employe; 22

23 AVG la moyenne COUNT le nombre de lignes MAX le maximum MIN le minimum SUM la somme 23

24 DISTINCT des valeurs identiques ne sont utilisées quun seul fois. ALL (par défaut) toutes les valeurs sont utilisées 24 ALL DISTINCT

25 Les fonctions de groupes ignorent les «NULL» sauf COUNT(*) COUNT(*) retourne le nombre de rangées. 25

26 GROUP BY permet de former des groupe de rangées Les fonctions de groupes retournent une valeur pour chaque groupe Pour avoir la somme des salaires, par département : SELECT SUM(salaire) FROM employe GROUP BY id_departement 26

27 Le critère de formation de groupes peut être utilisé dans un résultat de SELECT SELECT id_departement, SUM(salaire) FROM employe GROUP BY id_departement; 27 Dept 10Dept 20Dept

28 Pour avoir le nombre demployés par poste et par département: SELECT id_departement, poste, COUNT(*) FROM employe GROUP BY id_departement, poste 28

29 Si lon exécute linstruction suivante: SELECT AVG(salaire) FROM employe; Puisquil ny a pas de GROUP BY de spécifier, lensemble de référence sera tous les enregistrements de la table employe. 29

30 Permet de sélectionner les groupes 30 10,commis10,gestion20,commis 20,gestion

31 Obtenir le numéro du département la somme des salaires pour les départements dont la somme des salaires est > $9 000 SELECT id_departement, SUM(salaire) FROM employe GROUP BY id_departement HAVING SUM(salaire) > 9000; 31

32 WHERE permet de spécifier les rangées à considérer. HAVING permet de spécifier les groupes à considérer. 32

33 Obtenir la somme des salaires des employés (excluant les commis) pour les départements dont la somme des salaires (excluant les commis) est > $8,000. SELECT id_departement, SUM(salaire) FROM employe WHERE poste != commis GROUP BY id_departement HAVING SUM(salaire) > 8000; 33


Télécharger ppt "2 Syntaxe: nom_fonction (arg1, arg2, …) Exemple : SUBSTR(nom, 1,4) Ceci retourne les 4 premier caractères Frederic Fred Une fonction peut être utilisée."

Présentations similaires


Annonces Google