madamasterclass.com

📔 Langage SQL

Fiche de révision sur le Langage SQL

Le SQL (Structured Query Language) est un langage de programmation conçu pour gérer et manipuler des bases de données relationnelles. Il permet d'effectuer diverses opérations telles que la création, la modification et la suppression de données. Dans ce cours, nous explorerons les principaux aspects du SQL.


1. Introduction au SQL

Le SQL est utilisé pour interagir avec les bases de données relationnelles. Il offre une syntaxe simple et puissante pour effectuer des opérations sur les données stockées dans ces bases de données.

2. Structure de base d'une requête SQL

Une requête SQL de base est souvent structurée comme suit :

SELECT * FROM table_name WHERE condition;

Explications :

  • SELECT : Sélectionne les colonnes à afficher dans les résultats.
  • * : Toutes les colonnes.
  • FROM table_name : Spécifie la table à interroger.
  • WHERE condition : Filtre les résultats en fonction d'une condition.

3. Opérations de base

Le SQL offre plusieurs opérations fondamentales pour manipuler les données dans une base de données. Ces opérations incluent l'insertion de nouvelles données, la mise à jour des données existantes et la suppression de données. Examinons chacune de ces opérations en détail :

3.1 INSERT INTO

L'opération INSERT INTO permet d'ajouter de nouvelles lignes de données à une table. La syntaxe de base est la suivante :

INSERT INTO table_name (col1, col2, col3) VALUES (val1, val2, val3);

où :

  • table_name : le nom de la table dans laquelle vous souhaitez insérer des données.
  • (col1, col2, col3) : la liste des colonnes auxquelles vous souhaitez insérer des valeurs.
  • VALUES (val1, val2, val3) : les valeurs à insérer dans les colonnes correspondantes.

3.2 UPDATE

L'opération UPDATE permet de modifier les données existantes dans une table. La syntaxe de base est la suivante :

UPDATE table_name SET col1 = new_val WHERE condition;

où :

  • table_name : le nom de la table que vous souhaitez mettre à jour.
  • col1 = new_val : spécifie la colonne à mettre à jour et la nouvelle valeur.
  • WHERE condition : filtre les lignes à mettre à jour en fonction d'une condition.

3.3 DELETE FROM

L'opération DELETE FROM permet de supprimer des lignes de données d'une table. La syntaxe de base est la suivante :

DELETE FROM table_name WHERE condition;

où :

  • table_name : le nom de la table dont vous souhaitez supprimer des données.
  • WHERE condition : spécifie les lignes à supprimer en fonction d'une condition.

Ces opérations de base sont essentielles pour maintenir et mettre à jour les données dans une base de données relationnelle à mesure que les besoins de votre application évoluent.

4. Joindre des tables

Les jointures permettent de combiner des données provenant de plusieurs tables. Exemple de jointure :

SELECT employees.name, departments.department_name
FROM employees
INNER JOIN departments ON employees.department_id = departments.department_id;
4.1 INNER JOIN

L'INNER JOIN retourne uniquement les lignes qui ont des correspondances dans les deux tables. La syntaxe de base est la suivante :

SELECT table1.column1, table2.column2
FROM table1
INNER JOIN table2 ON table1.common_column = table2.common_column;

où :

  • table1, table2 : les noms des tables à joindre.
  • common_column : la colonne commune utilisée pour effectuer la jointure.

4.2 LEFT JOIN

La LEFT JOIN retourne toutes les lignes de la table de gauche (table1), et les lignes correspondantes de la table de droite (table2). Si aucune correspondance n'est trouvée, les colonnes de la table de droite auront des valeurs NULL.

SELECT table1.column1, table2.column2
FROM table1
LEFT JOIN table2 ON table1.common_column = table2.common_column;

4.3 RIGHT JOIN

La RIGHT JOIN est similaire à la LEFT JOIN, mais elle retourne toutes les lignes de la table de droite et les lignes correspondantes de la table de gauche.

SELECT table1.column1, table2.column2
FROM table1
RIGHT JOIN table2 ON table1.common_column = table2.common_column;

4.4 FULL JOIN

La FULL JOIN retourne toutes les lignes lorsque qu'il y a une correspondance dans l'une des tables. Si aucune correspondance n'est trouvée, les colonnes sans correspondance auront des valeurs NULL.

SELECT table1.column1, table2.column2
FROM table1
FULL JOIN table2 ON table1.common_column = table2.common_column;

La compréhension des jointures est cruciale pour travailler efficacement avec des bases de données complexes et pour récupérer des informations complètes à partir de sources de données multiples.


5. Fonctions SQL

Les fonctions SQL offrent des moyens puissants pour manipuler et analyser les données stockées dans une base de données. Ces fonctions peuvent être utilisées dans les clauses SELECT, WHERE, ORDER BY, et d'autres parties d'une requête SQL. Examinons certaines des fonctions SQL les plus couramment utilisées :

5.1 Fonctions d'agrégation

Les fonctions d'agrégation permettent de réaliser des calculs sur un ensemble de valeurs. Les exemples incluent :

  •                 1️⃣ AVG() : Calcule la moyenne d'une colonne numérique.
  •                 2️⃣ SUM() : Calcule la somme d'une colonne numérique.
  •                 3️⃣ MIN() : Retourne la valeur minimale d'une colonne.
  •                 4️⃣ MAX() : Retourne la valeur maximale d'une colonne.
  •                 5️⃣ COUNT() : Compte le nombre de lignes dans un ensemble de résultats.

SELECT AVG(salary) AS average_salary FROM employees;
5.2 Fonctions de chaîne

Les fonctions de chaîne permettent de manipuler des valeurs de type texte. Quelques exemples sont :

  •                 1️⃣ CONCAT() : Concatène deux chaînes de caractères.
  •                 2️⃣ SUBSTRING() : Extrait une sous-chaîne à partir d'une chaîne plus grande.
  •                 3️⃣ UPPER() : Convertit une chaîne en majuscules.
  •                 4️⃣ LOWER() : Convertit une chaîne en minuscules.

SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM employees;
5.3 Fonctions de date

Les fonctions de date sont utilisées pour manipuler les valeurs de type date et heure. Quelques exemples sont :

  •                 1️⃣ NOW() : Retourne la date et l'heure actuelles.
  •                 2️⃣ DATE_FORMAT() : Formate une date selon un modèle spécifié.
  •                 3️⃣ DATEDIFF() : Calcule la différence entre deux dates.

SELECT DATE_FORMAT(birthdate, '%Y-%m-%d') AS formatted_birthdate FROM employees;

L'utilisation judicieuse de ces fonctions permet d'effectuer des manipulations complexes sur les données, facilitant ainsi la création de rapports et d'analyses personnalisées.

6. Conclusion

Le SQL est un langage essentiel pour travailler avec des bases de données relationnelles. Ce cours n'est qu'une introduction, mais vous donne une base solide pour commencer à explorer et maîtriser le langage SQL.

Exercices SQL

Exercice 1: Sélection de données

Sélectionnez tous les employés dont le salaire est supérieur à 50000.

Solution :
SELECT * FROM employes
WHERE salaire > 50000;

Explication : Cette requête sélectionne toutes les colonnes de la table employes où la condition de salaire est supérieure à 50000.


Exercice 2: Filtrage et Tri

Affichez les noms et les salaires des employés triés par ordre décroissant de salaire, mais ne montrez que les 10 premiers.

Solution :
SELECT nom, salaire FROM employes
ORDER BY salaire DESC
LIMIT 10;

Explication : Cette requête sélectionne les colonnes nom et salaire de la table employes, les trie par salaire dans l'ordre décroissant, et limite les résultats à 10 employés.


Exercice 3: Jointure de Tables

Sélectionnez les noms des employés et les noms de leurs départements correspondants.

Solution :
SELECT employes.nom, departements.nom AS nom_departement
FROM employes
JOIN departements ON employes.id_departement = departements.id;

Explication : Cette requête effectue une jointure entre les tables employes et departements pour sélectionner les noms des employés et leurs départements en utilisant la clé étrangère id_departement.


Exercice 4: Agrégation

Calculez le salaire moyen des employés dans chaque département.

Solution :
SELECT id_departement, AVG(salaire) AS salaire_moyen
FROM employes
GROUP BY id_departement;

Explication : Cette requête calcule le salaire moyen des employés par département en utilisant la fonction d'agrégation AVG et regroupe les résultats par id_departement.


Exercice 5: Sous-requêtes

Trouvez les employés dont le salaire est supérieur au salaire moyen de l'ensemble des employés.

Solution :
SELECT * FROM employes
WHERE salaire > (SELECT AVG(salaire) FROM employes);

Explication : Cette requête récupère tous les employés dont le salaire est supérieur à la moyenne des salaires, en utilisant une sous-requête pour calculer le salaire moyen.


Forum(s) associé(s)

Mathématiques Magiques : Dévoilez les Mystères des Nombres

08 Apr, 2016

Les mathématiques ont souvent la réputation d'être une discipline austère et difficile, mais ...

Read more.

Voyage à Travers les Suites Numériques : Découvertes et Applications

27 Jan, 2014

Plongez dans l'univers fascinant des suites numériques, où chaque terme révèle des patterns surprenants et des applications pratiques dans les mathématiques et au-delà.

Read more.

Fonctions en Action : Comprendre et Explorer les Relations Mathématiques

30 Feb, 2015

Découvrez comment les fonctions tissent des liens entre les nombres et les concepts, transformant des idées abstraites en outils puissants pour résoudre des problèmes du quotidien.

Read more.
Page: