- nonclustered
- unique
- heap
- hash
- joining operations
- linking operations
- criteria operations
- logical operations
BEGIN TRY
SELECT 'Foo' AS Result;
END TRY
BEGIN CATCH
SELECT 'Bar' AS Result;
END CATCH
- Foo
- FooBar
- Foo Bar
- Bar
Q4. Given these two tables, which query generates a listing showing student names and the department office location where you could reach each student?
-
SELECT Students.first_name, Students.last_name, Departments.office_location FROM Students, Departments;
-
SELECT Students.first_name, Students.last_name, Departments.office_location FROM Students JOIN Departments ON Students.department = Departments.department;
-
SELECT Students.first_name, Students.last_name, Departments.office_location FROM Students JOIN Departments;
-
SELECT Students.first_name, Students.last_name, Departments.office_location FROM Students ON Students.department = Departments.department;
-
TRUNCATE TABLE
-
DELETE
-
MERGE
-
DROP
- :
SELECT GameType, MaxPlayers, count(*) AS NumberOfGames
FROM Games
GROUP BY MaxPlayers, GameType
ORDER BY MaxPlayers, GameType;
- :
SELECT GameType, MaxPlayers, count(*) AS NumberOfGames
FROM Games
GROUP BY GameType, MaxPlayers
ORDER BY GameType;
- :
SELECT GameType, count(Players) AS MaxPlayers, NumberOfGames
FROM Games
GROUP BY GameType, MaxPlayers
ORDER BY GameType;
- :
SELECT GameType, MaxPlayers, count(*) AS NumberOfGames
FROM Games
GROUP BY GameType
ORDER BY MaxPlayers;
DECLARE @UniqueID uniqueidentifier = NEWID();
SELECT @UniqueID AS Result;
- 1
- bb261196-66a5-43af-815d-123fc593cf3a
- z350mpj1-62lx-40ww-9ho0-4u1875rt2mx4
- 0x2400001155F04846674AD4590F832C0
Q8. You need to find all students that are not on the "Chemistry Cats" team. Which query does NOT work for this task?
- :
WHERE team NOT 'Chemistry Cats';
- :
WHERE team <> 'Chemistry Cats';
- :
WHERE team != 'Chemistry Cats';
- :
WHERE NOT team = 'Chemistry Cats';
Q9. You need to write a query that returns all Employees that have a LastName starting with the letter A. Which WHERE
clause should you use to fill in the blank in this query?
-
WHERE LastName = A*
-
WHERE LastName = LIKE '%A%'
-
WHERE LastName LIKE 'A%'
-
WHERE LastName IN ('A*')
Q10. Which query shows the first name, department, and team of all students with the two lowest points?
-
SELECT LIMIT(2) first_name, department, team FROM Students ORDER BY points ASC;
-
SELECT TOP(2) first_name, deprtment, team FROM Students ORDER BY points DESC;
-
SELECT TOP(2) WITH TIES first_name, department, team FROM Students ORDER BY points;
-
SELECT BOTTOM(2) first_name, department, team FROM Students ORDER BY points ASC;
the picture of table is important here and there it can be seen that there are only two value with min points. Secondly, the previous answer was wrong because order by
DESC
will put highest points into the beginning of result list andTOP(2)
will take first two highest points, and we need the lowest points.
SELECT FLOOR(-1234.321)
- -1234.3
- -1234
- -1235
- 1234.321
-
UPDATE Students SET last_name = 'Smith' WHERE email = '[email protected]';
-
UPDATE Students SET last_name = 'Figgins' WHERE email = '[email protected]';
-
UPDATE Students SET last_name = 'Figgins' WHERE last_name = 'Smith' AND first-name = 'Donette';
-
UPDATE Students SET last_name = 'Smith' WHERE last_name = 'Figgins' AND first-name = 'Donette';
- real
- bit
- decimal
- numeric
Q14. You need to remove all data from a table name Products. Which query fully logs the removal of each record?
-
TRUNCATE FROM Products *;
-
DELETE FROM Products;
-
DELETE * FROM Products;
-
TRUNCATE TABLE Products;
SELECT 1 / 2 AS Result;
- 0.5
- error
- 0
- 2
-
float
-
int
-
tinyint
-
bigint
SELECT 'abc\
def' AS Result;
- abc\def
- abcdef
- error
- abc def
-
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);
https://www.petefreitag.com/item/466.cfm
DECLARE @MyVariable int;
SET @MyVariable = 1;
GO
SELECT @MyVariable;
- error
- 1
- null
- @MyVariable
-
ALTER USER Sharon WITH DEFAULT_SCHEMA = Sales;
-
ALTER USER Sharon SET SCHEMA Sales;
-
CREATE SCHEMA Sales SET OWNER Sharon;
-
CREATE SCHEMA Sales AUTHORIZATION Sharon;
Q21. The result of a CROSS JOIN
between a table with 4 rows, and one with 5 rows, will give with _ rows.
- 1024
- 20
- 0
- 9
Q22. You need to write a query that returns all products that have a SerialNumber ending with "10_3". Which WHERE
clause should you use to fill in the blank in this query?
SELECT ProductID, ProductName, SerialNumber
FROM Products______ ;
-
WHERE SerialNumber LIKE '%10_3'
-
WHERE SerialNumber LIKE ('%10'+'_'+'3')
-
WHERE SerialNumber LIKE '%10"_"3'
-
WHERE SerialNumber LIKE '%10[_]3'
The underscore will match any single character so you must bracket it to match a literal
_
, otherwise you could potentially return a serial number ending in '1013', for example.
Q23. When no join type between multiple tables in a query's FROM
clause is specified, what type of join is assumed?
-
INNER
-
RIGHT
-
LEFT
-
FULL
- 1 byte
- 2 bytes
- 4 bytes
- 8 bytes
- that only records from the rightmost table will be displayed
- that no records from the rightmost table are displayed if the records dont have corresponding records in the left table
- that records from the rightmost table will be displayed only if the records have a corresponding value in the leftmost table
- that all records from the rightmost table are represented in the result, even if there are no corresponding records in the left table
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;
-
studentid firstname lastname 1 1001 mark twain
-
studentid firstname lastname 1 1 mark twain
-
studentid firstname lastname 1 1000 mark twain
-
studentid firstname lastname 1 null mark twain
Q27. Given a table with the following structure, which query returns all student names with the highest grade?
CREATE TABLE Students (
StudentName varchar(50),
Grade int );
-
SELECT StudentName FROM Students WHERE Grade = MAX(Grade);
-
SELECT TOP(1) StudentName FROM Students ORDER BY Grade;
-
SELECT TOP(1) WITH TIES StudentName FROM Students ORDER BY Grade DESC;
-
SELECT StudentName, MAX(Grade) FROM Students ORDER BY Grade DESC;
top(1)
with ties will take the highest grade and all other students with the same grade (because they are order by grade) and matches the highest grade.
select bookid, boooktitle, bookauthor,quantityonhand from inventory.books;
- you only want to see results from books currently in inventory
- it instructs the query engine to find the books table in the inventory schema
- it instructs the query engine to find the books table in the inventory database
- it instructs the query engine to join the books table to the inventory schema
select * from dbo.books
heredbo
is a schema and the inventory is also schema. If we'd like to specify a database we should usedb_name.schema_name.table_name
- Only records that have corresponding entries in table1 and table2 are displayed.
- No records from table1 are ever displayed.
- All records from table1 are displayed, regardless of whether the records have a corresponding row in table2
- Only records that have no corresponding records in table1 or table2 are displayed.
Q30. To remove all of the content from the Students table but keep the schema, which statement should you use?
-
TRUNCATE TABLE Students;
-
TRUNCATE * FROM Students;
-
DROP TABLE Students;
-
REMOVE * FROM Students;
Q31. Review the CREATE TABLE
statement below. Which option, when placed in the blank space, ensures that the BookISBN column will not contain any duplicate values?
CREATE TABLE Books (
BookID int PRIMARY KEY,
BookISBN char(13) NOT NULL _____,
BookTitle nvarchar(100) NOT NULL
);
-
NO DUPLICATES
-
UNIQUE CONSTRAINT AK_Books_BookISBN
- D
UPLICATE CONSTRAINT (AK_Books_BookISBN)
-
CONSTRAINT AK_Books_BookISBN UNIQUE
Q32. Given a table with the following structure, which query will not return the lowest grade earned by any student?
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;
Explanation: Column Students.Grade
is invalid in the ORDER BY
clause because it is not contained in either an aggregate function or the GROUP BY
clause.
- :
SELECT MIN(Grade)
FROM Students
GROUP BY Grade;
Explanation: Grouping will return a list of all grades grouped by grade. The prompt wants just one returned row.
-
UPDATE Students SET last_name='Smith', email = '[email protected]' WHERE id='56295';
-
UPDATE Students SET last_name='Smith' AND email = '[email protected]' WHERE id='56295';
-
UPDATE Students SET last_name='Smith' AND email = '[email protected]' WHERE id=56295;
-
UPDATE Students SET last_name='Smith', email = '[email protected]' WHERE id=56295;
Q34. You would like to have a record added to a TableB every time a record is modified in TableA. What technique should you look at implementing?
- You should create a DML trigger on the server.
- You should create a DDL trigger on the database.
- You should create a DML trigger on TableA.
- You should create a DML trigger on TableB.
DECLARE @Counter int;
SET @Counter = 1;
WHILE @Counter > 0
BEGIN
SET @Counter = @Counter +1;
END;
- There is no END WHILE statement;
- The local varaible is not available to the WHILE block.
- The query causes an infinite loop.
- "Counter" is an invalid variable name.
Q36. Which is the right query to change the name of the Philosophy Pandas team to the Philosophy Parrots?
-
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;
- error
- '123''123'
- 123123
- 246
Q38. To combine the results of two or more SELECT
statements, removing duplicates, which keyword can you use?
- DEDUPE
- SELECT
- MERGE
- UNION
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;
- 5
- error
- 1
- 6
SELECT OrderID, SUM(LineTotal) AS SubTotal
FROM Sales
WHERE SUM(LineTotal) > 1000
GROUP BY OrderID
ORDER BY OrderID;
- Yes, a
WHERE
clause cannot be used with an aggregate function. - Yes, you cannot
GROUP BY
andORDER BY
the same field. - No, there is nothing wrong with this query.
- Yes, the
WHERE
clause should use theSubTotal
alias.
Q41. You created the two tables below. Later, you decide that you want the database to remove all books from the Books table if the related publisher is deleted from the Publishers table. What command should you run?
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)
);
- :
ADD CONSTRAINT FK Books_PublisherID
FOREIGN KEY (PublisherID)
REFERENCES Publishers (PublisherID) ON UPDATE SET NULL
- :
ADD CONSTRAINT FK Books_PublisherID
FOREIGN KEY (PublisherID)
REFERENCES Publishers (PublisherID) ON DELETE CASCADE
- :
ADD CONSTRAINT FK_Books_PublisherID
FOREIGN KEY (PublisherID)
REFERENCES Publishers (PublisherID)
- :
ADD CONSTRAINT FK_Publishers_PublisherID
FOREIGN KEY (PublisherID)
REFERENCES Books (PublisherID) CASCADE DELETE
Q42. Your database currently has a table called Inventory in the Warehouse schema. You need to move the table to the Products schema. Which query accomplishes this goal?
-
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;
Q43. Which option—when placed in the blank space—establishes the PersonlD column as the primary key for the table with a nonclustered index?
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);
Q45. You need to create a simple database backup in the server's Z:\Backups
directory. Which query should you use?
-
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';
Q46. Suppose you want to have the name of a transaction called myTransaction recorded in the transaction log. Which statement represents the best way to accomplish this?
-
BEGIN TRAN myTransaction BEGIN LOG;
-
BEGIN TRAN myTransaction WITH LOG;
-
BEGIN TRAN myTransaction WITH MARK;
-
BEGIN TRAN WITH MARK myTransaction;
Q47. Though not currently a requirement, what will a future release of SQL Server require of all SQL statements?Though not currently a requirement, what will a future release of SQL Server require of all SQL statements?
-
All statements must end with a semicolon.
-
All statements must operate on a table of data.
-
All statements must always be written in uppercase letters.
-
All statements must include more than one variable.
Q48. Which is the best approach to update the last name and email address of a student with ID 56295?
-
UPDATE Students SET last_name='Smith', email = '[email protected]' WHERE id='56295';
-
UPDATE Students SET last_name='Smith', email = '[email protected]' WHERE id=56295;
-
UPDATE Students SET last_name='Smith' AND email = '[email protected]' WHERE id=56295;
-
UPDATE Students SET last_name='Smith' AND email = '[email protected]' WHERE id='56295';
SELECT 123+'abc' AS Result;
- 123abc
- 123'abc'
- '123abc'
- error
Q50.What output will the following SQL sequence produce? Assume that the tables have been created and all the columns exist.
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';
);
- 100
- 200
- 300
-
You will get an error because ROLLBACK deletes the row that was update