Les fonctions SQL sont des routines prédéfinies qui effectuent des opérations spécifiques sur les données. Elles permettent de manipuler les données, de réaliser des calculs et de formater les résultats directement dans vos requêtes SQL. Les fonctions peuvent être utilisées dans différentes parties d'une requête, comme la clause SELECT pour transformer la sortie, ou la clause WHERE pour filtrer les données selon des valeurs calculées.
Les fonctions SQL sont similaires à celles des autres langages de programmation. Elles acceptent des valeurs en entrée (arguments), réalisent une opération spécifique et retournent un résultat. Les fonctions peuvent être intégrées (fournies par le système de base de données) ou définies par l'utilisateur (créées par les utilisateurs). Cette leçon se concentre sur les fonctions intégrées.
La syntaxe générale pour utiliser une fonction en SQL est :
NOM_FONCTION(argument1, argument2, ...);
NOM_FONCTION : le nom de la fonction à utiliser.argument1, argument2, ... : les valeurs d'entrée (arguments) requises par la fonction. Il peut s'agir de noms de colonnes, de valeurs littérales ou même d'autres fonctions.Les fonctions dans la clause SELECT permettent de transformer ou de calculer des valeurs pour l'affichage.
UPPER)La fonction UPPER() convertit une chaîne en majuscules.
SELECT UPPER(first_name) AS nom_majuscule
FROM employees;
Cette requête récupère la colonne first_name de la table employees et convertit chaque nom en majuscules, en nommant le résultat nom_majuscule.
ROUND)La fonction ROUND() arrondit un nombre à un certain nombre de décimales.
SELECT ROUND(salary, 0) AS salaire_arrondi
FROM employees;
Cette requête récupère la colonne salary de la table employees et arrondit chaque salaire à l'entier le plus proche, en nommant le résultat salaire_arrondi.
NOW)La fonction NOW() n'a pas d'arguments et retourne la date et l'heure actuelles.
SELECT NOW() AS date_heure_actuelle;
Cette requête retourne la date et l'heure actuelles.
Les fonctions dans la clause WHERE permettent de filtrer les données selon des valeurs calculées ou transformées.
LENGTH)La fonction LENGTH() retourne la longueur d'une chaîne.
SELECT *
FROM products
WHERE LENGTH(product_name) > 20;
Cette requête récupère toutes les colonnes de la table products où la longueur du nom du produit dépasse 20 caractères.
YEAR)La fonction YEAR() extrait l'année d'une date.
SELECT *
FROM orders
WHERE YEAR(order_date) = 2023;
Cette requête récupère toutes les colonnes de la table orders où l'année de la date de commande est 2023.
ABS)La fonction ABS() retourne la valeur absolue d'un nombre.
SELECT *
FROM transactions
WHERE ABS(amount) > 100;
Cette requête récupère toutes les colonnes de la table transactions où la valeur absolue du montant dépasse 100.
Les fonctions SQL peuvent être classées en plusieurs catégories :
UPPER, LOWER, SUBSTRING, LENGTH, TRIM).ROUND, ABS, SQRT, MOD).NOW, YEAR, MONTH, DAY, DATE_ADD, DATE_SUB).COUNT, SUM, AVG, MIN, MAX). (Voir une leçon ultérieure)CAST, CONVERT).AS) pour donner des noms explicites aux colonnes calculées.Points clés de cette leçon :
Maîtriser l'utilisation des fonctions dans les requêtes SQL permet de manipuler et d'analyser les données efficacement, et d'en extraire des informations précieuses.