Vous êtes sur la page 1sur 6

Fichercapitulative:langageSQL

Fichercapitulative:langageSQL
Sources: http://sqlpro.developpez.com/cours/sqlaz/dml/ http://sqlpro.developpez.com/cours/sqlaz/select/

Informationsdiverses
DocumentationPostgresql http://www.postgresql.org/docs/8.1 Connexionlabasededonnes ssh blneige psql h blneige U login base_de_donnes Excuterlecontenudunfichier \i chemin_daccs_au_fichier Listerlestablescres \d Listerleschampsdunetable \d nom_table Afficherlecontenudunetable(remarque:cestunerequte!) SELECT * FROM ma_table;

Insrerdesdonnes

La syntaxe de base de l'ordre SQL d'insertion de donnes dans une table est la suivante : INSERT [INTO] nom_de_la_table_cible [(liste_des_colonnes_vises)] {VALUES (liste_des_valeurs) | requte_select | DEFAULT VALUES } ;

Rcuprerdesdonnes
1. LacommandeSELECT
Le SELECT est la commande de base du SQL destine extraire des donnes dune base ou calculer de nouvelles donnes partir dexistantes... Voici la syntaxe gnrale d'une commande SELECT : SELECT [DISTINCT ou ALL] * ou liste de colonnes FROM nom de table ou de la vue [WHERE prdicats] [GROUP BY ordre des groupes] [HAVING condition] [ORDER BY] liste de colonnes ; NOTE : dans cette syntaxe, les mots clef du SQL sont en gras, les paramtres en minuscule et entre crochets on trouve les parties optionnelles

Fichercapitulative:langageSQL

En fait l'ordre SQL SELECT est compos de 6 clauses dont 4 sont optionnelles. Clauses de l'ordre SELECT : SELECT FROM WHERE GROUP BY HAVING ORDER BY Spcification des colonnes du rsultat Spcification des tables sur lesquelles porte l'ordre Filtre portant sur les donnes (conditions remplir pour que les lignes soient prsentes dans le rsultat) Dfinition d'un groupe (sous ensemble) Filtre portant sur les rsultats (conditions de regroupement des lignes) Tri des donnes du rsultat

1.1.

Loprateur*

Le caractre * (toile) rcupre toutes les colonnes de la table prcise dans la clause FROM de la requte.

1.2.

LoprateurDISTINCT(ouALL)

Lorsque le moteur construit la rponse, il rapatrie toutes les lignes correspondantes, gnralement dans lordre ou il les trouve, mme si ces dernires sont en double, c'est dire qu'il rcupre toutes les lignes (ALL par dfaut). Cest pourquoi il est souvent ncessaire dutiliser le mot clef DISTINCT qui permet dliminer les doublons dans la rponse.

1.3.

LoprateurAS

Vous pouvez rajouter autant de colonnes que vous le dsirez en utilisant le mot clef AS. En principe loprateur AS sert donner un nom de nouvelles colonnes cres par la requte.

1.4.

Loprateurdeconcatnation

L'oprateur || (double barre verticale) permet de concatner des champs de type caractres.

1.5.

Oprateursmathmatiquesdebase

On, peut utiliser les oprateurs mathmatiques de base pour combiner diffrentes colonnes (,+,-, *, /,).

1.6.

ParticularitduFROM

Il est possible de surnommer une table dans la clause FROM, dans ce cas, la syntaxe de la partie FROM de la commande SELECT est la suivante : FROM nom_de_table ou nom_de_la_vue surnom

2. LaclauseORDERBY
ORDER BY colonne1 | 1 [ASC ou DESC] [, colonne2 | 2 [ASC ou DESC] ...]

Fichercapitulative:langageSQL
Cette clause permet de dfinir le tri des colonnes de la rponse, soit en prcisant le nom littral de la colonne, soit en prcisant son n d'ordre dans l'numration qui suit le mot clef SELECT. ASC spcifie lordre ascendant et DESC lordre descendant du tri. ASC ou DESC peut tre omis, dans ce cas c'est l'ordre ascendant qui est utilis par dfaut.

3. LaclauseWHERE
WHERE prdicats

Le prdicat doit contenir nimporte quelle expression logique renvoyant une valeur vraie.

3.1.

Oprateursdecomparaison

Dans la clause WHERE, vous disposez de diffrents oprateurs de comparaisons logiques: WHERE valeur1 [NOT et] = ou < ou <= ou > ou >= ou <>valeur2 [OR ou AND ...]

3.2.

OprateurIN

L'oprateur IN permet de rechercher si une valeur se trouve dans un ensemble donn, quel que soit le type des valeurs de rfrence spcifies (alpha, numrique, date). Bien entendu, il est possible dinverser le fonctionnement de loprateur IN en lui adjoignant loprateur NOT. SELECT FROM WHERE TIT_CODE, CLI_NOM, CLI_PRENOM T_CLIENT TIT_CODE IN ('Mme.', 'Melle.') ;

Le contenu de la parenthse peut tre remplac par le rsultat d'une requte possdant une colonne unique. Dans ce cas on parle de requtes imbriques.

3.3.

OprateurBETWEEN

L'oprateur BETWEEN permet de rechercher si une valeur se trouve dans un intervalle donn, quel que soit le type des valeurs de rfrence spcifies (alpha, numrique, date...). SELECT FROM WHERE CLI_NOM, CLI_PRENOM T_CLIENT CLI_NOM BETWEEN 'A' AND 'E' ;

3.4.

OprateurLIKE

L'oprateur LIKE permet deffectuer une comparaison partielle. Il est surtout employ avec les colonnes contenant des donnes de type alpha. Il utilise les jokers % et _ (pour cent et blanc soulign). Le joker % remplace n'importe quelle chane de caractres, y compris la chane vide. Le blanc soulign remplace un et un seul caractre. SELECT FROM WHERE CLI_NOM, CLI_PRENOM T_CLIENT CLI_NOM LIKE 'B%' ;

On recherche les clients dont le nom commence par B Mais si vos donnes sont susceptibles de contenir un des deux caractres joker, alors il faut recourir une squence dchappement, laide du mot clef ESCAPE.

Fichercapitulative:langageSQL

4. Fonctionsdiverses
4.1.
TranstypagelaidedelafonctionCAST
Il permet de changer le type de donnes d'une colonne afin deffectuer une comparaison de donnes de type htrogne par exemple entre un champ contenant des donnes numriques et un champ contenant des donnes de type chane de caractres. Sa syntaxe est CAST(colonne AS nouveau type).

4.2.

Miseenmajuscule/minuscule

Les oprateurs LOWER et UPPER permettent de mettre en majuscule ou en minuscule des chanes de caractres dans les requtes. SELECT upper(CLI_PRENOM), lower(CLI_NOM) FROM T_CLIENT ;

4.3.

Supprimerlesblancs(outoutautrecaractre)

La fonction TRIM permet de supprimer en tte ou en queue (ou les deux) le blanc ou tout autre caractre spcifi. TRIM ([LEADING ou TRAILING ou BOTH] [caractre] FROM nom de colonne)

LEADING : suppression en tte TRAILING : suppression en queue BOTH : suppression en tte et en queue

4.4.

Extraireunesouschane

La fonction SUBSTRING permet dextraire une sous chane dune chane de caractre. Elle a besoin de lordre du premier caractre et du nombre de caractres sur lequel elle doit oprer. SUBSTRING (nom de colonne FROM n TO m) Extrait la sous chane de nom de colonne en commenant n sur m caractres. SELECT CLI_NOM, CLI_PRENOM, SUBSTRING(CLI_PRENOM FROM 1 FOR 1) || SUBSTRING(CLI_NOM FROM 1 FOR 1) AS INITIALES T_CLIENT ;

FROM

4.5.

Oprateurdetraitementdesdates
EXTRACT(YEARouMONTHouDAYFROMnomdecolonne)

Loprateur EXTRACT permet dextraire depuis une date, le jour le mois ou lanne.

Lheure courante, la date courante et le combin date/heure courant peuvent tre obtenu laide des fonctions CURRENT_DATE, CURRENT_TIME et CURRENT_TIMESTAMP.

4.6.

Oprateurstatistiques

Il est possible de raliser des comptages statistiques sur les colonnes, l'aide des oprateurs AVG (moyenne), MAX (maximum), MIN (minimum), SUM (total), COUNT (nombre). On les appelle aussi fonctions d'aggrgations.

Fichercapitulative:langageSQL
SELECT AVG(TRF_CHB_PRIX) as MOYENNE, MAX(TRF_CHB_PRIX) as MAXI, MIN(TRF_CHB_PRIX) as MINI, SUM(TRF_CHB_PRIX) as TOTAL, COUNT(TRF_CHB_PRIX) as NOMBRE FROM TJ_TRF_CHB WHERE TRF_DATE_DEBUT = '2001-01-01' ;

4.7.

Autresfonctionsnormalises
Taille d'une colonne de type BIT ou BIT VARYING (nombre de bits) Taille d'une colonne de type caractre (nombre de caractres) Taille d'une colonne de type caractre (nombre d'octets) Date en cours Heure en cours Conversion paramtre d'une chane de caractres Position d'une chane de caractres dans une sous chane Traduction d'une chane de caractres dans un format spcifi

BIT_LENGTH CHAR_LENGTH OCTET_LENGTH CURRENT_DATE CURRENT_TIME CONVERT POSITION TRANSLATE

CURRENT_TIMESTAMP Date et heure en cours

4.8.

Autresoprateursmathmatiques(nonnormaliss)
ABS MOD SIGN SQRT CEIL valeur absolue modulo signe racine carre plus petit entier

FLOOR plus grand entier ROUND arrondi TRUNC tronqu EXP LN LOG COS COSH SIN SINH TAN TANH PI exponentielle logarithme nprien logarithme dcimal cosinus cosinus hyperbolique sinus sinus hyperbolique tangente tangente hyperbolique constante Pi

POWER puissance

4.9.

Autresoprateursdetraitementdeschanesdecaractres(non normaliss)
concatnation : quivalent du || - Nota : utiliser de prfrence || plus standard. Le + entre colonne alphanumrique peut aussi souvent tre utilis comme oprateur de concatnation, prfrez de toutes faons || initiales en lettres capitales complment ou troncature n position gauche suppression en tte/queue dune chane

CONCAT INITCAP LPAD LTRIM /

Fichercapitulative:langageSQL
RTRIM REPLACE RPAD SOUNDEX INSTR LENGTH TO_CHAR ASCII CHR REVERSE FLIP remplacement complment ou troncature n position droite code de consonance Attention : phontique souvent anglaise Position dune chane dans une sous chane longueur de la chane numrique sous forme littrale Attention : souvent en anglais code ASCII d'un caractre caractre dont le code ASCII est donn Inverse l'ordre des caractres d'une chine Pivote les parties droite et gauche d'une chane par rapport au n du caractre servant de pivot.

4.10. Autresoprateurssurlesvaleurstemporelles(nonnormaliss)
ADD_MONTH, ADD_DAY, ajoute des mois, des jours des annes une date ADD_YEAR ... LAST_DAY MONTH_BETWEEN NEXT_DAY TO_CHAR DATE_DIFF renvoie le n du dernier jour dun mois dune date nombre de mois entre deux dates date du prochain jour dun nom donn date sous forme littrale Attention : souvent en anglais diffrence entre deux dates

4.11. Oprateursdensemble(nonnormaliss)
GREATEST la plus grande des valeurs dun ensemble LEAST DECODE la plus petite des valeurs dun ensemble renvoi la valeur situ en n-ime position