QCM SQL-1
QCM SQL-1
QCM SQL-1
Indications dutilisation
Ce test est une auto-valuation. Lobjectif de ce test est de dterminer sil est utile que
vous suiviez le SQL: cours de base (1 jour) ou si vos connaissances actuelles sont suf-
fisantes pour pouvoir suivre efficacement le cours SQL workshop ou un des autres cours
qui utilisent SQL, comme les cours DB2, Oracle, MySQL ou SQLServer.
Ce test comporte 15 questions choix multiples. Pour certaines questions, plusieurs
rponses correctes sont possibles: ceci sera bien indiqu. Cochez les solutions qui vous
semblent bonnes. Aprs avoir rpondu toutes les questions, vous pourrez comparer
vos rponses avec les solutions. Ce test vous prendra peu prs un quart dheure.
O (a) La requte ne peut pas tre excute (donne une erreur syntaxique).
O (b) La requte est excutable et sense (selon les dfinitions des colonnes).
SELECT CTITLE
FROM SESSIONS
WHERE S_CID = '7820'
O (a) La requte ne peut pas tre excute (donne une erreur syntaxique).
SESSIONS no contient pas de colonne CTITLE
O (b) La requte est excutable et sense (selon les dfinitions des colonnes).
SELECT 'CTITLE'
FROM SESSIONS
WHERE S_CID = '7820'
O (a) La requte ne peut pas tre excute (donne une erreur syntaxique).
O (b) La requte est excutable et sense (selon les dfinitions des colonnes).
O (a) La requte ne peut pas tre excute (donne une erreur syntaxique).
DISTINCT ne peut qutre utilis directement aprs SELECT.
O (b) La requte est excutable et sense (selon les dfinitions des colonnes).
SELECT SDATE
FROM SESSIONS
ORDER BY SDATE
GROUP BY SDATE
O (a) La requte ne peut pas tre excute (donne une erreur syntaxique).
GROUP BY doit toujours se trouver avant ORDER BY.
O (b) La requte est excutable et sense (selon les dfinitions des colonnes).
SELECT SNO
FROM SESSIONS
WHERE SCANCEL NOT = NULL
O (a) La requte ne peut pas tre excute (donne une erreur syntaxique).
NULL ne peut qutre utilis dans les conditions IS NULL et IS NOT NULL.
O (b) La requte est excutable et sense (selon les dfinitions des colonnes).
SELECT *
FROM COURSES
WHERE CTITLE LIKE '%SQL%'
AND CID NOT IN ('7800','7820')
O (a) Donne la premire ligne de la table des cours dont la colonne CTITLE est gale
%SQL% et dont le contenu de la colonne CID est ni 7800, ni 7820.
O (b) Donne toutes les lignes de la table des cours dont la colonne CTITLE est gale
%SQL% et dont le contenu de la colonne CID est ni 7800, ni 7820.
O (c) Donne la premire ligne de la table des cours dont la colonne CTITLE contient les carac-
tres SQL et dont le contenu de la colonne CID est ni 7800, ni 7820.
O (d) Donne toutes les lignes de la table des cours dont la colonne CTITLE contient les carac-
tres SQL et dont le contenu de la colonne CID est ni 7800, ni 7820.
O (e) Donne la premire ligne de la table des cours dont la colonne CTITLE est gale
%SQL% et dont le contenu de la colonne CID ne se situe pas entre 7800 et 7820.
O (f) Donne toutes les lignes de la table des cours dont la colonne CTITLE est gale
%SQL% et dont le contenu de la colonne CID ne se situe pas entre 7800 et 7820.
O (g) Donne la premire ligne de la table des cours dont la colonne CTITLE contient les carac-
tres SQL et dont le contenu de la colonne CID ne se situe pas entre 7800 et 7820.
O (h) Donne toutes les lignes de la table des cours dont la colonne CTITLE contient les carac-
tres SQL et dont le contenu de la colonne CID ne se situe pas entre 7800 et 7820.
O (a) Slectionnez trois colonnes de la table COURSES, dont la troisime a la valeur cons-
tante = PRICE. Laissez une ligne vide aprs chaque deuxime ligne.
O (b) Slectionnez deux colonnes de la table COURSES, dont la deuxime reoit comme titre
= PRICE. Triez les donnes selon la deuxime colonne en ordre croissant.
O (c) Slectionnez trois colonnes de la table COURSES, dont la troisime a la valeur cons-
tante = PRICE. Triez les donnes selon la deuxime colonne en ordre croissant.
O (d) Slectionnez deux colonnes de la table COURSES, dont la deuxime a la valeur cons-
tante = PRICE. Triez les donnes selon la deuxime colonne en ordre croissant.
O (a)
S_CID MAX(SNO)
7890 13
8000 14
7910 15
8500 16
9000 17
O (b)
S_CID MAX(SNO)
7890 10,12,13
7910 11,15
8000 14
8500 16
9000 17
O (c)
S_CID MAX(SNO)
7890 13
7910 15
O (d)
S_CID MAX(SNO)
7890 10,12,13
7910 11,15
O (e)
S_CID MAX(SNO)
9000 17
O (a)
SNO SDATE
10 2005-12-02
11 2005-11-04
O (b)
SNO SDATE
10 2005-12-02
O (c)
SNO SDATE
10,11 2005
O (d)
SNO SDATE
10 2005
O (e)
SNO SDATE
[_] [a] WHERE S_CID >= '7000' AND S_CID <= '8000'
[_] [b] WHERE S_CID >= '7000' AND S_CID < '8000'
[_] [c] WHERE S_CID > '7000' AND S_CID <= '8000'
[_] [d] WHERE S_CID > '7000' AND S_CID < '8000'
[_] [e] WHERE S_CID <= '8000' AND NOT S_CID < '7000'
[_] [f] WHERE S_CID < '8000' AND NOT S_CID < '7000'
[_] [g] WHERE S_CID >= '7000' AND NOT S_CID >= '8000'
[_] [h] WHERE S_CID > '7000' AND NOT S_CID >= '8000'
Donnez une liste de tous les cours qui ont eu lieu (ou auront lieu) au moins deux fois.
[_] [a]
[_] [b]
[_] [c]
[_] [d]
[_] [e]
[_] [f]
[_] [g]
[_] [h]
O (a)
S_CID
7890
7910
8000
8500
9000
Tous les numros de cours dans SESSIONS
O (b)
S_CID
7890
7910
8000
9000
Sans HAVING, ou en utilisant >= au lieu de >.
O (c)
S_CID
7890
7910
8000
8500
Si on avait GROUP BY sdate, et on montre tous les lignes, pas seulement ceux avec MAX(s_cid)
O (d)
S_CID
7910
8500
Si on avait GROUP BY sdate
O (e)
S_CID
7890
9000
O (f)
S_CID
9000
La valeur la plus large de la table
O (a)
S_CID
7890
7890
7910
8500
9000
Ceci est le rsultat sans DISTINCT
O (b)
S_CID
7890
7910
8500
9000
O (c)
S_CID
8000
8500
9000
Ceci sont les valeurs uniques, donc ceux qui apparaissent quune seule fois (dans la table complte)
O (d)
S_CID
7910
8500
9000
Ceci sont les valeurs uniques, donc ceux qui apparaissent quune seule fois (dans les sessions non-annules)
O (e)
S_CID
7890
7910
8000
Ceci sont les lignes pour SCANCEL IS NOT NULL
O (f)
S_CID
7890
7910
Ceci sont les lignes apparaissant plusieurs fois
Donnez, par numro de cours, la liste de sessions, et indiquez selles sont annules ou
pas. Triez le rsultat par cours et par la colonne SCANCEL.
[_] [a]
[_] [b]
[_] [c]
[_] [d]
[_] [e]
[_] [f]