AND
, IN
, LIKE
et entre appartiennent à une catégorie appelée quoi ?BEGIN TRY SELECT 'Foo' AS Résultat; END TRY BEGIN CATCH SELECT 'Bar' AS Résultat; END CATCH
SELECT Students.prenom, Students.nom, Departments.emplacement_bureau FROM Students, Departments;
SELECT Students.prenom, Students.nom, Departments.emplacement_bureau FROM Students JOIN Departments ON Students.departement = Departments.departement;
SELECT Students.prenom, Students.nom, Departments.emplacement_bureau FROM Students JOIN Departments;
SELECT Students.prenom, Students.nom, Departments.emplacement_bureau FROM Students ON Students.departement = Departments.departement;
TRUNCATE TABLE
DELETE
MERGE
DROP
SELECT TypeJeu, JoueursMax, count(*) AS NombreDeJeux FROM Jeux GROUP BY JoueursMax, TypeJeu ORDER BY JoueursMax, TypeJeu;
SELECT TypeJeu, JoueursMax, count(*) AS NombreDeJeux FROM Jeux GROUP BY TypeJeu, JoueursMax ORDER BY TypeJeu;
SELECT TypeJeu, count(Joueurs) AS JoueursMax, NombreDeJeux FROM Jeux GROUP BY TypeJeu, JoueursMax ORDER BY TypeJeu;
SELECT TypeJeu, JoueursMax, count(*) AS NombreDeJeux FROM Jeux GROUP BY TypeJeu ORDER BY JoueursMax;
DECLARE @IDUnique uniqueidentifier = NEWID();
SELECT @IDUnique AS Résultat;
WHERE équipe NOT 'Chemistry Cats';
WHERE équipe <> 'Chemistry Cats';
WHERE équipe != 'Chemistry Cats';
WHERE NOT équipe = 'Chemistry Cats';
WHERE
devez-vous utiliser pour remplir le vide dans cette requête ?WHERE NomDeFamille = A*
WHERE NomDeFamille = LIKE '%A%'
WHERE NomDeFamille LIKE 'A%'
WHERE NomDeFamille IN ('A*')
SELECT LIMIT(2) prenom, département, équipe FROM Students ORDER BY points ASC;
SELECT TOP(2) prenom, département, équipe FROM Students ORDER BY points DESC;
SELECT TOP(2) WITH TIES prenom, département, équipe FROM Students ORDER BY points;
SELECT BOTTOM(2) prenom, département, équipe FROM Students ORDER BY points ASC;
L'image du tableau est importante ici et il peut être vu qu'il n'y a que deux valeurs avec des points minimaux. Deuxièmement, la réponse précédente était incorrecte car l'ordre par
DESC
mettra les points les plus élevés au début de la liste des résultats etTOP(2)
prendra les deux premiers points les plus élevés, et nous avons besoin des points les plus bas.
SELECT FLOOR(-1234.321)
UPDATE Students SET nom_de_famille = 'Smith' WHERE email = 'dfiggins@rouxacademy.com';
UPDATE Students SET nom_de_famille = 'Figgins' WHERE email = 'dfiggins@rouxacademy.com';
UPDATE Students SET nom_de_famille = 'Figgins' WHERE nom_de_famille = 'Smith' AND prénom = 'Donette';
UPDATE Students SET nom_de_famille = 'Smith' WHERE nom_de_famille = 'Figgins' AND prénom = 'Donette';
toutes les données d'une table nommée Produits. Quelle requête enregistre entièrement la suppression de chaque enregistrement ?
TRUNCATE FROM Produits *;
DELETE FROM Produits;
DELETE * FROM Produits;
TRUNCATE TABLE Produits;
SELECT 1 / 2 AS Résultat;
flottant
int
tinyint
bigint
SELECT 'abc\ def' AS Résultat;
SELECT TOP(1) prenom, nom_de_famille FROM Students ORDER BY NEWID();
SELECT TOP(1) RAND(prenom, nom_de_famille) FROM Student;
SELECT TOP(1) prenom, nom_de_famille FROM Student;
SELECT TOP(1) prenom, nom_de_famille FROM RAND(Student);
DECLARE @MaVariable int;
SET @MaVariable = 1;
GO
SELECT @MaVariable;
ALTER USER Sharon WITH DEFAULT_SCHEMA = Sales;
ALTER USER Sharon SET SCHEMA Sales;
CREATE SCHEMA Sales SET OWNER Sharon;
CREATE SCHEMA Sales AUTHORIZATION Sharon;
CROSS JOIN
entre une table avec 4 lignes et une autre avec 5 lignes donnera avec _ lignes.WHERE
devez-vous utiliser pour remplir le vide dans cette requête ?SELECT IDProduit, NomProduit, NuméroSérie FROM Produits______ ;
WHERE NuméroSérie LIKE '%10_3'
WHERE NuméroSérie LIKE ('%10'+'_'+'3')
WHERE NuméroSérie LIKE '%10"_"3'
WHERE NuméroSérie LIKE '%10[_]3'
Le tiret bas correspondra à n'importe quel caractère unique, donc vous devez envelopper le tiret bas littéral avec des crochets carrés, sinon cela peut renvoyer un numéro de série se terminant par '1013', '10A3', etc.
FROM
d'une requête n'est spécifié, quel type de jointure est supposé ?INNER
RIGHT
LEFT
FULL
RIGHT JOIN
garantit ?Create table students(id int identity(1000,1), firstname varchar(20),
lastname varchar(30));
insert into students(firstname,lastname)values('mark','twain');
select * from students;
%OPTION% studentid prenom nom_de_famille 1 1001 mark twain
%OPTION% studentid prenom nom_de_famille 1 1 mark twain
%OPTION% studentid prenom nom_de_famille 1 1000 mark twain
%OPTION% studentid prenom nom_de_famille 1 nul mark twain
CREATE TABLE Etudiants ( NomEtudiant varchar(50), Note int );
SELECT NomEtudiant FROM Etudiants WHERE Note = MAX(Note);
SELECT TOP(1) NomEtudiant FROM Etudiants ORDER BY Note;
SELECT TOP(1) WITH TIES NomEtudiant FROM Etudiants ORDER BY Note DESC;
SELECT NomEtudiant, MAX(Note) FROM Etudiants ORDER BY Note DESC;
top(1)
avec ties prendra la note la plus élevée et tous les autres ét
udiants ayant la même note (car ils sont triés par note) et correspondent à la note la plus élevée.
select bookid, boooktitle, bookauthor,quantityonhand from inventory.books;
select * from dbo.books
icidbo
est un schéma et l'inventaire est également un schéma. Si nous voulons spécifier une base de données, nous devons utilisernom_de_la_bdd.nom_du_schema.nom_de_la_table
INNER JOIN
entre table1 et table2 ?TRUNCATE TABLE Students;
TRUNCATE * FROM Students;
DROP TABLE Students;
REMOVE * FROM Students;
CREATE TABLE
ci-dessous. Quelle option, lorsqu'elle est placée dans l'espace vide, garantit que la colonne BookISBN ne contiendra pas de valeurs en double ?CREATE TABLE Books ( BookID int PRIMARY KEY, BookISBN char(13) NOT NULL _____, BookTitle nvarchar(100) NOT NULL );
NO DUPLICATES
UNIQUE CONSTRAINT AK_Books_BookISBN
DUPLICATE CONSTRAINT (AK_Books_BookISBN)
CONSTRAINT AK_Books_BookISBN UNIQUE
CREATE TABLE Students ( StudentName varchar(50), Grade int );
SELECT StudentName
FROM Students
WHERE Grade = (SELECT MIN(Grade) FROM Student);
SELECT TOP(1) Grade FROM Students ORDER BY Grade;
SELECT MIN(Grade) FROM Students
SELECT MIN(Grade) FROM Students ORDER BY Grade;
Explication : La colonne Students.Grade
n'est pas valide dans la clause ORDER BY
car elle n'est pas contenue dans une fonction d'agrégation ou la clause GROUP BY
.
SELECT MIN(Grade) FROM Students GROUP BY Grade;
Explication : Le regroupement renverra une liste de toutes les notes regroupées par note. La question demande juste une seule ligne de résultat.
UPDATE Students SET last_name='Smith', email = 'dsmith@rouxacademy.com' WHERE id='56295';
UPDATE Students SET last_name='Smith' AND email = 'dsmith@rouxacademy.com' WHERE id='56295';
UPDATE Students SET last_name='Smith' AND email = 'dsmith@rouxacademy.com' WHERE id=56295;
UPDATE Students SET last_name='Smith', email = 'dsmith@rouxacademy.com' WHERE id=56295;
DECLARE @Counter int;
SET @Counter = 1;
WHILE @Counter > 0
BEGIN
SET @Counter = @Counter +1;
END;
UPDATES Students SET team = 'Philosophy Parrots' WHERE team = 'Philosophy Pandas';
UPDATES Students SET team =
Philosophy ParrotsWHERE team =
Philosophy Pandas;` UPDATES Students SET team = "Philosophy Parrots" WHERE team = "Philosophy Pandas";
UPDATES Students SET team = Philosophy Parrots WHERE team = Philosophy Pandas;
SELECT 123+'123' AS Result;
SELECT
, en supprimant les doublons, quel mot-clé pouvez-vous utiliser ?CREATE TABLE MyTable (MyValue int); INSERT INTO MyTable VALUES (1); WHILE (SELECT MyValue FROM MyTable) < 5 BEGIN UPDATE My Table SET MyValue = MyValue + 1; END; SELECT MyValue AS Result FROM MyTable;
SELECT OrderID, SUM(LineTotal) AS SubTotal FROM Sales WHERE SUM(LineTotal) > 1000 GROUP BY OrderID ORDER BY OrderID;
WHERE
ne peut pas être utilisée avec une fonction d'agrégation. GROUP BY
et ORDER BY
sur le même champ. WHERE
devrait utiliser l'alias SubTotal
. CREATE TABLE Books ( BookID int PRIMARY KEY, BookTitle nvarchar(100) NOT NULL, PublisherID int NOT NULL ); CREATE TABLE Publishers ( PublisherID int PRIMARY KEY, PublisherName nvarchar(50) );
ALTER TABLE Books ADD CONSTRAINT FK Books_PublisherID FOREIGN KEY (PublisherID) REFERENCES Publishers (PublisherID) ON UPDATE SET NULL
ALTER TABLE Books ADD CONSTRAINT FK Books_PublisherID FOREIGN KEY (PublisherID) REFERENCES Publishers (PublisherID) ON DELETE CASCADE
[ ] :
ALTER TABLE Books ADD CONSTRAINT FK_Books_PublisherID FOREIGN KEY (PublisherID) REFERENCES Publishers (PublisherID)
ALTER TABLE Publishers ADD CONSTRAINT FK_Publishers_PublisherID FOREIGN KEY (PublisherID) REFERENCES Books (PublisherID) CASCADE DELETE
ALTER SCHEMA Products TRANSFER Warehouse.Inventory;
ALTER TABLE Warehouse.Inventory TRANSFER Products.Inventory;
ALTER TABLE Warehouse.Inventory ADD SCHEMA Products;
ALTER SCHEMA Warehouse ADD TABLE Inventory;
CREATE TABLE People ( PersonID int NOT NULL, PersonName nvarchar(50), _______ );
INDEX ON PersonID (PRIMARY KEY PK_People)
ADD NONCLUSTERED PRIMARY KEY CONSTRAINT PK_People ON PersonID
CONSTRAINT PK_People PRIMARY KEY NONCLUSTERED (PersonID)
PRIMARY KEY CONSTRAINT (PersonID) NONCLUSTERED INDEX
SELECT TOP(1) first_name, last_name FROM Students ORDER BY NEWID();
SELECT TOP(1) RAND(first_name, last_name) FROM Student;
SELECT TOP(1) first_name, last_name FROM Student;
SELECT TOP(1) first_name, last_name FROM RAND(Student);
Z:\Backups
du serveur. Quelle requête devez-vous utiliser ?BACKUP MyDatabase TO LOCATION = 'Z:\Backups\MyDatabase.bak';
CREATE BACKUP (DATABASE = 'MyDatabase' TO DISK = 'Z:\Backups\MyDatabase. bak');
BACKUP DATABASE MyDatabase ON 'Z:\Backups\MyDatabase.bak';
BACKUP DATABASE MyDatabase TO DISK = 'z:\Backups\MyDatabase.bak';
BEGIN TRAN myTransaction BEGIN LOG;
BEGIN TRAN myTransaction WITH LOG;
BEGIN TRAN myTransaction WITH MARK;
BEGIN TRAN WITH MARK myTransaction;
Toutes les instructions doivent se terminer par un point-virgule.
Toutes les instructions doivent fonctionner sur une table de données.
Toutes les instructions doivent toujours être écrites en lettres majuscules.
Toutes les instructions doivent inclure plus d'une variable.
UPDATE Students SET last_name='Smith', email = 'dsmith@rouxacademy.com' WHERE id='56295';
UPDATE Students SET last_name='Smith', email = 'dsmith@rouxacademy.com' WHERE id=56295;
UPDATE Students SET last_name='Smith' AND email = 'dsmith@rouxacademy.com' WHERE id=56295;
UPDATE Students SET last_name='Smith' AND email = 'dsmith@rouxacademy.com' WHERE id='56295';
SELECT 123+'abc' AS Result;
Conversion failed when converting the varchar value 'abc' to data type int.
INSERT INTO Account (acct,bal) VALUES ('12345', 100); UPDATE Account SET bal=bal+100; BEGIN; UPDATE Account SET bal=bal+100. ROLLBACK; SELECT bal FROM Account WHERE acct='12345'; );
Vous obtiendrez une erreur car ROLLBACK supprime la ligne qui a été mise à jour
SELECT first_name, email FROM Students WHERE department = Humanities;
SELECT first_name, email FROM Students WHERE department = "Humanities";
SELECT first_name, email FROM Students WHERE department = 'Humanities';
SELECT 'first_name', 'email' FROM 'Students' WHERE 'department' = "Humanities";
DROP TABLE Products.Inventory;
USE Products; DROP TABLE Inventory;
USE Products; DELETE Inventory;
USE Products.Inventory; DROP TABLE Inventory;
Cette déclaration commence par passer à la base de données Products en utilisant la commande
USE
, puis supprime la table Inventory en utilisant la commandeDROP TABLE
.
SELECT 123+'123' AS Result;
CREATE TABLE MyNumbers (
MyDecimalColumn decimal(5,2) NOT NULL
);
INSERT INTO MyNumbers VALUES (123), (45);
SELECT * FROM MyNumbers;
DROP TABLE Products.Inventory;
USE Products; DROP TABLE Inventory;
USE Products; DELETE Inventory;
USE Products.Inventory; DROP TABLE Inventory;