sian:2022:tpm1sql

Ceci est une ancienne révision du document !


TP introduction SQL

Vous pouvez utiliser le serveur http://bdd.imst.os.univ-lyon1.fr avec les login et mot de passe fourni par votre enseignant.

Faire des requêtes sur la table des catégories

  • Listez l'ensemble de la table
  • Listez uniquement le titre de toutes les catégories
  • Listez les catégories qui sont des sujets ? Combien y en a-t-il ?
  • Listez les sujets qui contiennent le mot science.

Cliquez pour afficher ⇲

Cliquez pour masquer ⇱

# Listez le titre de toutes les catégories
SELECT categories.title FROM categories WHERE 1;
# Listez les catégories qui sont des sujets ? Combien y en a-t-il ?
SELECT categories.title AS titre FROM categories WHERE genre='subjects'; 
# Listez les sujets qui contiennent le mot science (On ne tiens plus compte de la casse).
SELECT categories.title AS titre FROM categories WHERE genre='subjects' AND title LIKE '%science%'; 

vous devez faire une jointure entre les tables courses et courses_runs

  • Trouvez la date de début de tous les cours.
  • Trouvez les cours qui ont lieu après octobre 2022
  • Trouvez les cours qui ont lieu après octobre 2022 et parlent de données ou de mathématiques

Cliquez pour afficher ⇲

Cliquez pour masquer ⇱

###############################################
# Trouvez la date de début de tous les cours.
###############################################
SELECT courses.title, courses_runs.start
  FROM courses, courses_runs
 WHERE courses.id=courses_runs.id_course;
# meme chose avec un join
SELECT courses.title, courses_runs.start
  FROM courses JOIN courses_runs ON courses.id=courses_runs.id_course
 WHERE 1;

########################################################
# Trouvez les cours qui ont lieu après octobre 2022
########################################################

########################################################
# Trouvez les cours qui ont lieu après octobre 2022 et parlent de données 
########################################################
  • Trouvez tous les mots clefs utilisés par chacun des cours de science en n'affichant que le mot clef et le titre du cours
  • On cherche à obtenir une liste avec chaque mots clef utilisé par toutes les organisations avec l'affichage uniquement du nom de l'organisation et de la valeur du mot clef. Faites la requête

Pour vous aider:

  1. Un mot clef est une catégorie de genre subject.
  2. Les catégories sont liées aux cours qui sont liées au organisations.
  3. On peut considérer qu'un cours est un cours de science si son titre ou son introduction contiennent le mot science.

Cliquez pour afficher ⇲

Cliquez pour masquer ⇱

##################################################
#   * Trouvez tous les mots clefs utilisés par chacun des cours de science en #   n'affichant que le mot clef et le titre du cours
##################################################
SELECT categories.title AS motClef, courses.title AS titrecours 
  FROM courses JOIN courses_categories
                    ON courses_categories.id_course=courses.id
               JOIN categories
                    ON courses_categories.id_categorie=categories.id
WHERE courses.title LIKE '%science%' 
   OR courses.introduction LIKE '%science%';
   
  • Faites une requète pour voirs les cours d'une école des mines (école avec mines dans le nom)

Cliquez pour afficher ⇲

Cliquez pour masquer ⇱

SELECT courses.title AS NomCours, organizations.title AS NomOrga FROM courses
	JOIN courses_organizations ON courses.id=courses_organizations.id_course
	JOIN organizations ON courses_organizations.id_organization=organizations.id
	WHERE organizations.title REGEXP ".*mines.*";

Pour python, vous pouvez utiliser le notebook https://jupyter.imst.os.univ-lyon1.fr

  • Faire un programme python qui affiche pour chaque mot clef le nombre de fois qu'il est utilisé dans un cours.
  • Faire un programme python qui obtient la liste des mots clef de chaque cours de chaque organisation et affiche le tableau suivant:
Nom organisation liste mot clef
MINES ParisTech Economie et gestion, Environnement et dévelop…
Inria Informatique et programmation, Numérique et technologie, Droit, Numérique et technologie, …
  • sian/2022/tpm1sql.1669300131.txt.gz
  • Dernière modification : 2022/11/24 15:28
  • de fabien.rico