Téléphone Next Decision02.34.09.31.70

Contact Next Decisioncontact@nextdecision.fr

Youtube facebook twitter
Instagram viadeo linkedin

Les bonnes pratiques SQL

Next Decision vous liste quelques astuces et bonnes pratiques SQL.

Les bonnes pratiques du SQL

  • Toujours faire une requête simple. Quand ce n'est pas possible, complexifier progressivement !
  • Nommer les tables de façon logique
  • Ne pas hésiter à ouvrir son explorateur de SGBD pour vérifier ses requêtes

NB : Attention, les fonctions avancées varient en fonction des SGBD => GOOGLE IT !

Ordre pour faire une requête SQL

SELECT [DISTINCT ou ALL] : Liste des colonnes séparées par une virgule (Attention à l'orthographe ! )

FROM : Nom des tables sur lesquelles porte le SELECT

WHERE : Filtre portant sur les données (conditions validées = données affichées)

GROUP BY : Définition de regroupement pour les fonctions d'agrégat (SUM, MIN, MAX...)

HAVING : Conditions sur les regroupements des lignes par fonction d'agrégat

ORDER BY : Tri des données du résultat

SQL et les opérateurs de sélection

  • * : Récupère toutes les colonnes des tables dans la clause FROM
  • DISTINCT : Permet d'éliminer les lignes en doublon
  • AS : Crée un alias à une colonne pour la requête en cours

Conditions et restrictions SQL

Pour la clause WHERE, il existe plusieurs opérateurs :

  • = : Egalité
  • <, <= : Inférieur à, inférieur ou égal à
  • >, >= : supérieur à, supérieur ou égal à
  • !=, <>, ^= : différent de (à vérifier selon votre SGBD)
  • IN : Pour rechercher une chaîne de caractère précise
  • BETWEENAND… : Pour chercher une plage de données numériques (les bornes sont inclues)
  • LIKE : Permet de récupérer les données ressemblant au référentiel. Souvent utilisé avec le %
    • Exemple : WHERE Nom LIKE ‘B%’ va ramener les noms commençant par B
  • IS [NOT] TRUE, FALSE, UNKNOWN, NULL : Permet de faire des comparaisons logiques
  • OR, AND : Connecteurs logiques entre différentes conditions

SQL et les tris

  • La clause ORDER BY permet de trier les colonnes. Sans précision, ASC par défaut.
  • ASC spécifie l'ordre ascendant (de A à Z ou du plus petit au plus grand)
  • DESC spécifie l'ordre descendant (de Z à A ou du plus grand au plus petit)

Exemple : ORDER BY col1 ASC, col2 DESC, col3 ASC

Les jointures SQL

Les bonnes pratiques sql

Les bonnes pratiques sql

Les bonnes pratiques sql

Les sous requêtes SQL

Les bonnes pratiques sql

Pour aller plus loin...

Les bonnes pratiques sql

Astuce :

Les bonnes pratiques sql

Les fonctions SQL

Elles sont de plusieurs types et permettent de manipuler les données.

Quelques-unes sont standard, mais bien souvent elles sont spécifiques au SGBD.

SQL et les fonctions d'agrégats

Elles sont standard et seront accompagnées d'un GROUP BY.

  • SUM() : Pour calculer la somme sur un ensemble d'enregistrements
  • MAX() : Pour récupérer la valeur maximum d'une colonne sur un ensemble de lignes. Cela s'applique à la fois pour des données numériques ou alphanumériques.
  • MIN() : Pour récupérer la valeur minimum de la même manière que MAX()
  • AVG() : Pour calculer la moyenne sur un ensemble d'enregistrements
  • COUNT() : Pour compter le nombre d'enregistrements sur une table ou une colonne distincte

SQL et les fonctions texte

Il y a peu de fonctions standard.

  • UPPER() : Pour tout passer en majuscule
  • LOWER() : Pour tout passer en minuscule
  • TRIM() : Supprime les vides / blanc en début et fin de chaîne
  • LEFT(chaîne, longueur) : Pour créer une nouvelle chaîne de caractère de la longueur donnée en partant de la gauche de la chîne renseignée. Fonctionne de la même manière en partant de la droite avec RIGHT(chîne, longueur)
  • REPLACE(chaîne, à remplacer, remplacement) : Remplace des caractères dans une chaîne
  • CONCAT(chaîne1, chaîne2) : Concatène plusieurs chaînes pour n'en obtenir plus qu'une seule.
  • LENGTH() ou LEN() pour SQL Server : Permet de calculer la longueur d'une chaîne de caractères

SQL et les fonctions dates

Chaque SGBD a son système de gestion des dates.

Regarder sur le net est presque une obligation à ce niveau-là, donc Google it !

Une fonction particulière, le CASE WHEN : Permet d'utiliser des commandes de types "si... sinon..."

Exemple :

SELECT col1,

CASE     WHEN col2 = 1 THEN ’un‘

                WHEN col2 =2 THEN ‘deux’

                WHEN col2 =3 THEN ‘trois’

                ELSE ‘autre’

END

FROM table1

Les valeurs de la colonne col2 sont comparées aux différentes conditions et retournent les valeurs correspondantes. La clause ELSE est facultative.

Le CASE WHEN permet d'afficher des messages conditionnels ou de faire des comparaisons.

SQL et le langage de manipulation de données

INSERT : Permet d'ajouter des lignes dans une table existante. On peut rajouter des conditions au besoin avec la clause WHERE.

Exemple :

INSERT INTO table1 (col1,...)

VALUES (val1,...)

UPDATE : Permet de modifier les valeurs d'un ou plusieurs champs dans une ou plusieurs lignes d'une table. Le WHERE est facultatif mais si absent, toutes les lignes seront mises à jour.

Exemple :

UPDATE table1

SET col1 = exp1, col2 = exp2, …

WHERE condition

DELETE : Permet de supprimer des lignes dans une table

NB : si pas de WHERE, toutes les lignes seront supprimées !

Exemple :

DELETE FROM table1

WHERE condition

SQL et le langage de définition des données

CREATE : Permet de créer une table et ses colonnes avec ou sans contraintes

Exemple :

CREATE TABLE table1

(col1 type1 contraintes, col2 type2 contraintes, …)

Type : VARCHAR, INTEGER, FLOAT, DATE, BIT, …

Contraintes : [NOT] NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY, REFERENCES

ALTER : Permet de modifier une table en ajoutant (ADD, en modifiant 5MODIFY) ou en supprimant 5DROP) une colonne

Exemple :

ALTER TABLE table1

ADD (col1 type1, …) ou

MODIFY (col1 type1, …) ou

DROP COLOMN col1

NB : La colonne supprimée ne doit pas être référencée par une clé étrangère.

DROP : Permet de supprimer une table

NB : Si le commit est fait, pas de ROLLBACK disponible !

Exemple :

DROP TABLE table1

Dans PostgreSQL : rajouter CASCADE si la table que vous voulez supprimer est référencé par une clé ou une vue.

Retour au Wiki

Vous recherchez des consultants experts en SQL, bases de données et optimisation SQL?
Next Decision est là ! alors Contactez-nous !

Laissez-nous vos coordonnées et nous vous rappellerons sous 24 heures.

 

Les adresses
Next Decision