SQL : Structured Query Language
- accéder aux données de la base de données,
- langage adapté aux bases de données relationnelles,
- existe sur tous les SGBD relationnels (Oracle, Access,...),
- défini par une norme ISO,
- est utilisé dans les bases de données Oracles depuis 1979.
(...)
[...] Day, Month DD,YYYY HH24:MI:SS =>Friday, December 23:16:41 DD/MM/YYYY HH:MI:SS AM =>28/12/2001 11:16:41 AM Les formats de date et d'heure peuvent être utilisés en argument avec les fonctions de formattages 3.4 Les formats de date 3.4 les dates (formattage) La fonction to_char permet de convertir une date en chaîne de caractères suivants le format souhaité : exemple : select to_char(date_naiss, 'DD/MM/YYYY') from client 3.4 Les fonctions sur les dates Addition et soustraction : + et ROUND ( date, format ) retourne la date spécifiée selon le format fourni. ADD_MONTHS(date, nb_mois) ajoute un nombre de mois spécifié à une date. CURRENT_DATE retourne la date courante. CURRENT_TIME retourne l'heure courante. CURRENT_TIMESTAMP retourne la date et l'heure courantes. LAST_DAY ( date ) retourne une date qui représente le dernier jour du mois dans lequel la date s'est produite. [...]
[...] REPLACE (nom_colonne, valeur1, valeur2) remplace toutes les occurrences de la première valeur dans la colonne spécifiée par celles de la seconde valeur. UPPER (chaîne) convertit la chaîne de caractères en lettres majuscules. LOWER (chaîne) convertit la chaîne de caractères en lettres minuscules. LENGTH(chaîne) retourne la longueur de la chaîne de caractères. TO_CHAR(expression) convertit des valeurs numériques en chaînes de caractères Fonctions sur les chaînes INSTR(nom_colonne, jeu_caractères, position_départ, nb_occurrence) recherche le jeu de caractères dans une colonne et retourne la position de la première lettre du jeu de caractères. Pour SQL Server, il est possible d'utiliser CHARINDEX ou PATINDEX (voir MSDN). [...]
[...] Institut INTITULE IUT MLV IUT Villetaneuse num_ form Formation NOM LP ATC DUT SRC DUT TC Institut_formation SELECT count(*) as nb_forma FROM Institut_formation, GROUP BY nb_forma FONCTIONS de Calculs et Agrégats EXEMPLE 2 : recherche de toutes les personnes qui ont rédigées plus de 2 messages et dont l'age est supérieur à 20 ans MESSAGES ID INTITULE ID _ U S E R USERS ID NOM Jean Jacques Isidore AGE SELECT NOM FROM USERS, MESSAGES WHERE USERS.ID = MESSAGE.ID_USERS AND AGE > 20 GROUP BY NOM HAVING COUNT(*) > 2 NOM Jean Bonjour, à . reponse de . salut . re : . oui . [...]
[...] La largeur des colonnes est la plus grande parmi tous les SELECT. Dans une requête on ne peut trouver qu'un seul ORDER BY Les opérateurs ensemblistes Exemples : liste des employés et des clients SELECT nom, prenom FROM tbl_employe UNION SELECT nom, prenom FROM tbl_client Tbl_client Id nom Bur Jacques Mitch prénom Jean Yvette Jacqueline Tbl_employe nom Astanz Burtou Tres prenom Monique Silvianne Henri age nom Astanz Burtou Tres Bur Jacques Mitch Tbl_employe prenom Monique Silvianne Henri Jean Yvette Jacqueline 3.7 Les opérateurs ensemblistes Prévision de stock pour le 12/12/2002 SELECT num_produit, designation, quantite FROM tbl_stock MINUS SELECT num_produit, designation, quantite FROM tbl_commande WHERE date_cmd = #12/12/2002#; 4.1 Insertion, mise à jour, suppression Insertion d'enregistrements : Permet de créer de nouvelles lignes Les valeurs inconnues prennent la valeur NULL Syntaxe : INSERT INTO {Values } Exemples : INSERT INTO USERS NOM, AGE) VALUES JEAN, 33) INSERT INTO LIST_USERS SELECT NOM, MAIL FROM USERS, MESSAGE WHERE MESSAGE.ID USERS = PERSONNE.ID 4.1 Insertion, mise à jour, suppression La mise à jour permet de changer des valeurs d'attributs existants La commande UPDATE peut mettre à jour les données de manières différentes : La valeur d'une seule colonne en ne citant qu'une colonne associéé à sa nouvelle valeur. [...]
[...] Exemple p=3 permet de stocker jusqu'à 999 jours. INTERVAL YEAR(p) : nombre d'année INTERVAL YEAR(p) TO MONTH : nombre d'années et de mois INTERVAL DAY(p) : nombre de jours INTERVAL DAY(p) TO HOUR : nombre d'année et d'heure INTERVAL DAY(p1) TO SECOND(p2) : nombre d'année/minute/seconde p1 : précision en jours par défaut) , p2 : précision en heure/minutes/seconde par défaut) Exemples SELECT MONT_BETWEENS (date_cmd, date_liv) FROM commande nombres de mois entre la date de commande et la date de livraison équivalent : SELECT TRUNC(date_liv-date_cmd, SELECT id_cmd, date_cmd + INTERVAL DAY FROM commandes ajoute 7 jours à la date de commande 3.4 Exemples SELECT id_cmd, date_cmd + INTERVAL MONTH FROM commandes ajoute 7 jours à la date de commande SELECT SYSDATE + INTERVAL YEAR TO MONTH ajoute 12 ans et 3 mois au temps systèmes (heure du serveur de BDD) 3.5 Requêtes Multi-Table 3.5 Requêtes Multi-Tables Etablissement Type Typ# libellé Lycée Université Eta# Nom UMLV Jean Moulin Type Flora Tristan 1 Select Eta#, Nom, Libellé FROM Etablissement, Type Eta# Nom UMLV Flora Tristan Jean Moulin UMLV Flora Tristan Jean Moulin libellé Lycée Lycée Lycée Université Université Université Comportement par défaut : Produit cartésien Les Jointures Jointure naturelle (equi-jointure) : restriction du produit cartésien par un prédicat BETWEEN ) Jointure interne : met en jeu 2 fois la même table Jointure externe : ajout de lignes fictives lorsqu'il n‘existe pas de correspondance 3.5 La jointure naturelle (equi jointure) SELECT * FROM Etablissement, Type WHERE Etablissement.Type=Type.Typ# Eta# Etablissement UMLV Flora Tristan Jean Moulin NOM UMLV Flora Tristan Jean Moulin UMLV Flora Tristan Jean Moulin Type Typ# libellé Lycée Lycée Lycée Université Université Université Vérifient la jointure 1 ar t és ien Pr od ui tc Eta# Nom Type Type Typ# libellé Lycée Université jointure Eta# NOM Flora Tristan Jean Moulin UMLV Type Typ# libellé Lycée Lycée Université 3.5 La jointure naturelle Autre exemple : PRODUIT CARTESIEN + LIKE : recherche des personne ayant un nom similaire à la marque d'un véhicule SELECT NOM, MARQUE FROM PERSONNE, VEHICULE WHERE NOM LIKE MARQUE 3.5 Jointure externe JOINTURE GAUCHE / DROITE : permet dans un cas simple (deux tables), de récupérer : Jointure Gauche : l'intégralité de la table de gauche les enregistrements de la table de droite vérifiant la condition Syntaxe : SELECT col1, col2 FROM table1 [LEFT RIGHT] JOIN table2 ON table1.champ1 = table2.champ2; 3.5 Les Jointures Etablissement Eta# Nom UMLV Flora Tristan Jean Moulin Type 2 NULL Type Typ# 1 libellé Lycée Université Jointure gauche Jointure naturelle SELECT Eta#, Nom, libellé FROM Etablissement, Type WHERE Etablissement.type=Type.typ# SELECT Eta#, Nom, libellé from Etablissement left join Type on Etablissement.type=Type.Typ# Eta# Eta# Nom UMLV Jean Mouli Libellé Université Lycée Nom UMLV Flora Tristan Jean Moulin libellé Université Lycée 3.5 Les Jointures LES SOUS REQUETES : SQL permet l'imbrication de sous-question au niveau de la clause WHERE Syntaxe : . [...]
Source aux normes APA
Pour votre bibliographieLecture en ligne
avec notre liseuse dédiée !Contenu vérifié
par notre comité de lecture