Aller au contenu

Base de données - SQL avancé

·3 mins·

1. Quel mot clé permet de renvoyer le nombre de lignes d’une requête ?
#

SELECT COUNT (*)

2. Voici les tables suivantes :
#

mysql> DESCRIBE keywords;

Field       Type         Null    Key       Default    Extra
article_id  Number(11)           PRIMARY   0
Keyword     Varchar(20)          PRIMARY

Quelle phrase est incorrecte compte tenu de la structure de la table ?

  • Je peux insérer une ligne avec ces valeurs : article_id = 452 et keyword = 'test'
  • Je peux insérer une seule fois seulement un article avec un article_id = 2
  • Je peux modifier la table de manière à mettre une valeur par défaut du champ keyword à "pass"
  • Je peux seulement insérer des valeurs non nulles dans chacune de ces colonnes

3. Voici la table parents définie ainsi :
#

mysql> DESCRIBE parents;

Field       Type         Null    Key       Default    Extra
Parents_ID  Integer      NO      PRIMARY
Child_ID    Integer      YES     FOREIGN   NULL
Mother      Varchar(20)  YES               NULL
father      Varchar(20)  YES               NULL

Quelle phrase est correcte compte tenu de la structure de la table ?

  • Je peux insérer des valeurs nulles dans toutes les colonnes de la table
  • Je peux insérer n’importe quelle valeur entière de mon choix dans la colonne Child_ID
  • Je peux insérer plusieurs lignes pour la clé Parents_ID = 5 à la condition que la colonne Child_ID soit différente à chaque fois
  • Je peux insérer plusieurs lignes avec Mother = 'Marge' et Father = 'Homer' si la valeur de la colonne Parents_ID est différente à chaque fois

4. La requête suivante est-elle correcte en SQL ?
#

DELETE FROM Population, City;
  • Oui
  • Non

5. Un index est utile pour :
#

  • Utiliser moins d’espace disque
  • Optimiser un ordre de type TRUNCATE TABLE
  • Améliorer les performances de certaines requêtes de sélection
  • Éliminer les données dupliquées

6. Qu’est ce qu’un explain plan ?
#

  • Un schéma de toutes les tables de la base de données
  • La liste de tous les index de la base de données
  • Un historique des requêtes récemment jouées sur la base de données
  • Un schéma présentant la manière dont le moteur de la base interprète une requête

7. Considérons deux tables intitulées PALMARES and CLUBS
#

Quelle requête est correcte ?

  • SELECT NULL, TROPHEE, ANNEE FROM PALMARES WHERE EQUIPE_ID IN (SELECT EQUIPE_ID FROM CLUBS WHERE NOM = 'OM')
  • SELECT * FROM PALMARES WHERE EQUIPE_ID IN (SELECT * FROM CLUBS WHERE EQUIPE_ID IS NULL)
  • SELECT TROPHEE, ANNEE FROM PALMARES WHERE EQUIPE_ID IN (SELECT EQUIPE_ID FROM CLUBS WHERE PALMARES IS NOT NULL)
  • SELECT NULL, NOM_EQUIPE, PALMARES WHERE NOM_EQUIPE IN (SELECT 'OM' FROM CLUBS)

8. Jointure entre des tables
#

Quelle requête est correcte ?

  • SELECT * FROM PALMARES PALM INNER JOIN CLUBS C ON P.EQUIPE_ID = CLUB.EQUIPE_ID
  • SELECT * FROM PALMARES PALM INNER JOIN CLUBS C ON PALM.EQUIPE_ID = C.EQUIPE_ID
  • SELECT * FROM PALMARES PALM RIGHT OUTER JOIN CLUBS C ON PALM.EQUIPE_ID = C.EQUIPE_ID WHERE 1=2
  • SELECT * FROM PALMARES PALM INNER CROSS CLUBS C ON PALM.EQUIPE_ID = C.EQUIPE_ID
Thibault CLEMENT - Intechnia
Auteur
Thibault CLEMENT - Intechnia
Data Scientist / ML Engineer