Retour à la liste des articles Articles
8 minutes de lecture

Termes SQL que les débutants doivent connaître - Partie 4

Voici une nouvelle série de termes SQL à connaître absolument. Dans les deux premières parties, nous avons abordé les tables, les bases de données relationnelles, les requêtes, les alias, Les jointures en SQL, les clés primaires et les sous-requêtes. La dernière fois, nous sommes passés à des termes plus avancés comme INSERT INTO, GROUP BY et HAVING. Êtes-vous prêt à plonger plus profondément dans la terminologie SQL ?

Voici le quatrième volet de notre série sur les termes SQL de base pour les débutants (et tous les autres). Ne vous inquiétez pas si vous avez manqué les articles précédents ; vous pouvez trouver la partie 1 (termes SQL essentiels), la partie 2 et la partie 3 sur notre blog.

N'hésitez pas à revenir aux articles précédents, même si vous les avez déjà lus. Plus vous répéterez ces informations, mieux vous les retiendrez. Alors, apprenons d'autres termes SQL que vous devez connaître.

Encore plus de termes SQL pour les débutants !

CASE

L'instruction CASE passe par plusieurs conditions et renvoie une valeur lorsque la première condition est remplie. Lorsque la condition est vraie, CASE renvoie le résultat et s'arrête. Si aucune condition n'est vraie, l'instruction renvoie la valeur de la clause ELSE. S'il n'y a pas de clause ELSE et qu'aucune condition n'est vraie, elle renvoie NULL.

CASE peut être utilisée dans les instructions SELECT avec les clauses WHERE, ORDER BY et GROUP BY . Elle fonctionne également avec l'instruction INSERT.

L'instruction case en SQL peut être utilisée de deux manières : en affectant un résultat à une valeur ou en calculant un résultat à partir d'expressions logiques. Vous pouvez en savoir plus à ce sujet dans notre article sur l'utilisation de CASE avec la fonction SUM().

Clauses CTE / WITH

CTE est l'abréviation de Common Table Expression ; on l'appelle également clause WITH ou clause WITH nommée. La raison en est que le mot-clé WITH lance toutes les CTE.

Les CTE ont été introduits pour la première fois dans SQL:1999 et ont été adoptés dans SQL Server en 2005. Le principal et le meilleur atout des CTE est qu'ils simplifient et clarifient les requêtes complexes.

Lorsque vous apprendrez à utiliser les CTE, vous les préférerez la plupart du temps aux sous-requêtes. Pourquoi ? Parce que les CTE rendent vos requêtes plus lisibles en les divisant en blocs plus petits.

Avec un CTE, vous définissez un ensemble de résultats temporaire nommé. Il est temporaire car il n'est pas stocké de façon permanente. Il existe et est disponible lors de l'exécution des instructions SELECT, INSERT, UPDATE, DELETE ou MERGE; une fois l'instruction exécutée, le CTE est supprimé.

Voici quelques règles de base pour les CTE :

  • Commencez par l'opérateur WITH.
  • Spécifiez le nom que vous utiliserez pour le CTE. Vous pouvez également spécifier les noms des colonnes, séparés par des virgules.
  • Après le nom de l'expression, mettez l'AS
  • Rédigez la requête qui produira l'ensemble de résultats souhaité.

La syntaxe de base de la clause WITH ressemble à ceci :

WITH subquery1_name AS
(SELECT … subquery1...),
subquery2_name AS
(SELECT … subquery2...)
SELECT … main query ... 

Comme vous le voyez dans l'exemple de syntaxe, vous pouvez avoir plusieurs CTE dans une requête. Et ces CTE peuvent se référer à eux-mêmes ou à un autre CTE dans la requête.

Les CTE peuvent être récursifs ou non récursifs. Les CTE récursifs sont plus avancés et nécessitent l'ajout du mot-clé RECURSIVE. Ils vous permettent de traverser des structures hiérarchiques telles que des nomenclatures ou des organigrammes.

Il existe de nombreuses façons d'utiliser les CTE. Vous pouvez les vérifier dans notre guide. Vous pouvez également voir quelques exemples pratiques et en savoir plus sur les raisons pour lesquelles la clause WITH vaut la peine d'être utilisée.

DISTINCT

Même si vous êtes un débutant absolu en SQL, vous êtes probablement familier avec les données dupliquées. Cela se produit parce que les requêtes SQL affichent toutes les lignes retournées dans le jeu de résultats, même si elles sont identiques. Heureusement, le mot-clé DISTINCT est là pour nettoyer les choses en supprimant toutes les valeurs en double de votre résultat.

DISTINCT fonctionne avec SELECT et doit apparaître avant les colonnes spécifiées. Cela ressemble à ceci :

SELECT DISTINCT
  column_1,
  column_2,
  …,
  column_n
FROM table_name

Vous pouvez utiliser DISTINCT avec une ou plusieurs colonnes. Mais n'oubliez pas que SQL DISTINCT recherchera davantage une ligne distincte qu'une colonne distincte.

Ceci n'est qu'une partie des possibilités qu'offre DISTINCT. Si vous voulez apprendre à gérer plusieurs colonnes, à utiliser des fonctions d'agrégation ou à utiliser DISTINCT avec GROUP BY, lisez cet article. Vous pouvez également approfondir vos connaissances grâce à notre parcours d'apprentissage SQL complet de A à Z.

IDE

IDE signifie environnement de développement intégré. Vous savez déjà que vous avez besoin d'un environnement dans lequel vous pouvez écrire vos requêtes SQL. Bien sûr, vous pouvez commencer par utiliser la ligne de commande, mais vous aurez bientôt besoin de plus que cela.

Un IDE combine un éditeur de code, un débogueur, une certaine automatisation et, en gros, tout ce dont vous avez besoin pour travailler confortablement avec de grandes bases de données. Vous avez peut-être entendu parler d'Oracle SQL Developer, de My SQL Workbench ou de DBeaver ? Ce sont tous des IDE.

Si vous n'êtes pas sûr de l'IDE SQL qui vous conviendrait, consultez notre liste des meilleurs IDE de 2021.

INTERSECT

Il s'agit de l'un des opérateurs d'ensemble de SQL. Avec INTERSECT, vous pouvez combiner deux SELECT deux instructions. En retour, vous obtiendrez les lignes qui sont communes aux deux instructionsSELECT. INTERSECT crée une intersection des instructions sélectionnées.

Jetez un coup d'œil à la syntaxe de base de INTERSECT:

SELECT column_1 [, column_2, …, column_n]
FROM table_1 [, table_2, …, table_n]
[WHERE condition]
 
INTERSECT
 
SELECT column_1 [, column_2, …, column_n]
FROM table_1 [, table_2, …, table_n]
[WHERE condition]

Lorsque vous voulez utiliser INTERSECT, il y a quelques choses à retenir. Lorsque vous écrivez les requêtes SELECT, le nombre et l'ordre des colonnes doivent être les mêmes. De même, les types de données des colonnes doivent être les mêmes ou au moins être compatibles.

Vous pouvez en savoir plus sur l'INTERSECT ici.

UNION

Vous avez déjà rencontré INTERSECT. Il est maintenant temps de passer à un autre opérateur d'ensemble de base : UNION. Cet opérateur est également utile lorsque vous souhaitez comparer deux ou plusieurs tableaux. La différence est que les instructions UNION ne renvoient que des valeurs uniques.

Par exemple, supposons que vous ayez deux tables contenant les films préférés de deux personnes. Avec UNION, vous pouvez fusionner ces tables et obtenir un résultat qui ne contient pas de doublons. (Mais si vous voulez savoir si ces personnes aiment les mêmes films, vous devrez utiliser INTERSECT).

Vue

Une vue est une instruction SQL qui est nommée et stockée dans la base de données. En d'autres termes, cela revient à stocker une requête prédéfinie ; une vue stocke la requête elle-même, et non son résultat. Pour en savoir plus sur les vues SQL, consultez cet article.

Vous pouvez créer une vue à partir d'une ou plusieurs tables. Elle peut contenir des lignes sélectionnées dans une table ou dans toutes les tables. La façon dont la vue structure les données est vraiment claire et intuitive. Vous obtenez des données résumées, ce qui peut être très utile, par exemple pour générer des rapports.

Pour les débutants, les vues et les CTE semblent assez similaires. Si vous voulez savoir quand utiliser l'une ou l'autre, consultez cet article sur la différence entre les CTE et les vues en SQL.

WHERE

WHERE est l'une des clauses les plus importantes de SQL. Elle est presque aussi courante que SELECT.

WHERE Elle décrit essentiellement ce que vous recherchez dans votre requête. Vous pouvez l'utiliser avec des nombres ou du texte pour renvoyer une valeur ou une plage de valeurs. WHERE peut également être utilisée avec DELETE pour supprimer certaines données ou avec UPDATE pour modifier un enregistrement.

Voici comment se présente WHERE avec des chiffres :

SELECT *
FROM table
WHERE id = 2021

Et voici WHERE avec du texte :

SELECT * 
FROM best_sailors 
WHERE FirstName = 'Yannick' AND LastName = 'Bestaven'

WHERE, comme vous pouvez le constater, est un outil très puissant. Il vous offre de nombreuses options lorsque vous travaillez avec des données.

Fonctions de fenêtrage

Les fonctions de fenêtre sont un autre outil formidable pour ceux qui veulent affiner leurs compétences en SQL. Ces fonctions effectuent des calculs sur un ensemble de lignes qui sont liées à la ligne actuelle. La "fenêtre" dans la fonction fenêtre est due au fait que cet ensemble de lignes est appelé "fenêtre" ou "cadre de fenêtre".

Les fonctions de fenêtre vous permettent d'effectuer des analyses statistiques, par exemple en classant les données en fonction du nombre de ventes, en calculant des totaux de revenus courants ou en utilisant des moyennes mobiles pour analyser les performances des magasins. Elles sont précieuses lorsque vous souhaitez comparer des données dans le temps et suivre des tendances.

En gros, les fonctions de fenêtre vous aident dans tout ce qui est important dans l'analyse d'entreprise. Si vous voulez voir quelques exemples pratiques simples, consultez notre article sur l' utilisation des fonctions de fenêtre. Si vous savez que vous aurez besoin des fonctions de fenêtre, voici un excellent cours interactif. Fonctions de fenêtrage interactif.

Lire, répéter, se souvenir

Bravo, vous venez d'élargir votre connaissance des termes SQL ! Mais vous n'avez pas fini. Rappelez-vous : plus vous lisez, répétez et apprenez, plus vite vous serez à l'aise pour discuter (et utiliser) SQL.

Pour améliorer vos compétences en SQL, essayez les cours en ligne de LearnSQL et consultez régulièrement notre blog. Et n'oubliez pas de vous inscrire à notre newsletter pour rester informé des nouveaux articles et des promotions !

Y a-t-il des instructions ou des termes SQL que vous aimeriez voir dans ces articles ? Dites-le nous dans les commentaires. Ils pourraient figurer dans notre prochain tour d'horizon des termes SQL pour les débutants. Restez à l'écoute !