Retour à la liste des articles Articles
10 minutes de lecture

18 fonctions SQL importantes à apprendre au plus vite

Débutant avec SQL : Fonctions utiles à maîtriser

Apprendre un nouveau langage de programmation peut sembler intimidant. Comme tout autre langage, un langage de programmation possède un large vocabulaire que vous devez maîtriser. Dans cet article, nous allons examiner certaines des fonctions SQL les plus utiles que vous devez connaître.

Il existe de nombreuses fonctions SQL utiles pour travailler avec différents types de données. Une fois que vous vous serez exercé à utiliser les fonctions les plus courantes, vous aurez suffisamment confiance pour passer à des fonctions plus avancées. Examinons donc plus en détail certaines de ces fonctions SQL les plus courantes.

1. FONCTIONS DE CHAÎNE DE CARACTÈRES

Une chaîne de caractères est simplement une série d'un ou plusieurs caractères qui ont été enchaînés. Les fonctions string traitent tout simplement des chaînes de caractères !

Longueur

La fonction de chaîne SQL la plus simple est Longueur. Comme son nom l'indique, length renvoie le nombre de caractères que contient une chaîne donnée (espaces et ponctuation compris). Examinons une simple instruction select PostgreSQL et alimentons-la avec la chaîne de caractères 'Hello, my name is' :

select length('Hello, my name is');

Le résultat de l'exécution de cette requête est 17. Si vous comptez manuellement le nombre de caractères, espaces compris, dans la chaîne ci-dessus, vous constaterez que 17 est une correspondance précise ! Si length peut sembler être une fonction triviale au premier abord, vous l'utiliserez en réalité très fréquemment.

Découper

Coupons un peu de gras ! Un autre exemple de la catégorie des fonctions SQL les plus utiles est trim. Cette fonction élimine les espaces et tabulations superflus au début et à la fin d'une chaîne de caractères que nous lui passons comme argument. Par exemple, si nous transmettons la chaîne ' Hello, my name is ', nous recevrons la même chaîne mais sans tous ces espaces de début et de fin. Voici une requête de base avec cette chaîne :

select length('  Hello, my name is  ');

Comme prévu, la requête ci-dessus renvoie 'Hello, my name is'.

Concat

La fonction concat combine(concatène) deux ou plusieurs chaînes de caractères que nous lui passons comme arguments. Voici un exemple de concaténation de chaîne en action :

select concat(' Hello, ', 'my name is ', 'Paul');

Cette requête renvoie la chaîne 'Hello, my name is Paul'.

Upper

Étant donné une chaîne de caractères, upper renvoie la même chaîne, mais avec tous ses caractères en majuscules. Donc, si vous voulez que tout le monde vous entende bien, vous pouvez écrire la requête suivante :

select upper('Hello, my name is Paul');

Celle-ci renvoie la chaîne de caractères 'HELLO, MY NAME IS PAUL'.

Plus bas

La fonction lower est l'inverse de upper. Elle prend une chaîne de caractères et renvoie la même chaîne avec tous ses caractères en minuscules. Voici une requête qui utilise lower :

select lower('Hello, my name is Paul');

Comme on pouvait s'y attendre, nous obtenons la chaîne 'hello, my name is paul'.

Initcap

Cette fonction met en majuscule la première lettre (initiale) de chaque mot d'une chaîne donnée. Par exemple, vous pouvez utiliser initcap pour vous assurer que le nom que quelqu'un a fourni respecte les règles de capitalisation. Voici un exemple d'utilisation de la fonction :

select initcap('paul anderson');

Le résultat de la requête ci-dessus est 'Paul Anderson'.

Bien entendu, il existe de nombreuses autres fonctions SQL utiles utilisées pour les chaînes de caractères, comme replace, substr, etc. Pour en savoir plus, consultez le cours interactif de LearnSQL.fr. Fonctions SQL standards cours interactif ! Grâce à lui, vous apprendrez d'autres fonctions SQL courantes que je n'ai pas mentionnées dans cet article.

2. FONCTIONS NUMÉRIQUES

Les fonctions numériques fonctionnent simplement avec des nombres, et il existe un grand nombre de fonctions SQL utiles dans cette catégorie. Nous allons en examiner quelques-unes.

Abs

Découpage ? Les abdominaux ? Oui, je sais ce que vous pensez, mais il ne s'agit pas d'un programme d'entraînement. Abs est l'abréviation de absolute (absolu) ; c'est l'une des fonctions SQL les plus courantes qui calcule la valeur absolue d'une valeur numérique que nous lui passons en argument. En d'autres termes, abs renvoie la version positive d'un nombre donné. Voici un exemple :

select abs(-22),abs(22);

Si vous avez été attentif en cours de mathématiques, vous savez que ces deux appels à abs renvoient le nombre 22.

Arrondir

La fonction round prend un nombre à virgule flottante (décimal) et l'arrondit comme vous le feriez normalement sur papier. Jetez un coup d'œil à cet exemple simple :

select round(5.4),round(5.5),round(5.6);

Nous obtiendrions 5 (le plus petit nombre entier suivant), 6 (le plus grand nombre entier suivant) et 6 (le plus grand nombre entier suivant), respectivement, pour les trois appels à arrondir ci-dessus.

Plafond

La fonction ceil renvoie le plafond d'un nombre - le premier nombre entier supérieur ou égal à ce nombre. Pour visualiser ce processus, placez le nombre en question (disons -0,5) sur une ligne numérique standard et déplacez-vous de gauche à droite, à la recherche du prochain plus grand nombre entier (dans ce cas, c'est 0). Voici un autre exemple :

select ceil(5.4),ceil(5.5),ceil(6);

Nous obtenons les nombres 6, 6 et 6 pour ces trois appels.

Le plancher

Floor est l'inverse de la fonction ceil; elle renvoie le plancher du nombre décimal que nous lui passons en argument - le premier nombre entier inférieur ou égal à ce nombre. Par exemple, le plancher de -0,5 est -1, car il s'agit du premier nombre entier inférieur à -0,5. Avec la visualisation de la ligne des nombres, on commence au nombre donné et on se déplace de droite à gauche à la recherche d'un nombre entier. Si nous répétons les appels ci-dessus avec la fonction floor à la place :

select floor(5.4),floor(5.5),floor(6);

Nous recevons ces trois nombres après avoir exécuté la requête ci-dessus : 5, 5, et 6.

Signe

L'une des fonctions les plus simples de cette liste, sign prend un nombre comme argument et renvoie -1 si le nombre est négatif, 0 si le nombre est 0 et 1 si le nombre est positif. C'est aussi simple que cela ! Voici un exemple :

select sign(-5),sign(0),sign(5);

Cette requête renvoie les nombres suivants : -1, 0, et 1.

Mod

Mod est l'abréviation de modulo. Il s'agit d'une fonction SQL très puissante, mais qui reste l'une des plus courantes. Elle renvoie le reste du premier argument divisé par le second. Par exemple, en divisant 5 par 2, on obtient un reste de 1. Ainsi, l'appel de fonction mod(5, 2) renvoie le nombre 1 !

L'opérateur modulo a de nombreuses applications utiles, et l'une de ses utilisations courantes consiste à déterminer si un nombre donné est pair ou impair. Rappelez-vous que si un nombre est pair, le reste de la division de ce nombre par 2 est 0. Dans le cas contraire, le reste est 1. Ainsi, étant donné un nombre n, vous pouvez exécuter mod(n, 2) pour déterminer si n est pair ou impair !

Il existe de nombreuses autres fonctions SQL utiles dans la catégorie numérique que vous devriez connaître, telles que trunc, trigonometric, logarithmic, power, root, et bien d'autres. Le meilleur endroit pour les maîtriser est le cours de LearnSQL.fr. Fonctions SQL standards de . Si vous ne l'avez pas encore fait, allez-y et consultez-le !

3. FONCTIONS DE DATE

Comme le nom de cette catégorie le suggère, les fonctions de date fonctionnent avec des dates ! Dans cette section, nous allons examiner quelques-unes des fonctions SQL les plus utiles de ce type.

Date_courante

La première sur notre liste est current_date, une fonction SQL extrêmement utile qui ... renvoie la date du jour ! Voici un exemple de requête :

select current_date;

Pour nous, cela renverra 2018-01-04.

Extraire

Cette fonction SQL courante vous permet d'extraire certaines parties d'une date (comme le jour, le mois ou l'année) que vous passez en argument. Voici un exemple de ces trois utilisations :

select extract(day from date'2017-1-1'),extract(month from date'2017-1-1'),extract(year from date'2017-1-1');

La requête ci-dessus renvoie les trois nombres suivants : 1, 1, et 2017.

Date_trunc

La fonction date_trunc permet de tronquer les valeurs d'une date donnée selon une granularité spécifique. Supposons que vous ayez une date, mais que vous ne souhaitiez obtenir que le premier jour du mois de cette date, vous devez tronquer la valeur de la date en un paramètre "mois". Prenons un exemple :

select date_trunc('month',date'2017-4-2') 

Cela renvoie la date du 04-01-2017. Si nous introduisons la valeur de l'année en tant que granularité :

select date_trunc('year',date'2017-4-2')

Nous recevrions le premier jour de l'année saisie, le 01-01-2017.

4. FONCTIONS DIVERSES

En plus des fonctions que nous avons couvertes jusqu'à présent, il existe quelques fonctions diverses qui sont couramment utilisées dans la programmation SQL.

Coalesce

Parfois, vous rencontrerez des valeurs nulles lorsque vous travaillez avec des données tabulaires. Elles représentent des informations absentes ou manquantes. Malheureusement, tout calcul impliquant une valeur nulle renverra un résultat nul, ce qui n'est pas toujours idéal.

La fonction COALESCE prend une liste d'arguments et renvoie le premier d'entre eux qui ne contient pas la valeur null. En d'autres termes, si SQL constate que le premier argument que vous avez fourni est nul, il passera à l'évaluation du deuxième argument, répétant le processus jusqu'à ce qu'il en trouve un qui n'est pas nul ou qu'il soit à court d'arguments.

Par exemple, supposons que nous travaillons avec une table qui possède une colonne numérique nommée potentially_null_column. Disons que cette colonne possède plusieurs valeurs, certaines étant nulles et d'autres non. Supposons que nous exécutions le code suivant :

select COALESCE(potentially_null_column, 0);

Ici, la requête utilisera la valeur 0 chaque fois qu'une cellule de la colonne potentially_null_column enregistrera une valeur nulle. Pour les cellules de cette colonne qui ne sont pas nulles, la requête utilisera simplement leurs valeurs. Cette fonction SQL est particulièrement utile dans les calculs impliquant des colonnes qui peuvent contenir des valeurs nulles, car elle permet d'éviter tout comportement inattendu. Pour en savoir plus sur COALESCE et ses utilisations, consultez cet article utile.

Le plus grand

Une autre des fonctions SQL les plus utiles, greatest, prend une liste d'expressions et renvoie la plus grande d'entre elles. Voici un exemple de son utilisation :

select greatest(1,2,3,5,6);

Naturellement, cette requête renvoie 6, car c'est la plus grande valeur de la liste que nous avons fournie.

Least

Least est l'inverse direct de greatest. Si nous écrivons la requête suivante :

select least(1,2,3,5,6);

Cette requête renvoie 1, car c'est la plus petite valeur de la liste que nous avons fournie.

Et une fois que vous connaissez ces fonctions SQL utiles...

Il existe une variété de fonctions SQL utiles pour manipuler les chaînes de caractères, les nombres, les dates et d'autres types de données. Maintenant que vous avez appris quelques notions de base, vous devriez envisager d'approfondir ces sujets pour développer ce que vous savez déjà. Pour cela, il n'y a tout simplement pas de meilleur endroit pour commencer que LearnSQL.fr! Notre pack de cours SQL avancé Suivez pack de cours comprend les cours SQL suivants :

  1. Fonctions SQL standards - Dans ce cours, vous apprendrez à traiter des données numériques, textuelles et autres avec les fonctions SQL les plus utiles.
  2. Fonctions de fenêtrage - Vous apprendrez ici les fonctions de fenêtrage, également connues sous le nom de fonctions SQL analytiques.
  3. Requêtes récursives - dans ce cours, vous apprendrez à traiter les arbres et les graphiques en SQL, et à organiser efficacement les longues requêtes et sous-requêtes SQL.

Vous avez déjà appris les fonctions SQL les plus courantes. Maintenant, passez à l'étape suivante de votre développement personnel et maîtrisez les requêtes SQL les plus difficiles !