Skip to content
This repository has been archived by the owner on Dec 6, 2022. It is now read-only.

Dépôt Epitech pour le workshop SQL.

Notifications You must be signed in to change notification settings

niquenen/epitech-workshop-2019-sql

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Epitech Workshop SQL

Avant de commencer les exercices voici quelques liens utiles.

Comment fonctionne une base de données :

Index de la documentation de MariaDB :

Manipulation de la donnée (SELECT, INSERT, UPDATE, ...) :

Exemple d’une requête SQL :

SELECT column_1, column_2
FROM table_name
WHERE
	column_1 IS NOT NULL
	AND
	column_2 LIKE 'y%'

SELECT et FROM sont des instructions basiques qui permettent de sélectionner des données provenant d’une table. L’instruction WHERE permet d’isoler des données lors de l’exécution d’une requête.

Exercice n°0

Avant de commencer les exercices vous pouvez télécharger le projet depuis la page des versions.

Vous pouvez également utiliser Docker pour créer un conteneur MariaDB. Un fichier docker compose est disponible à cette adresse :

Vous devez utiliser un script SQL pour initialiser la base de données du workshop.

Exercice n°1

  • Sélectionner et afficher les colonnes id et username
  • Récupérer une liste d’utilisateurs contenant le caractère s dans le nom
  • La colonne id doit être triée par ordre décroissant
  • Aide : regarder dans la documentation LIKE
  • Aide : regarder dans la documentation ORDER BY

Résultat attendu :

id username
11 user_11
10 user_10
2 user_2

Exercice n°2

  • Compter le nombre d’utilisateurs ayant une tâche dans la table tasks
  • Nommer la colonne de résultat en total
  • Aide : regarder dans la documentation COUNT, DISTINCT et AS

Résultat attendu :

total
10

Exercice n°3

  • Récupérer les tâches des utilisateurs et sélectionner les colonnes :
    • id (identifiant unique d’un utilisateur)
    • username
    • content
  • Trier le résultat par ordre croissant en fonction de la colonne id
  • Aide : utiliser une jointure INNER JOIN entre la table users et tasks

Résultat attendu :

id username content
1 user_1 Lorem ipsum dolor sit amet, ...
1 user_1 Lorem ipsum dolor sit amet, ...
2 user_2 Lorem ipsum dolor sit amet, ...
5 user_5 Lorem ipsum dolor sit amet, ...
7 user_7 Lorem ipsum dolor sit amet, ...
8 user_8 Lorem ipsum dolor sit amet, ...
9 user_9 Lorem ipsum dolor sit amet, ...
10 user_10 Lorem ipsum dolor sit amet, ...
11 user_11 Lorem ipsum dolor sit amet, ...
11 user_11 Lorem ipsum dolor sit amet, ...
11 user_11 Lorem ipsum dolor sit amet, ...
12 user_12 Lorem ipsum dolor sit amet, ...
14 user_14 Lorem ipsum dolor sit amet, ...

Exercice n°4

  • Compter le nombre de tâches de tous les utilisateurs
  • Le nombre de tâches doit être stocké dans une colonne total
  • Aide : quelle est la différence entre une jointure qui utilise INNER JOIN et LEFT JOIN ?
  • Aide : regarder dans la documentation GROUP BY

Résultat attendu :

id total
1 2
2 1
3 0
4 0
5 1
6 0
7 1
8 1
9 1
10 1
11 3
12 1
13 0
14 1

Exercice n°5

Exercice n°5.1

  • Créer un nouvel utilisateur dans la table users
  • Nommer le pseudonyme de l’utilisateur à mon_super_pseudonyme
  • Attribuer le prénom de l’utilisateur à Epi
  • Attribuer le nom de l’utilisateur à Tech
  • Aide : regarder dans la documentation INSERT

Exercice n°5.2

  • Mettre à jour les informations d’un utilisateur dans la table users
  • Modifier le pseudonyme du dernier utilisateur ajouté à LifeIsStrange
  • Aide : regarder dans la documentation UPDATE

Exercice n°5.3

  • Supprimer le dernier utilisateur ajouté à la table users
  • Aide : regarder dans la documentation DELETE