Quelle instruction SQL permet de lire les données d'une table sans les modifier ?
Réponse : SELECT
SELECT lit les lignes demandées. INSERT ajoute, UPDATE modifie et DELETE supprime des lignes.
Révisez le thème SQL & Bases de données : voici une sélection de questions de tous niveaux, avec la réponse et une explication. Pour vous tester sans voir les réponses, jouez aux quiz.
Jouer aux quiz SQL & Bases de donnéesRéponse : SELECT
SELECT lit les lignes demandées. INSERT ajoute, UPDATE modifie et DELETE supprime des lignes.
Réponse : DISTINCT
DISTINCT ne garde qu'une seule occurrence de chaque ligne identique dans le résultat.
Réponse : WHERE
WHERE filtre les lignes selon une condition, par exemple WHERE age >= 18.
Réponse : ORDER BY
ORDER BY nom ASC trie par ordre croissant, DESC par ordre décroissant.
Réponse : INSERT
INSERT INTO ajoute une ligne ; UPDATE modifie des lignes existantes, CREATE crée une table et ALTER en change la structure.
Réponse : Un n-uplet, aussi appelé enregistrement
Une ligne est un n-uplet, aussi appelé enregistrement ; une colonne correspond à un attribut.
Réponse : Identifier de façon unique chaque ligne
La clé primaire ne peut être ni NULL ni répétée, ce qui permet d'identifier chaque ligne sans ambiguïté.
Réponse : 1970
Edgar F. Codd publie en 1970 l'article fondateur du modèle relationnel, sur lequel repose SQL.
Réponse : INNER JOIN
INNER JOIN ne garde que les correspondances ; LEFT JOIN conserve toutes les lignes de la table de gauche, avec NULL quand il n'y a pas de correspondance.
Réponse : SELECT ville, COUNT(*) FROM clients GROUP BY ville
GROUP BY ville regroupe les lignes par ville, et COUNT(*) compte les lignes de chaque groupe.
Réponse : HAVING
WHERE filtre les lignes avant le regroupement ; HAVING filtre les groupes, par exemple HAVING COUNT(*) > 5.
Réponse : AVG
AVG calcule la moyenne des valeurs non NULL d'une colonne numérique.
Réponse : WHERE email IS NULL
Une comparaison avec = ou <> à NULL n'est jamais vraie : on utilise IS NULL ou IS NOT NULL.
Réponse : Elle fournit la liste des client_id présents dans la table commandes
La sous-requête renvoie une liste de valeurs ; la requête externe garde les clients dont l'id figure dans cette liste.
Réponse : Référencer la clé primaire d'une autre table
Une clé étrangère référence une clé, en général la clé primaire d'une autre table ; le SGBD peut refuser une valeur absente de cette table.
Réponse : UNION
UNION fusionne les résultats en supprimant les doublons ; UNION ALL les garde tous, sans cette étape de suppression.
Réponse : Atomicité
Atomicité : une transaction est exécutée entièrement ou pas du tout. ACID regroupe aussi la cohérence, l'isolation et la durabilité.
Réponse : READ COMMITTED
READ COMMITTED ne lit que des données validées, mais une même ligne peut changer entre deux lectures d'une transaction.
Réponse : Être en 1FN et éviter les dépendances partielles sur une clé composée
La 2FN suppose la 1FN, puis qu'aucun attribut non clé ne dépende d'une partie seulement d'une clé composée.
Réponse : Un arbre B+
InnoDB organise ses index en arbres B+, dont les feuilles sont chaînées entre elles pour les parcours par intervalle.
Réponse : Affiche le plan d'exécution prévu sans exécuter la requête
EXPLAIN affiche le plan prévu (index, ordre des jointures) sans exécuter la requête ; EXPLAIN ANALYZE, lui, l'exécute.
Réponse : Un nom donné à une requête SELECT, réexécutée à chaque lecture
Une vue ordinaire ne stocke rien : elle est réexécutée à chaque lecture. Une vue matérialisée, elle, conserve ses résultats.
Réponse : Du code SQL exécuté automatiquement lors d'un INSERT, UPDATE ou DELETE sur une table
Un trigger s'exécute automatiquement lors d'un événement sur une table ; une procédure stockée, elle, s'appelle explicitement avec CALL.
Réponse : Un système distribué ne peut garantir à la fois cohérence, disponibilité et tolérance aux partitions
Quand le réseau se coupe entre des nœuds, un système distribué doit choisir entre cohérence et disponibilité.
Jouer aux quiz SQL & Bases de données