Aggrégation

                      # fonction d agrégation
 SELECT COUNT(*) FROM Bandes_dessinees 
 WHERE serie = "Aya de Yopougon";
                          

Distinct

                      # DISTINCT supprime les doublons
    SELECT COUNT(DISTINCT id_dessinateur) 
    FROM Bandes_dessinees;
                          


Sous-requête

                  # La requête interne est exécutée en premier
 SELECT titre FROM Bandes_dessinees 
 WHERE id_genre = (SELECT id FROM Genres 
                   WHERE genre = "Jeunesse");
                      

Jointure

                  # Fusionner 2 tables
    SELECT Emprunteurs.nom, Emprunts.isbn FROM Emprunts 
    JOIN Emprunteurs ON Emprunts.id_emprunteurs = Emprunteurs.id;
                      

                    # insertion
INSERT INTO Auteurs (nom, prenom) VALUES ("Tardi", "Jacques");
                        
                  # mise à jour
UPDATE Emprunteurs SET naissance = "1977-12-08"
WHERE nom = "Amstrong";
                      
                # suppression
DELETE FROM Bandes_dessinees WHERE isbn = 2205050699;
                    
              # sélection
SELECT nom FROM Auteurs WHERE prenom = "Lance" 
AND NOT nom = "Arleston";
                  

    Le SGBD est construit pour respecter les contraintes d’intégrité:
  • Contrainte de domaine: type de données
  • Contrainte d’entité: clé primaire
  • Contrainte de référence: clé étrangère

Annexes

Liens

Le cours

    Sur Capytale

Le logiciel dbbrowser

    version pc

Le logiciel dbbrowser

    version portable

Le site qkzk (sql murder mystery)

    Consigne en français

Le site original knightlab (sql murder mystery)

    Consigne en anglais

Pièces jointes

La base de donnée pour le cours

    en .zip

La base de donnée pour les exercices

    en .zip

La base de donnée sql-murder-mystery

    en .db