Les fonctions.

Slides:



Advertisements
Présentations similaires
LES NOMBRES PREMIERS ET COMPOSÉS
Advertisements

[number 1-100].
Le moteur
1. Résumé 2 Présentation du créateur 3 Présentation du projet 4.
Académie de Créteil - B.C.
Manipulation des données dans SQL
A l’issue des conseils de classe de 3ème,
Qui a le nombre qui vient après 8 ?
Classe : …………… Nom : …………………………………… Date : ………………..
ACTIVITES Les fractions (10).
Est Ouest Sud 11 1 Nord 1 Individuel 20 joueurs 15 rondes - 30 étuis (arc-en-ciel) Laval Du Breuil Adstock, Québec I-20-15ACBLScore S0515 RondeNE
Est Ouest Sud 11 1 Nord 1 Laval Du Breuil, Adstock, Québec I-17-17ACBLScore S0417 Allez à 1 Est Allez à 4 Sud Allez à 3 Est Allez à 2 Ouest RndNE
Est Ouest Sud 11 1 Nord 1 RondeNE SO
Est Ouest Sud 11 1 Nord 1 Individuel 15 ou 16 joueurs 15 rondes - 30 étuis Laval Du Breuil Adstock, Québec I-16-15ACBLScore S0415 RndNE
Sud Ouest Est Nord Individuel 36 joueurs
Les Prepositions.
1. 2 Informations nécessaires à la création dun intervenant 1.Sa désignation –Son identité, ses coordonnées, son statut 2.Sa situation administrative.
Académie de Créteil - B.C.1. 2 Pour information : Une action est lexpression temporelle Une action est lexpression temporelle (date début et date finde.
Présentation de l’application « Livret personnel de compétences »
La diapo suivante pour faire des algorithmes (colorier les ampoules …à varier pour éviter le « copiage ») et dénombrer (Entoure dans la bande numérique.
Les requêtes La Requête est une méthode pour afficher les enregistrements qui répondent à des conditions spécifiques. La requête est donc un filtre.
LMD: Langage de Manipulation de Données
Développement d’applications web
CALENDRIER PLAYBOY 2020 Cliquez pour avancer.
Les verbes auxiliaires Avoir ou être ?? Choisissez! Cest un verbe Dr Mrs Vandertrampp? Cest un verbe réfléchi?
SUJET D’ENTRAINEMENT n°3
Regrouper les Données avec les Fonctions de Groupe
1 SERVICE PUBLIC DE LEMPLOI REGION ILE DE France Tableau de bord Juillet- Août 2007.
Traitements &Suppléments
LUNDI – MARDI – MERCREDI – JEUDI – VENDREDI – SAMEDI – DIMANCHE
SUJET D’ENTRAINEMENT n°2
2 Ils associent les rangées de 2 requêtes UNION [ALL] INTERSECT MINUS.
Fonctions Mono-Ligne.
SELECT {* | Expression [Alias] [,...] } FROM Table [WHERE Condition] [ORDER BY { Expression | Alias } [ ASC | DESC ] [NULLS FIRST | NULLS LAST ] [,...]
Académie de Créteil - B.C Quest-ce quune Inscription 1)1 action + 1 stagiaire + 1 client 2)Parcours individuel (avec son Prix de Vente) 3)Un financement.
SQL Partie 3 : (LID : Langage d'interrogation de données)
La Saint-Valentin Par Matt Maxwell.
Tournoi de Flyball Bouin-Plumoison 2008 Tournoi de Flyball
Notre calendrier français MARS 2014
Quelle heure est-il ??. THE TIME: OCLOCK IL EST HEURE IL EST + + HEURES etc.
C'est pour bientôt.....
Veuillez trouver ci-joint
SUJET D’ENTRAINEMENT n°4
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 SQL jointure PHILIPPE BANCQUART.
Limiter et trier des données
Fonctions monoligne.
Structures des données
LUNDI – MARDI – MERCREDI – JEUDI – VENDREDI – SAMEDI – DIMANCHE
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
SUJET D’ENTRAINEMENT n°1
Traitement de différentes préoccupations Le 28 octobre et 4 novembre 2010.
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
* Source : Étude sur la consommation de la Commission européenne, indicateur de GfK Anticipations.
10 paires -. 9 séries de 3 étuis ( n° 1 à 27 ) 9 positions à jouer 5 tables Réalisé par M..Chardon.
CALENDRIER-PLAYBOY 2020.
 CREATE TABLE  DROP TABLE  ALTER TABLE  INSERT  UPDATE  DELETE  SELECT interrogation 2 Instruction de mise à jour structure.
6 Nombres et Heures 20 vingt 30 trente 40 quarante.
01. Liste des noms de candidats avec leur date de naissance.
Les Chiffres Prêts?
Médiathèque de Chauffailles du 3 au 28 mars 2009.
Relevez le numéro de votre logo préféré et adressez-le à : En cas d’hésitation, vous pouvez choisir jusqu’à 3 logos. Seront pris.
Tolérance de parallélisme
Université de Sherbrooke
 C'est une fenêtre par laquelle les informations d'une table peuvent être visualisées et changées.  C'est une table virtuelle: ◦ elle n'existe pas ◦
DEFINITION DES DONNEES : schéma conceptuel. Schéma conceptuel instructiondescription CREATE TABLEcréation d'une relation ALTER TABLEmodification de la.
Sélection de colonnes (la projection)
1 Les bases de données Séance 6 L ’extraction de données Le SELECT.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 8 Support de cours rédigé par Bernard COFFIN Université.
Transcription de la présentation:

Les fonctions

Introduction Syntaxe: Exemple : SUBSTR(nom, 1,4) 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ù l’on peut utiliser un nom de colonne SELECT nom FROM employe WHERE LENGTH(nom) = 6;

Types de fonctions Il y a deux grands types de fonctions : Fonctions individuelles qui s’appliquent à 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

Fonctions caractères 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 d’une interrogation sans table. Ex: SELECT sysdate FROM DUAL;

Fonctions caractères retournant des caractères Valeur retournée CHR(n) Caractère équivalent à la valeur ASCII n. CONCAT(ch1,ch2) Concaténation de ch1 avec ch2. INITCAP(ch) La première lettre de ch est capitalisée. LOWER (ch) Transforme tous les caractères en minuscule. LPAD(ch1,n[,ch2]) Left padding ( L=left pour gauche) ch1 est précédé de k fois ch2 sur une longueur totale de n positions (k sera donc fonction de n, ch1 et ch2).

Fonctions caractères retournant des caractères LTRIM (ch,[,chaîne]) ( L=left pour gauche) La première lettre de ch est enlevée si elle existe dans la chaîne. Le procédé continue jusqu'à ce qu'on rencontre une lettre n'existant pas dans la chaîne. REPLACE(ch,ch1,ch2) Remplace toute occurrence de ch1 dans ch par ch2. RPAD(ch1,n[,ch2]) R=right pour droite ch1 est suivi de k fois ch2 sur une longueur totale de n positions (k sera donc fonction de n, ch1 et ch2). RTRIM (ch,[,chaîne]) (R=right pour droite) La dernière lettre de ch est enlevée si elle existe dans la chaîne. Le procédé continue jusqu'à ce qu'on rencontre une lettre n'existant pas dans la chaîne.

Fonctions caractères retournant des caractères SUBSTR(ch,m[,n]) Affiche n caractères de ch, commençant par le m ième caractère. TRANSLATE( ch,ancienne,nouvelle) Remplace toute occurrence de ancienne dans ch par nouvelle (sert à encoder des données) UPPER(ch) Tous les caractères de ch sont mis en majuscule.

Fonctions de caractères retournant des nombres Valeur retournée ASCII(ch) Valeur décimale du caractère. LENGTH(ch) Longueur de ch en caractères. INSTR(ch1,ch2¸[,n[,M]]) Position de la m ième occurrence de ch2 dans ch1, à partir du n iène caractère.

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

Fonctions numériques 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 à l’unité (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;

Fonctions numériques FONCTION n,m et x = nombre Valeur retournée ABS(n) Valeur absolue de n. CEIL(n) L’entier immédiatement supérieur ou égal à n. FLOOR(n) L’entier immédiatement inférieur ou égal à n. MOD(m,n) Le reste de la division de m par n (modulo). POWER(m,n) m à la puissance n. ROUND(n,[x]) n est arrondi au 10-x ième. Par défaut x=0 (arrondit à l'entier) SIGN(n) Le signe (+ ou -) de n. SQRT(n) La racine carrée de n, retourne NULL si n<0. TRUNC(n,[x]) n est tronqué au 10-x ième. Par défaut x=0 (tronque à l'entier)

Fonctions de conversions 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.

Formats de dates 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 1993

Traitement des heures L'heure est une donnée qui fait partie de la date. Lors d’une conversion automatique l’heure n’est 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 L’insertion d’une date avec SYSDATE inclut l’heure à laquelle s’est fait l’enregistrement.

Les fonctions de dates 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/2011’

Les fonctions de date Fonction Valeur retournée ADD_MONTHS date : une date Valeur retournée ADD_MONTHS (date, n_mois) Ajoute n mois à la date et retourne une date comme résultat. LAST_DAY (date) Dernier jour du mois de la ‘date’. NEXT_DAY (date,char) Calcule la date du premier jour de la semaine indiqué par char qui suit la date. Char doit correspondre à un jour de la semaine (exemple ‘lundi’). SYSDATE Date courante du système. ROUND (date,[,format]) La date est arrondie jusqu'à la précision spécifiée par format. TRUNC La date est tronquée à la précision spécifiée par format.

Les formats de précision utilisés avec ROUND et TRUNC Description CC,SCC Siècle YYYY,SYYYY YEAR, SYEAR, YYY, YY,Y Année Q Trimestre (Quart de l'année: de 1 à 4) Janvier à mars = 1 MONTH, MON, MM Mois (arrondi à partir du 16e jour) DDD, DD, J Jour DAY, DY, D Date du premier jour de la semaine (un dimanche)

Autres fonctions NVL(Colonne,n) La fonction NVL permet de remplacer une valeur nulle par une valeur donnée. Exemple: SELECT nom FROM employe WHERE salaire+ NVL(Comm,0)>100; SOUNDEX(ch) Le mot dont l’intonation ressemble à celle spécifiée. Exemple : WHERE SOUNDEX(nom) = SOUNDEX(‘bourie’); Retournera Bourry si présent dans la base de données car se prononce comme ‘bourie’

Les fonctions de groupes (Aggregate functions)

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

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

Uniformité de la sélection 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;

Les principales fonctions de groupes AVG la moyenne COUNT le nombre de lignes MAX le maximum MIN le minimum SUM la somme

DISTINCT et ALL DISTINCT ALL (par défaut) ALL DISTINCT des valeurs identiques ne sont utilisées qu’un seul fois. ALL (par défaut) toutes les valeurs sont utilisées ALL DISTINCT

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

GROUP BY 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

Valeur de groupe 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; Dept 10 Dept 20 Dept 30 8750 10875 9400

GROUP BY avec critères multiples Pour avoir le nombre d’employés par poste et par département: SELECT id_departement, poste, COUNT(*) FROM employe GROUP BY id_departement, poste

Fonction de groupe sans GROUP BY Si l’on exécute l’instruction suivante: SELECT AVG(salaire) FROM employe; Puisqu’il n’y a pas de GROUP BY de spécifier, l’ensemble de référence sera tous les enregistrements de la table employe.

HAVING Permet de sélectionner les groupes 10,commis 10,gestion

Exemple SELECT id_departement, SUM(salaire) FROM employe GROUP BY 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;

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

Exemple 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;