tuto SQL

SQL Tuto : Top 5 des méthodes les plus utiles

Alban T

Alban T

4 min

Le SQL ou “Structured Query Language” est un langage de programmation aujourd’hui quasiment indispensable pour gérer des bases de données. (Pour retrouver la fiche mémo SQL, cliquez ici)  Dans un monde où la donnée est une ressource à part entière, on comprend aisément pourquoi savoir utiliser ce langage est une compétence très recherchée. 

Dans cet article, nous allons vous présenter très succinctement le fonctionnement de ce langage. Puis les 5 méthodes qu’il faut connaître pour bien débuter en SQL. En route pour ce Tuto SQL !

Fonctionnement de SQL

Le principal avantage de SQL, et qui explique probablement son succès, est la simplicité de sa syntaxe. Là où beaucoup de langages s’encombrent d’une indentation stricte, d’un vocabulaire spécialisé et de longues lignes de code, SQL présente des méthodes qui tiennent sur une ligne, et qui s’approche du langage courant. 

Par exemple : SELECT Name FROM Clients  

Signifie littéralement “Sélectionner noms provenant de clients”. 

Le langage SQL

 est basé sur le système de tables relationnelles. Pour simplifier, on peut se représenter les tables comme de grands tableaux. Quant aux relations entre deux tables, il s’agit de points communs entre 2 colonnes de 2 tables différentes. 

Par exemple, le gérant d’une médiathèque stocke des informations concernant ses clients et ses livres dans des tables relationnelles. 

Ainsi, il utilise une table “Clients” qui contient pour chaque client son identifiant, son prénom, son nom, son adresse, et la date de sa dernière souscription à la médiathèque.

Dans cette table, 2 lignes peuvent posséder le même nom, le même prénom ou la même date de souscription. En revanche, l’identifiant a été choisi pour être unique. On appelle cette colonne la clé primaire de “clients”.

tuto sql

Les clés primaires sont essentielles puisqu’elles permettent de distinguer les lignes entre elles.

Nous pourrons par exemple utiliser cette clé pour suivre les actions des différents clients sans les confondre. 

Le gérant utilise aussi une table “Emprunts” qui contient cette fois pour chaque emprunt en cours l’identifiant de l’emprunt et du client, le titre du livre, l’auteur et le nombre de jours qui se sont écoulés depuis la date l’emprunt.

tuto sql

On se rend alors compte que les identifiants des clients sont présents à la fois dans la table “Clients” et dans la base “Emprunts”. A ce titre, on peut dire que ces deux tables entretiennent une relation

Il nous est donc possible d’effectuer des requêtes SQL pour tirer des informations provenant de l’une, l’autre ou des deux tables à la fois

On pourrait par exemple imaginer que le gérant souhaite avoir le nom et le prénom de tous les clients qui ont emprunté un livre il y a plus de 3 semaines sans l’avoir rendu pour pouvoir leur envoyer un rappel. 

2) Les 5 méthodes les plus utiles

Maintenant que vous avez une idée du fonctionnement général de SQL, nous allons entrer dans le vif du sujet. 

Les lignes de code en SQL sont appelées des requêtes. Elles sont constituées de méthodes, qui sont des mots écrits en majuscule, ainsi que d’attributs, qui sont généralement des noms de tables ou de colonnes, écrits en minuscule.

A) CREATE TABLE

La première méthode que vous serez amené à utiliser est CREATE TABLE. En effet, il s’agit de la syntaxe permettant, comme son nom l’indique, de créer une table. 

Pour effectuer une telle opération, il faut tout d’abord préciser le nom de la table, ainsi que le nom et le type des colonnes que l’on souhaite lui attribuer.

B) SELECT … FROM ...

Il s’agit certainement de la méthode la plus utilisée. C’est celle qui nous permet de sélectionner une colonne à partir d’une table. 

Il faut préciser les colonnes que l’on souhaite sélectionner après “SELECT” et dans quel table chercher après “FROM”.

Par exemple, pour sélectionner la liste des prénoms et des noms de la table “Clients”, la syntaxe est :

SELECT Prénom, Nom FROM Clients

sql

A noter que l’on voit souvent * après SELECT. Ce symbole signifie “all” autrement dit, si l’on souhaite sélectionner intégralement la table “Clients” on écrira :

SELECT * FROM Clients

C) WHERE

Comme on a pu le voir, SELECT permet de sélectionner toutes les lignes d’une colonne.  WHERE permet de préciser quelles lignes on souhaite sélectionner ou non au sein de cette colonne. 

Ainsi, on utilise WHERE après un SELECT … FROM … en explicitant la condition qui fait que l’on sélectionne une ligne et pas une autre.

Par exemple, pour sélectionner la date de souscription des clients dont le nom est “Dupond” la syntaxe est :

SELECT Date_Souscription FROM Clients WHERE Nom = Dupond

sql

D) FULL JOIN … ON ...

Maintenant que nous savons comment sélectionner précisément les colonnes et les lignes d’une table, nous allons voir comment tirer des informations de deux tables à la fois.

Nous avons précédemment parlé du fait que les tables Clients et Emprunts entretenaient une relation car elles contiennent toutes les deux une colonne contenant les identifiants des clients. 

Il nous est donc possible de fusionner ces deux tables pour n’en avoir plus qu’une, intégrant toutes les informations des deux précédentes. 

Pour cela, il est possible d’utiliser la méthode FULL JOIN … ON …. Cette dernière s’utilise avec après un SELECT … FROM … On précise tout d’abord les deux tables à joindre, puis les colonnes qui entretiennent une relation.

Par exemple, pour sélectionner toutes les colonnes de la fusion entre Clients et Emprunts, la syntaxe est : 

SELECT * 

FROM  Clients FULL JOIN Emprunts 

ON Clients.Clients_id = Emprunts.Clients_id

sql

Nous appellerons cette nouvelle table Fusion par la suite.

Puisque les deux tables ont des noms de colonnes identiques, il est nécessaire de préciser le nom de la table avant le nom de la colonne. Par exemple  Clients.Clients_id représente la colonne Clients_id de la table Clients. 

On remarque aussi que certaines cases contiennent des “NaN” autrement dit des valeurs manquantes. En effet, Isabelle dupond n’a pas d’emprunts en cours.

Il existe d’autres types d’unions (LEFT UNION, RIGHT UNION, INNER JOIN) permettant de conserver ou non ce type de lignes qui peuvent être problématiques.

E) GROUP BY

Nous savons désormais comment fusionner plusieurs tables, mais il est parfois utile au contraire de réduire une table pour ne conserver que les informations essentielles. Par exemple, il peut-être préférable d’afficher une moyenne plutôt qu’un grand nombre de lignes pour des questions de lisibilités. 

GROUP BY s’utilise après un SELECT… FROM …. On précise alors le nom de la colonne sur laquelle on souhaite regrouper les données. Cependant, pour réaliser une opération comme une moyenne, une somme… Il est nécessaire de le préciser après le SELECT.

Par exemple, pour sélectionner le nombre de jour depuis la date de l’emprunt le plus ancien, pour chaque client de la médiathèque, la syntaxe est :

SELECT Clients_id, MAX(Durée) FROM Fusion GROUP BY Clients_id

sql

Nous en avons fini avec les 5 méthodes les plus utiles en SQL. Vous avez désormais les clés pour bien débuter en SQL. Si ce langage vous intéresse et que vous souhaitez, je vous invite à aller voir notre article traitant de l’histoire et des cas applications de ce langage 

DataScientist : Recrutement VS Formation

Pour la 5ème année consécutive, le métier de Data Scientist a été désigné comme le meilleur emploi aux USA par Glassdoor c’est aussi le métier qui connaît la croissance la plus rapide.

Lire plus »
Intelligence Artificielle et Société

Ethique ou Big Data

Comment faire prévaloir une question d’éthique en matière de données alors que la concurrence se veut mondiale ? Les européens doivent-ils se soumettre à une concurrence américaine et asiatique déloyale pour une question d’éthique ?

Lire plus »