Mmento SQL
Ce mmento a t compos partir du livre de Philippe Mathieu : Bases de Donnes (De Merise JDBC) Documentation disponibles : S S S [Link] [Link] Et des milliers dautres
Obtention des donnes
SELECT <liste des noms de colonnes> FROM <liste des noms de tables> SELECT SELECT SELECT SELECT SELECT * FROM tab1 col1,col3 FROM tab1 DISTINCT col1 FROM tab1 nom AS "nom personne" FROM tab1 nom "nom personne" FROM tab1 (toutes les colonnes) (une partie des colonnes) (limine les doublons) (renommage des colonnes) (Oracle : mot cl AS facultatif)
Expression des restrictions
SELECT SELECT SELECT SELECT SELECT * * * * * FROM FROM FROM FROM FROM tab1 tab1 tab1 tab1 tab1 WHERE WHERE WHERE WHERE WHERE <condition(s)> ville IN ('Brest ','Rennes ','Paris ') age NOT BETWEEN 15 AND 20 travail IS NULL travail IS NOT NULL
> >= < <= = <> AND OR NOT % _ (soulignement)
(comparateur arithmtiques) (comparateur logique) (nimporte quelle squence de car.) (nimporte quel caractre)
Tri et prsentation des rsultats
SELECT * FROM tab1 ORDER BY col1 SELECT * FROM tab1 ORDER BY col5,col7 SELECT * FROM tab1 ORDER BY age ASC, sexe DESC (tri ascendant par dfaut) (tri par col5 puis tri par col7) (tri ascendant ou descendant)
Enst Bretagne
26/09/02
Enseignement
Dpartement IASC
Expression des jointures
SELECT * FROM tab1,tab2 (jointure sans qualification = produit cartsien) SELECT * FROM tab1,tab2 WHERE tab1.col1=tab2.col2 (jointure avec galit = quijointure) SELECT * FROM tab1 t1,tab2 t2,tab3 t3 WHERE t1.col1=t2.col2 AND t2.col2=t3.col3 (jointures en cascades)
Expression des manipulations de donnes
SELECT designation,prix*1.196 AS "P. TTC" FROM tab1 YEAR, MONTH, DATE SUBSTRING, UPPER, LOWER, CHARACTER_LENGTH
(date) (manipulation de chanes de car.)
Les fonctions statistiques
AVG COUNT MAX MIN SUM SELECT COUNT(*)FROM tab1 SELECT SUM(col1) FROM tab2 (moyenne) (nombre dlments) (maximum) (minimum) (somme)
Regroupements
SELECT * FROM tab1 GROUP BY col1
Sous-requtes SQL
SELECT SELECT SELECT SELECT * * * * FROM FROM FROM FROM tab1 tab1 tab1 tab1 WHERE WHERE WHERE WHERE prix > (SELECT MIN(prix) FROM tab2) nom NOT IN (SELECT nom FROM tab2) prix > ALL (SELECT prix FROM tab2) (sup. ttes les valeurs) prix > ANY (SELECT prix FROM tab2) (sup. au moins 1)
Oprateurs ensemblistes
Sintercalent entre deux slections
UNION INTERSECT EXCEPT
Enst Bretagne
26/09/02
Enseignement
Dpartement Informatique
Insertions
INSERT INTO tab1 VALUES ('abc',5,7) INSERT INTO tab1(col1,col7) VALUES ('abc',7) (toutes les valeurs doivent tre renseignes) (on ne renseigne que les colonnes indiques, les cols non prcises sont mises NULL)
INSERT INTO tab1 SELECT * FROM tab2
Mises jour
UPDATE tab1 SET col7='abc' WHERE col1=1
Suppressions
DELETE FROM tab1 WHERE col1=1 DELETE FROM tab1 WHERE col1 IN (SELECT no FROM tab2) DELETE FROM tab1 (vide compltement la table)
Enst Bretagne
26/09/02