ExamTopic (With Discussion 1)
ExamTopic (With Discussion 1)
Question #1 Topic 1
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section. You will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You create a table named Products by running the following Transact-SQL statement:
You need to modify the stored procedure to meet the following new requirements:
✑ Insert product records as a single unit of work.
✑ Return error number 51000 when a product fails to insert into the database.
✑ If a product record insert operation fails, the product information must not be permanently written to the database.
Solution: You run the following Transact-SQL statement:
A. Yes
B. No
Correct Answer: B
With X_ABORT ON the INSERT INTO statement and the transaction will be rolled back when an error is raised, it would then not be possible to
ROLLBACK it again in the IF XACT_STATE() <> O ROLLBACK TRANSACTION statement.
Note: A transaction is correctly defined for the INSERT INTO ..VALUES statement, and if there is an error in the transaction it will be caughtant
he transaction will be rolled back, finally an error 51000 will be raised.
Note: When SET XACT_ABORT is ON, if a Transact-SQL statement raises a run-time error, the entire transaction is terminated and rolled back.
XACT_STATE is a scalar function thatreports the user transaction state of a current running request. XACT_STATE indicates whether the request
has an active user transaction, and whether the transaction is capable of being committed.
The states of XACT_STATE are:
✑ 0 There is no active user transaction for the current request.
✑ 1 The current request has an active user transaction. The request can perform any actions, including writing data and committing the
transaction.
✑ 2 The current request has an active user transaction, but an error hasoccurred that has caused the transaction to be classified as an
uncommittable transaction.
References:
https://msdn.microsoft.com/en-us/library/ms188792.aspx
https://msdn.microsoft.com/en-us/library/ms189797.aspx
Question #2 Topic 1
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section. You will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You create a table named Products by running the following Transact-SQL statement:
You need to modify the stored procedure to meet the following new requirements:
✑ Insert product records as a single unit of work.
✑ Return error number 51000 when a product fails to insert into the database.
✑ If a product record insert operation fails, the product information must not be permanently written to the database.
Solution: You run the following Transact-SQL statement:
B. No
Correct Answer: B
A transaction is correctly defined for the INSERT INTO .VALUES statement, and if there is an error in the transaction it will be caught ant he
transaction will be rolled back. However, error number 51000 will not be returned, as it is only used in an IF @ERROR = 51000 statement.
Note: @@TRANCOUNT returns the number of BEGIN TRANSACTION statements that have occurred on the current connection.
References:
https://msdn.microsoft.com/en-us/library/ms187967.aspx
Question #3 Topic 1
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section. You will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You create a table named Products by running the following Transact-SQL statement:
You need to modify the stored procedure to meet the following new requirements:
✑ Insert product records as a single unit of work.
✑ Return error number 51000 when a product fails to insert into the database.
If a product record insert operation fails, the product information must not be permanently written to the database.
Solution: You run the following Transact-SQL statement:
A. Yes
B. No
Correct Answer: A
If the INSERT INTO statement raises an error, the statement will be caught and an error 51000 will be thrown. In this case no records will have
been inserted.
Note:
You can implement error handling for the INSERT statement by specifying the statement in a TRY"¦CATCH construct.
If an INSERT statement violates a constraint or rule, or if it has a value incompatible with the data type of the column, the statement fails and an
error message is returned.
References:
https://msdn.microsoft.com/en-us/library/ms174335.aspx
Question #4 Topic 1
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section. You will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You create a table named Customer by running the following Transact-SQL statement:
You must insert the following data into the Customer table:
You need to ensure that both records are inserted or neither record is inserted.
Solution: You run the following Transact-SQL statement:
A. Yes
B. No
Correct Answer: B
As there are two separate INSERT INTO statements we cannot ensure that both or neither records are inserted.
Question #5 Topic 1
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section. You will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You create a table named Customer by running the following Transact-SQL statement:
You must insert the following data into the Customer table:
You need to ensure that both records are inserted or neither record is inserted.
Solution: You run the following Transact-SQL statement:
A. Yes
B. No
Correct Answer: B
As there are two separate INSERT INTO statements we cannot ensure that both or neither records are inserted.
Question #6 Topic 1
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section. You will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You create a table named Customer by running the following Transact-SQL statement:
You must insert the following data into the Customer table:
You need to ensure that both records are inserted or neither record is inserted.
Solution: You run the following Transact-SQL statement:
A. Yes
B. No
Correct Answer: A
With the INSERT INTO..VALUES statement we can insert both values with just one statement. This ensures that both records or neither is
inserted.
References:
https://msdn.microsoft.com/en-us/library/ms174335.aspx
Question #7 Topic 1
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section. You will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You have a database that tracks orders and deliveries for customers in North America. The database contains the following tables:
Sales.Customers -
Application.Cities -
Sales.CustomerCategories -
The company's development team is designing a customer directory application. The application must list customers by the area code of their
phone number. The area code is defined as the first three characters of the phone number.
The main page of the application will be based on an indexed view that contains the area and phone number for all customers.
You need to return the area code from the PhoneNumber field.
Solution: You run the following Transact-SQL statement:
A. Yes
B. No
Correct Answer: B
The function should return nvarchar(10) and not a TABLE.
References:
https://sqlstudies.com/2014/08/06/schemabinding-what-why/
Question #8 Topic 1
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section. You will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You have a database that tracks orders and deliveries for customers in North America. The database contains the following tables:
Sales.Customers -
Application.Cities -
Sales.CustomerCategories -
The company's development team is designing a customer directory application. The application must list customers by the area code of their
phone number. The area code is defined as the first three characters of the phone number.
The main page of the application will be based on an indexed view that contains the area and phone number for all customers.
You need to return the area code from the PhoneNumber field.
Solution: You run the following Transact-SQL statement:
A. Yes
B. No
Correct Answer: B
As the result of the function will be used in an indexed view we should use schemabinding.
References:
https://sqlstudies.com/2014/08/06/schemabinding-what-why/
Question #9 Topic 1
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section. You will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You have a database that tracks orders and deliveries for customers in North America. The database contains the following tables:
Sales.Customers -
Application.Cities -
Sales.CustomerCategories -
The company's development team is designing a customer directory application. The application must list customers by the area code of their
phone number. The area code is defined as the first three characters of the phone number.
The main page of the application will be based on an indexed view that contains the area and phone number for all customers.
You need to return the area code from the PhoneNumber field.
Solution: You run the following Transact-SQL statement:
A. Yes
B. No
Correct Answer: B
We need SELECT TOP 1 @areacode =.. to ensure that only one value is returned.
Question #10 Topic 1
Note: This question is part of a series of questions that use the same scenario. For your convenience, the scenario is repeated in each question.
Each question presents a different goal and answer choices, but the text of the scenario is exactly the same in each question in this series.
You query a database that includes two tables: Project and Task. The Project table includes the following columns:
You plan to run the following query to update tasks that are not yet started:
UPDATE Task SET StartTime = GETDATE() WHERE StartTime IS NULL
You need to return the total count of tasks that are impacted by this UPDATE operation, but are not associated with a project.
What set of Transact-SQL statements should you run?
A.
B.
C.
D.
Correct Answer: B
The WHERE clause of the third line should be WHERE ProjectID IS NULL, as we want to count the tasks that are not associated with a project.
HOTSPOT -
Note: This question is part of a series of questions that use the same scenario. For your convenience, the scenario is repeated in each question.
Each question presents a different goal and answer choices, but the text of the scenario is exactly the same in each question in this series.
You query a database that includes two tables: Project and Task. The Project table includes the following columns:
You need to identify the owner of each task by using the following rules:
✑ Return each task's owner if the task has an owner.
✑ If a task has no owner, but is associated with a project that has an owner, return the project's owner.
✑ Return the value-1for all other cases.
How should you complete the Transact-SQL statement? To answer, select the appropriate Transact-SQL segments in the answer area.
Hot Area:
Correct Answer:
Box 1: COALESCE -
COALESCE evaluates the arguments in order and returns the current value of the first expression that initially does not evaluate to NULL.
DRAG DROP -
Note: This question is part of a series of questions that use the same scenario. For your convenience, the scenario is repeated in each question.
Each question presents a different goal and answer choices, but the text of the scenario is exactly the same in each question in this series.
You query a database that includes two tables: Project and Task. The Project table includes the following columns:
You need to determine the task level for each task in the hierarchy.
Which five Transact-SQL segments should you use to develop the solution? To answer, move the appropriate Transact-SQL segments from the list
of Transact-
SQL segments to the answer area and arrange them in the correct order.
Select and Place:
Correct Answer:
Box 2: UNION -
We should use UNION and not UNION ALL as we do not went duplicate rows.
UNION specifies that multiple result sets are to be combined and returned as a single result set.
Incorrect Answers:
Not UNION ALL: ALL incorporates all rows into the results. This includes duplicates. If not specified, duplicate rows are removed.
Box 3, Box 4, Box 5:
These statements select all tasks with task level >0.
References:
https://msdn.microsoft.com/en-us/library/ms180026.aspx
DRAG DROP -
Note: This question is part of a series of questions that use the same scenario. For your convenience, the scenario is repeated in each question.
Each question presents a different goal and answer choices, but the text of the scenario is exactly the same in each question in this series.
You query a database that includes two tables: Project and Task. The Project table includes the following columns:
When running an operation, you updated a column named EndTime for several records in the Project table, but updates to the corresponding task
records in the
Task table failed.
You need to synchronize the value of the EndTime column in the Task table with the value of the EndTime column in the project table. The solution
must meet the following requirements:
✑ If the EndTime column has a value, make no changes to the record.
✑ If the value of the EndTime column is null and the corresponding project record is marked as completed, update the record with the project
finish time.
Which four Transact-SQL segments should you use to develop the solution? To answer, move the appropriate Transact-SQL segments from the list
of Transact-
SQL segments to the answer area and arrange them in the correct order.
Select and Place:
Correct Answer:
You need to create a database object that meets the following requirements:
✑ accepts a product identified as input
✑ calculates the total quantity of a specific product, including quantity on hand and quantity on order
✑ caches and reuses execution plan
✑ returns a value
✑ can be called from within a SELECT statement
✑ can be used in a JOIN clause
What should you create?
HOTSPOT -
You have the following stored procedure:
Correct Answer:
HOTSPOT -
You need to develop a Transact-SQL statement that meets the following requirements:
✑ The statement must return a custom error when there are problems updating a table.
✑ The error number must be value50555.
✑ Theerror severity level must be14.
✑ A Microsoft SQL Server alert must be triggered when the error condition occurs.
Which Transact-SQL segment should you use for each requirement? To answer, select the appropriate Transact-SQL segments in the answer area.
Hot Area:
Correct Answer:
Box 1: TRY"¦CATCH -
The TRY...CATCH Transact-SQL construct implements error handling for Transact-SQL that is similar to the exception handling in the Microsoft
Visual C# and
Microsoft Visual C++ languages. A group of Transact-SQL statements can be enclosed in a TRY block. If an error occurs in the TRY block,
control is passed to another group of statements that is enclosed in a CATCH block.
Box 2: RAISERROR(50555, 14, 1 'The update failed.") WITH LOG
We must use RAISERROR to be able to specify the required severity level of 14, and we should also use the LOG option, which Logs the error in
the error log and the application log for the instance of the Microsoft SQL Server Database Engine, as this enable a MS MS SQL SERVER alert to
be triggered.
Note: RAISERROR generates an error message and initiates error processing for the session. RAISERROR can either reference a user-defined
message stored in the sys.messages catalog view or build a message dynamically. The message is returned as a server error message to the
calling application or to an associated CATCH block of a TRY"¦CATCH construct.
Incorrect Answers:
Not THROW: THROW does not have a severity parameter.
References:
https://msdn.microsoft.com/en-us/library/ms175976.aspx
https://msdn.microsoft.com/en-us/library/ms178592.aspx
Bartek 6 months, 1 week ago
"A Microsoft
SQL Server alert must be triggered when the error condition occurs." Seems to be
correct answer "..With Nowait" Ref. Itzik Ben-Gan QUerying Microsoft Sql Server
2014" "You can issue RAISERROR with a severity level > 20 if you use the
WITH LOG option and if you have the SQL Server sysadmin role. SQL Server will
then terminate the connection when the error is raised. -You can use RAISERROR
with NOWAIT to send messages immediately to the client. The message does not
wait in the output buffer before being sent."
upvoted 1 times
DRAG DROP -
You need to create a stored procedure to update a table named Sales.Customers. The structure of the table is shown in the exhibit. (Click the
exhibit button.)
The stored procedure must meet the following requirements:
✑ Accept two input parameters.
✑ Update the company name if the customer exists.
✑ Return a custom error message if the customer does not exist.
Which five Transact-SQL segments should you use to develop the solution? To answer, move the appropriate Transact-SQL segments from the list
of Transact-
SQL segments to the answer area and arrange them in the correct order.
NOTE: More than one order of answer choices is correct. You will receive credit for any of the correct orders you select.
Select and Place:
Correct Answer:
Robintang0924 1 month, 4 weeks ago
By
given statements, below version should be the optimized one since it only needs
to read table once when there is no existing custid in the table. 1.CREATE
PROCEDURE sales.modcompanyname @custId int, @newname nvarchar(40) as 2.IF NOT
EXISTS (SELECT custid FROM Sales.Customers WHERE custid = @custID) 3.BEGIN THROW
55555, 'The customer ID does not exist' , 1 END 4.UPDATE sales.customers SET
companyname=@newname where custid=@custID However, if we can come up something
by ourselves, then below should be even better performance since we only need to
touch table once no matter we got existing custid in table or not (above
solution still need to access table twice when custid existed in table):
1.CREATE PROCEDURE sales.modcompanyname @custId int, @newname nvarchar(40) as
2.UPDATE sales.customers SET companyname=@newname where custid=@custID 3. IF
@@ROWCOUNT = 0 4.BEGIN THROW 55555, 'The customer ID does not exist' , 1
END
upvoted 2 times
You need to create an indexed view that requires logic statements to manipulate the data that the view displays.
Which two database objects should you use? Each correct answer presents a complete solution.
B. a CRL function
C. a stored procedure
Correct Answer: AC
You can create a database object inside an instance of SQL Server that is programmed in an assembly created in the Microsoft .NET Framework
common language runtime (CLR). Database objects that can leverage the rich programming model provided by the common language runtime
include aggregate functions, functions, stored procedures, triggers, and types.
DRAG DROP -
You have two tables named UserLogin and Employee respectively.
You need to create a Transact-SQL script that meets the following requirements:
✑ The script must update the value of the IsDeleted column for the UserLogin table to 1 if the value of the Id column for the UserLogin table is
equal to1.
✑ The script must update the value of the IsDeleted column of the Employee table to 1 if the value of the Id column is equal to 1 for the Employee
table when an update to the UserLogin table throws an error.
✑ The error message "No tables updated!" must be produced when an update to the Employee table throws an error.
Which five Transact-SQL segments should you use to develop the solution? To answer, move the appropriate Transact-SQL segments from the list
of Transact-
SQL segments to the answer area and arrange them in the correct order.
Select and Place:
Correct Answer:
A TRY block must be immediately followed by an associated CATCH block. Including any other statements between the END TRY and BEGIN
CATCH statements generates a syntax error.
References:
https://msdn.microsoft.com/en-us/library/ms175976.aspx
Houdinni 7 months ago
You should have the second TRY CATCH block nested inside
the first CATCH block, in order to fulfill the condition: "The script must
update the value of the IsDeleted column of the Employee table to 1 if the value
of the Id column is equal to 1 for the Employee table when an update to the
UserLogin table throws an error."
upvoted 7 times
SIMULATION -
You work for an organization that monitors seismic activity around volcanos. You have a table named GroundSensors. The table stored data
collected from seismic sensors. It includes the columns describes in the following table:
The database also contains a scalar value function named NearestMountain that returns the name of the mountain that is nearest to the sensor.
You need to create a query that shows the average of the normalized readings from the sensors for each mountain. The query must meet the
following requirements:
✑ Include the average normalized readings and nearest mountain name.
✑ Exclude sensors for which no normalized reading exists.
✑ Exclude those sensors with value of zero for tremor.
Construct the query using the following guidelines:
✑ Use one part names to reference tables, columns and functions.
✑ Do not use parentheses unless required.
✑ Do not use aliases for column names and table names.
Do not surround object names with square brackets.
Part of the correct Transact-SQL has been provided in the answer area below. Enter the code in the answer area that resolves the problem and
meets the stated goals or requirements. You can add code within the code that has been provided as well as below it.
Use the Check Syntax button to verify your work. Any syntax or spelling errors will be reported by line and character position.
FROM GroundSensors -
WHERE TREMOR IS NOT 0 AND NormalizedReading IS NOT NULL
GROUP BY NearestMountain(SensorID)
GROUP BY is a SELECT statement clause that divides the query result into groups of rows, usually for the purpose of performing one or more
aggregations on each group. The SELECT statement returns one row per group.
References:
https://msdn.microsoft.com/en-us/library/ms177673.aspx
You need to write a query that will change the value of the job title column to Customer Representative for any employee who lives in Seattle and
has a job title of
Sales Representative. If the employee does not have a manager defined, you must not change the title.
Which three Transact-SQL segments should you use to develop the solution? To answer, move the appropriate Transact-SQL segments from the
list of Transact-
SQL segments to the answer area and arrange them in the correct order.
Select and Place:
Correct Answer:
References:
https://msdn.microsoft.com/en-us/library/ms177523.aspx
Vanesa30 1 month ago
update Employees set title='Custom Representative'
where city ='Seatle' and title = 'Sales Representative' and mgrid is not
null
upvoted 2 times
HOTSPOT -
You have the following Transact-SQL query:
What type of functions are used in the query? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Hot Area:
Correct Answer:
Box 1: Scalar -
The return value of a function can either be a scalar (single) value or a table.
Box 2: Table-Valued -
The APPLY operator allows you to invoke a table-valued function for each row returned by an outer table expression of a query. The table-valued
function acts as the right input and the outer table expression acts as the left input. The right input is evaluated for each row from the left input
and the rows produced are combined for the final output. The list of columns produced by the APPLY operator is the set of columns in the left
input followed by the list of columns returned by the right input.
References:
https://msdn.microsoft.com/en-us/library/ms186755.aspx
https://technet.microsoft.com/en-us/library/ms175156(v=sql.105).aspx
DRAG DROP -
You have a database that includes the following tables:
You need to create a list of all customer IDs and the date of the last order that each customer placed. If the customer has not placed any orders,
you must return the date January 1, 1900. The column names must be CustomerID and LastOrderDate.
Which four Transact-SQL segments should you use to develop the solution? To answer, move the appropriate Transact-SQL segments from the list
of Transact-
SQL segments to the answer area and arrange them in the correct order.
Select and Place:
Correct Answer:
Box 1: SELECT..COALESCE"¦
The COALESCE function evaluates the arguments in order and returns the current value of the first expression that initially does not evaluate to
NULL.
Box 2: ..LEFT OUTER JOIN..
The LEFT JOIN (LEFT OUTER JOIN) keyword returns all rows from the left table (table1), with the matching rows in the right table (table2). The
result is NULL in the right side when there is no match. A customer might have no orders so the right table must be allowed have a NULL value.
HOTSPOT -
You run the following Transact-SQL statement:
You need to ensure that you can insert data into the table.
What are the characteristics of the data? To answer, select the appropriate options in the answer area.
Hot Area:
Correct Answer:
Box 1: custid -
IDENTITY indicates that the new column is an identity column. When a new row is added to the table, the Database Engine provides a unique,
incremental value for the column. Identity columns are typically used with PRIMARY KEY constraints to serve as the unique row identifier for the
table.
Box2: postalcode -
postalcode is declared as NOT NULL, which means that a value must be inserted.
Box 3: region -
Fax is also a correct answer. Both these two columns are declared as NULL, which means that data entry is optional.
References:
https://msdn.microsoft.com/en-us/library/ms174979.aspx
SIMULATION -
You create a table named Sales.Orders by running the following Transact-SQL statement:
Use the Check Syntax button to verify your work. Any syntax or spelling errors will be reported by line and character position.
SIMULATION -
You have a database that contains the following tables.
You need to create a query that lists the lowest-performing salespersons based on the current year-to-date sales period. The query must meet the
following requirements:
✑ Return a column named Fullname that includes the salesperson FirstName, a space, and then LastName.
✑ Include the current year-to-date sales for each salesperson.
✑ Display only data for the three salespersons with the lowest year-to-year sales values.
✑ Exclude salespersons that have no value for TerritoryID.
Construct the query using the following guidelines:
✑ Use the first letter of a table name as the table alias.
✑ Use two-part column names.
✑ Do not surround object names with square brackets.
✑ Do not use implicit joins.
✑ Use only single quotes for literal text.
Use aliases only if required.
Part of the correct Transact-SQL has been provided in the answer area below. Enter the code in the answer area that resolves the problem and
meets the stated goals or requirements. You can add code within the code that has been provided as well as below it.
Use the Check Syntax button to verify your work. Any syntax or spelling errors will be reported by line and character position.
Correct Answer: Please see explanation
SIMULATION -
You have a database that contains the following tables.
You need to create a query that lists all complaints from the Complaints table, and the name of the person handling the complaints if a person is
assigned. The
ComplaintID must be displayed first, followed by the person name.
Construct the query using the following guidelines:
✑ Use two-part column names.
✑ Use one-part table names.
✑ Do not use aliases for column names or table names.
✑ Do not use Transact-SQL functions.
✑ Do not use implicit joins.
✑ Do not surround object names with square brackets.
Part of the correct Transact-SQL has been provided in the answer area below. Enter the code in the answer area that resolves the problem and
meets the stated goals or requirements. You can add code within the code that has been provided as well as below it.
Use the Check Syntax button to verify your work. Any syntax or spelling errors will be reported by line and character position.
Correct Answer: Please see explanation
References:
https://technet.microsoft.com/en-us/library/ms190014(v=sql.105).aspx
You have a database that includes the tables shown in the exhibit. (Click the exhibit button.)
You need to create a list of all customers, the order ID for the last order that the customer placed, and the date that the order was placed. For
customers who have not placed orders, you must substitute a zero for the order ID and 01/01/1990 for the date.
Which Transact-SQL statement should you run?
A.
B.
C.
D.
A. Option A
B. Option B
C. Option C
D. Option D
Correct Answer: A
ISNULL Syntax: ISNULL ( check_expression , replacement_value ) author:"Luxemburg, Rosa"
The ISNULL function replaces NULL with the specified replacement value. The value of check_expression is returned if it is not NULL; otherwise,
replacement_value is returned after it is implicitly converted to the type of check_expression.
References:
https://msdn.microsoft.com/en-us/library/ms184325.aspx
Customer -
CustomerAudit -
Where the value of the CustomerID column equals 3, you need to update the value of the CreditLimit column to 1000 for the customer. You must
ensure that the change to the record in the Customer table is recorded on the CustomerAudit table.
Which Transact-SQL statement should you run?
A.
B.
C.
D.
A. Option A
B. Option B
C. Option C
D. Option D
Correct Answer: D
The OUTPUT Clause returns information from, or expressions based on, each row affected by an INSERT, UPDATE, DELETE, or MERGE
statement. These results can be returned to the processing application for use in such things as confirmation messages, archiving, and other
such application requirements. The results can also be inserted into a table or table variable. Additionally, you can capture the results of an
OUTPUT clause in a nested INSERT, UPDATE, DELETE, or MERGE statement, and insert those results into a target table or view.
Note: If the column modified by the .RITE clause is referenced in an OUTPUT clause, the complete value of the column, either the before image
in deleted.column_name or the after image in inserted.column_name, is returned to the specified column in the tablevariable.
Incorrect Answers:
C: The deleted.Creditlimit should be inserted in the second column, the OldCreditLimit column, not the third column.
References:
https://msdn.microsoft.com/en-us/library/ms177564.aspx
DRAG DROP -
Note: This question is part of a series of questions that use the same scenario. For your convenience, the scenario is repeated in each question.
Each question presents a different goal and answer choices, but the text of the scenario is exactly the same in each question on this series.
You have a database that tracks orders and deliveries for customers in North America. System versioning is enabled for all tables. The database
contains the
Sales.Customers, Application.Cities, and Sales.CustomerCategories tables.
Details for the Sales.Customers table are shown in the following table:
Details for the Application.Cities table are shown in the following table:
Details for the Sales.CustomerCategories table are shown in the following table:
You are creating a report to show when the first customer account was opened in each city. The report contains a line chart with the following
characteristics:
✑ The chart contains a data point for each city, with lines connecting the points.
✑ The X axis contains the position that the city occupies relative to other cities.
✑ The Y axis contains the date that the first account in any city was opened.
An example chart is shown below for five cities:
During a sales promotion, customers from various cities open new accounts on the same date.
You need to write a query that returns the data for the chart.
How should you complete the Transact-SQL statement? To answer, drag the appropriate Transact-SQL segments to the correct locations. Each
Transact-SQL segment may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view
content.
NOTE: Each correct selection is worth one point.
Select and Place:
Correct Answer:
Details for the Application.Cities table are shown in the following table:
Details for the Sales.CustomerCategories table are shown in the following table:
A.
B.
C.
D.
Correct Answer: A
Using Cross Joins -
A cross join that does not have a WHERE clause produces the Cartesian product of the tables involved in the join. The size of a Cartesian
product result set is the number of rows in the first table multiplied by the number of rows in the second table.
However, if a WHERE clause is added, the cross join behaves as an inner join.
B: You can use the IIF in the ON-statement.
IIF returns one of two values, depending on whether the Boolean expression evaluates to true or false in SQL Server.
References:
https://technet.microsoft.com/en-us/library/ms190690(v=sql.105).aspx https://msdn.microsoft.com/en-us/library/hh213574.aspx
Note: This question is part of a series of questions that use the same scenario. For your convenience, the scenario is repeated in each question.
Each question presents a different goal and answer choices, but the text of the scenario is exactly the same in each question on this series.
You have a database that tracks orders and deliveries for customers in North America. System versioning is enabled for all tables. The database
contains the
Sales.Customers, Application.Cities, and Sales.CustomerCategories tables.
Details for the Sales.Customers table are shown in the following table:
Details for the Application.Cities table are shown in the following table:
Details for the Sales.CustomerCategories table are shown in the following table:
You discover an application bug that impacts customer data for records created on or after January 1, 2014. In order to fix the data impacted by
the bug, application programmers require a report that contains customer data as it existed on December 31, 2013.
You need to provide the query for the report.
Which Transact-SQL statement should you use?
A.
B.
C.
D.
E.
Correct Answer: D
The datetime datetype defines a date that is combined with a time of day with fractional seconds that is based on a 24-hour clock.
The DATEFROMPARTS function returns a date value for the specified year, month, and day.
Incorrect Answers:
A: ValidFrom should be less (<) than @sdate AND ValidTo should be greater (>) than @edate.
B: We should add a day with DATEADD, not subtract one day.
C: We cannot compare a date to an exact datetime.
References:
https://msdn.microsoft.com/en-us/library/ms187819.aspx
DRAG DROP -
Note: This question is part of a series of questions that use the same scenario. For your convenience, the scenario is repeated in each question.
Each question presents a different goal and answer choices, but the text of the scenario is exactly the same in each question on this series.
You have a database that tracks orders and deliveries for customers in North America. System versioning is enabled for all tables. The database
contains the
Sales.Customers, Application.Cities, and Sales.CustomerCategories tables.
Details for the Sales.Customers table are shown in the following table:
Details for the Application.Cities table are shown in the following table:
Details for the Sales.CustomerCategories table are shown in the following table:
You are creating a report to measure the impact of advertising efforts that were designed to attract new customers. The report must show the
number of new customers per day for each customer category, but only if the number of new customers is greater than five.
You need to write the query to return data for the report.
How should you complete the Transact-SQL statement? To answer, drag the appropriate Transact-SQL segments to the correct locations. Each
Transact-SQL segment may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view
content.
Select and Place:
Correct Answer:
DRAG DROP -
Note: This question is part of a series of questions that use the same scenario. For your convenience, the scenario is repeated in each question.
Each question presents a different goal and answer choices, but the text of the scenario is exactly the same in each question on this series.
You have a database that tracks orders and deliveries for customers in North America. System versioning is enabled for all tables. The database
contains the
Sales.Customers, Application.Cities, and Sales.CustomerCategories tables.
Details for the Sales.Customers table are shown in the following table:
Details for the Application.Cities table are shown in the following table:
Details for the Sales.CustomerCategories table are shown in the following table:
The marketing department is performing an analysis of how discount affect credit limits. They need to know the average credit limit per standard
discount percentage for customers whose standard discount percentage is between zero and four.
You need to create a query that returns the data for the analysis.
How should you complete the Transact-SQL statement? To answer, drag the appropriate Transact-SQL segments to the correct locations. Each
Transact-SQL segments may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view
content.
Select and Place:
Correct Answer:
Box 1: 0, 1, 2, 3, 4 -
Pivot example:
-- Pivot table with one rowand five columns
SELECT 'AverageCost' AS Cost_Sorted_By_Production_Days,
[0], [1], [2], [3], [4]
FROM -
(SELECT DaysToManufacture, StandardCost
FROM Production.Product) AS SourceTable
PIVOT -
(
AVG(StandardCost)
FOR DaysToManufacture IN ([0], [1], [2], [3], [4])
) AS PivotTable;
Box 2: [CreditLimit]
Box 3: PIVOT -
You can use the PIVOT and UNPIVOT relational operators to change a table-valued expression into another table. PIVOT rotates a table-valued
expression by turning the unique values from one column in the expression into multiple columns in the output, and performs aggregations
where they are required on any remaining column values that are wanted in the final output.
Box 4: 0, 1, 2, 3, 4 -
The IN clause determines whether a specified value matches any value in a subquery or a list.
Syntax: test_expression [ NOT ] IN ( subquery | expression [ ,...n ] )
Where expression[ ,... n ] is a list of expressions to test for a match. All expressions must be of the same type as test_expression.
References:
https://technet.microsoft.com/en-us/library/ms177410(v=sql.105).aspx
DRAG DROP -
Note: This question is part of a series of questions that use the same scenario. For your convenience, the scenario is repeated in each question.
Each question presents a different goal and answer choices, but the text of the scenario is exactly the same in each question on this series.
You have a database that tracks orders and deliveries for customers in North America. System versioning is enabled for all tables. The database
contains the
Sales.Customers, Application.Cities, and Sales.CustomerCategories tables.
Details for the Sales.Customers table are shown in the following table:
Details for the Application.Cities table are shown in the following table:
Details for the Sales.CustomerCategories table are shown in the following table:
You are preparing a promotional mailing. The mailing must only be sent to customers in good standing that live in medium and large cities.
You need to write a query that returns all customers that are not on credit hold who live in cities with a population greater than 10,000.
How should you complete the Transact-SQL statement? To answer, drag the appropriate Transact-SQL segments to the correct locations. Each
Transact-SQL segment may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view
content.
Select and Place:
Correct Answer:
Box 1: IN (
The IN clause determines whether a specified value matches any value in a subquery or a list.
Syntax: test_expression [ NOT ] IN ( subquery | expression [ ,...n ] )
Where subquery is a subquery that has a result set of one column. This column must have the same data type as test_expression.
Box 2: WHERE -
Note: This question is part of a series of questions that use the same or similar answer choices. An answer choice may be correct for more than
one question in the series. Each question is independent of the other questions in this series. Information and details provided in a question apply
only to that question.
You have a table named Products that contains information about the products that your company sells. The table contains many columns that do
not always contain values.
You need to implement an ANSI standard method to convert the NULL values in the query output to the phrase "Not Applicable".
What should you implement?
B. a view
C. a table-valued function
E. a stored procedure
G. a scalar function
H. the TRY_CONVERT function
Correct Answer: F
The ISNULL function replaces NULL with the specified replacement value.
References:
https://msdn.microsoft.com/en-us/library/ms184325.aspx
Note: This question is part of a series of questions that use the same or similar answer choices. An answer choice may be correct for more than
one question in the series. Each question is independent of the other questions in this series. Information and details provided in a question apply
only to that question.
You have a database that is denormalized. Users make frequent changes to data in a primary table.
You need to ensure that users cannot change the tables directly, and that changes made to the primary table also update any related tables.
What should you implement?
B. a view
C. a table-valued function
E. a stored procedure
G. a scalar function
Correct Answer: B
Using an Indexed View would allow you to keep your base data in properly normalized tables and maintain data-integrity while giving you the
denormalized "view" of that data.
References:
http://stackoverflow.com/questions/4789091/updating-redundant-denormalized-data-automatically-in-sql-server
Note: This question is part of a series of questions that use the same or similar answer choices. An answer choice may be correct for more than
one question in the series. Each question is independent of the other questions in this series. Information and details provided in a question apply
only to that question.
You have a database that stores sales and order information.
Users must be able to extract information from the tables on an ad hoc basis. They must also be able to reference the extracted information as a
single table.
You need to implement a solution that allows users to retrieve the data required, based on variables defined at the time of the query.
What should you implement?
B. a view
C. a table-valued function
E. a stored procedure
G. a scalar function
Correct Answer: C
User-defined functions that return a table data type can be powerful alternatives to views. These functions are referred to as table-valued
functions. A table-valued user-defined function can be used where table or view expressions are allowed in Transact-SQL queries. While views
are limited to a single SELECT statement, user-defined functions can contain additional statements that allow more powerful logic than is
possible in views.
A table-valued user-defined function can also replace stored procedures that return a single result set.
References:
https://technet.microsoft.com/en-us/library/ms191165(v=sql.105).aspx
Note: This question is part of a series of questions that use the same or similar answer choices. An answer choice may be correct for more than
one question in the series. Each question is independent of the other questions in this series. Information and details provided in a question apply
only to that question.
You have a table named AuditTrail that tracks modifications to data in other tables. The AuditTrail table is updated by many processes. Data input
into AuditTrail may contain improperly formatted date time values. You implement a process that retrieves data from the various columns in
AuditTrail, but sometimes the process throws an error when it is unable to convert the data into valid date time values.
You need to convert the data into a valid date time value using the en-US format culture code. If the conversion fails, a null value must be returned
in the column output. The conversion process must not throw an error.
What should you implement?
B. a view
C. a table-valued function
E. a stored procedure
G. a scalar function
Correct Answer: H
A TRY_CONVERT function returns a value cast to the specified data type if the cast succeeds; otherwise, returns null.
References:
https://msdn.microsoft.com/en-us/library/hh230993.aspx
HOTSPOT -
You have the following subqueries: Subquery1, Subquery2, and Subquery3.
You need to replace the three subqueries with named result sets or temporary tables. The following requirements must be met:
Which replacement techniques should you use? To answer, select the appropriate options in the answer area.
Hot Area:
Correct Answer:
You have a database that stored information about servers and application errors. The database contains the following tables.
Servers -
Errors -
You need to return all error log messages and the server where the error occurs most often.
Which Transact-SQL statement should you run?
A.
B.
C.
D.
Correct Answer: C
DRAG DROP -
You have a database that stored information about servers and application errors. The database contains the following tables.
Servers -
Errors -
You are building a webpage that shows the three most common errors for each server.
You need to return the data for the webpage.
How should you complete the Transact-SQL statement? To answer, drag the appropriate Transact-SQL segments to the correct location. Each
Transact-SQL segment may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view
content.
NOTE: Each correct selection is worth one point.
Select and Place:
Correct Answer:
You have a database named MyDb. You run the following Transact-SQL statements:
A.
B.
C.
D.
Correct Answer: C
SIMULATION -
You have a table named Cities that has the following two columns: CityID and CityName. The CityID column uses the int data type, and CityName
uses nvarchar
(max).
You have a table named RawSurvey. Each row includes an identifier for a question and the number of persons that responded to that question
from each of four cities. The table contains the following representative data:
A reporting table named SurveyReport has the following columns: CityID, QuestionID, and RawCount, where RawCount is the value from the
RawSurvey table.
You need to write a Transact-SQL query to meet the following requirements:
✑ Retrieve data from the RawSurvey table in the format of the SurveyReport table.
✑ The CityID must contain the CityID of the city that was surveyed.
✑ The order of cities in all SELECT queries must match the order in the RawSurvey table.
✑ The order of cities in all IN statements must match the order in the RawSurvey table.
Construct the query using the following guidelines:
✑ Use one-part names to reference tables and columns, except where not possible.
✑ ALL SELECT statements must specify columns.
✑ Do not use column or table aliases, except those provided.
Do not surround object names with square brackets.
Part of the correct Transact-SQL has been provided in the answer area below. Enter the code in the answer area that resolves the problem and
meets the stated goals or requirements. You can add code within the code that has been provided as well as below it.
Use the Check Syntax button to verify your work. Any syntax or spelling errors will be reported by line and character position.
UNPIVOT must be used to rotate columns of the Rawsurvey table into column values.
References:
https://technet.microsoft.com/en-us/library/ms177410(v=sql.105).aspx
DRAG DROP -
You create three tables by running the following Transact-SQL statements:
For reporting purposes, you need to find the active user count for each role, and the total active user count. The result must be ordered by active
user count of each role. You must use common table expressions (CTEs).
Which four Transact-SQL segments should you use to develop the solution? To answer, move the appropriate Transact-SQL segments from the list
of Transact-
SQL segments to the answer area and arrange them in the correct order.
Select and Place:
Correct Answer:
Note: This question is part of a series of questions that use the same or similar answer choices. An answer choice may be correct for more than
one question in the series. Each question is independent of the other questions in this series. Information and details provided in a question apply
only to that question.
You have a database that contains tables named Customer_CRMSystem and Customer_HRSystem. Both tables use the following structure:
Customer_CRMSystem -
Customer_HRSystem -
Records that contain null values for CustomerCode can be uniquely identified by CustomerName.
You need to display a list of customers that do not appear in the Customer_HRSystem table.
Which Transact-SQL statement should you run?
A.
B.
C.
D.
E.
F.
G.
H.
Correct Answer: D
EXCEPT returns distinct rows from the left input query that aren't output by the right input query.
References:
https://msdn.microsoft.com/en-us/library/ms188055.aspx
Note: This question is part of a series of questions that use the same or similar answer choices. An answer choice may be correct for more than
one question in the series. Each question is independent of the other questions in this series. Information and details provided in a question apply
only to that question.
You have a database that contains tables named Customer_CRMSystem and Customer_HRSystem. Both tables use the following structure:
Customer_CRMSystem -
Customer_HRSystem -
Records that contain null values for CustomerCode can be uniquely identified by CustomerName.
You need to display customers who appear in both tables and have a proper CustomerCode.
Which Transact-SQL statement should you run?
A.
B.
C.
D.
E.
Correct Answer: A
When there are null values in the columns of the tables being joined, the null values do not match each other. The presence of null values in a
column from one of the tables being joined can be returned only by using an outer join (unless the WHERE clause excludes null values).
References:
https://technet.microsoft.com/en-us/library/ms190409(v=sql.105).aspx
Note: This question is part of a series of questions that use the same or similar answer choices. An answer choice may be correct for more than
one question in the series. Each question is independent of the other questions in this series. Information and details provided in a question apply
only to that question.
You have a database that contains tables named Customer_CRMSystem and Customer_HRSystem. Both tables use the following structure:
Customer_CRMSystem -
Customer_HRSystem -
Records that contain null values for CustomerCode can be uniquely identified by CustomerName.
You need to display a Cartesian product, combining both tables.
Which Transact-SQL statement should you run?
A.
B.
C.
D.
E.
F.
G.
H.
Correct Answer: G
A cross join that does not have a WHERE clause produces the Cartesian product of the tables involved in the join. The size of a Cartesian
product result set is the number of rows in the first table multiplied by the number of rows in the second table.
References:
https://technet.microsoft.com/en-us/library/ms190690(v=sql.105).aspx
Note: This question is part of a series of questions that use the same or similar answer choices. An answer choice may be correct for more than
one question in the series. Each question is independent of the other questions in this series. Information and details provided in a question apply
only to that question.
You have a database that contains tables named Customer_CRMSystem and Customer_HRSystem. Both tables use the following structure:
The tables include the following records:
Customer_CRMSystem -
Customer_HRSystem -
Records that contain null values for CustomerCode can be uniquely identified by CustomerName.
You need to create a list of all unique customers that appear in either table.
Which Transact-SQL statement should you run?
A.
B.
C.
D.
E.
F.
G.
H.
Correct Answer: E
UNION combines the results of two or more queries into a single result set that includes all the rows that belong to all queries in the union. The
UNION operation is different from using joins that combine columns from two tables.
Incorrect Answers:
F: UNION ALL incorporates all rows into the results. This includes duplicates. If not specified, duplicate rows are removed.
References:
https://msdn.microsoft.com/en-us/library/ms180026.aspx
DRAG DROP -
Note: This question is part of a series of questions that use the same scenario. For your convenience, the scenario is repeated in each question.
Each question presents a different goal and answer choices, but the text of the scenario is exactly the same in each question in this series.
You are developing a database to track customer orders. The database contains the following tables: Sales.Customers, Sales.Orders, and
Sales.OrderLines. The following table describes the columns in Sales.Customers.
The following table describes the columns in Sales.Orders.
You need to create a function that accepts a CustomerID as a parameter and returns the following information:
✑ all customer information for the customer
the total number of orders for the customer
Box 2: COUNT -
The function should return the total number of orders for the customer.
Box 3: SUM -
The function should return the total price of all orders for the customer.
Box 3. AVG -
The function should return the average quantity of items per order.
Box 4: GROUP BY -
Need to use GROUP BY for the aggregate functions.
References:
https://msdn.microsoft.com/en-us/library/ms186755.aspx
HOTSPOT -
Note: This question is part of a series of questions that use the same scenario. For your convenience, the scenario is repeated in each question.
Each question presents a different goal and answer choices, but the text of the scenario is exactly the same in each question in this series.
You are developing a database to track customer orders. The database contains the following tables: Sales.Customers, Sales.Orders, and
Sales.OrderLines.
The following table describes the columns in Sales.Customers.
The following table describes the columns in Sales.Orders.
You need to create a database object that calculates the total price of an order including the sales tax. The database object must meet the
following requirements:
✑ Reduce the compilation cost of Transact-SQL code by caching the plans and reusing them for repeated execution.
✑ Return a value.
✑ Be callable from a SELECT statement.
How should you complete the Transact-SQL statements? To answer, select the appropriate Transact-SQL segments in the answer area.
Hot Area:
Correct Answer:
Box 1: FUNCTION -
To be able to return a value we should use a scalar function.
CREATE FUNCTION creates a user-defined function in SQL Server and Azure SQL Database. The return value can either be a scalar (single) value
or a table.
Box 2: RETURNS decimal(18,2)
Use the same data format as used in the UnitPrice column.
Box 3: BEGIN -
Transact-SQL Scalar Function Syntax include the BEGIN ..END construct.
CREATE [ OR ALTER ] FUNCTION [ schema_name. ] function_name
( [ { @parameter_name [ AS ][ type_schema_name. ] parameter_data_type
[ = default ] [ READONLY ] }
[ ,...n ]
]
)
RETURNSreturn_data_type -
[ WITH <function_option> [ ,...n ] ]
[ AS ]
BEGIN -
function_body
RETURN scalar_expression -
END -
[;]
Box 4: @OrderPrice * @CalculatedTaxRate
Calculate the price including tax.
Box 5: END -
Transact-SQL Scalar Function Syntax include theBEGIN ..END construct.
References:
https://msdn.microsoft.com/en-us/library/ms186755.aspx
DRAG DROP -
Note: This question is part of a series of questions that use the same scenario. For your convenience, the scenario is repeated in each question.
Each question presents a different goal and answer choices, but the text of the scenario is exactly the same in each question in this series.
You are developing a database to track customer orders. The database contains the following tables: Sales.Customers, Sales.Orders, and
Sales.OrderLines. The following table describes the columns in Sales.Customers.
You need to create a stored procedure that inserts data into the Customers table. The stored procedure must meet the following requirements:
✑ Data changes occur as a single unit of work.
Data modifications that are successful are committed and a value of 0 is returned to the calling procedure.
✑ Data modifications that are unsuccessful are rolled back. You must display a message that uses severity level 16 and a value of -1.
✑ The stored procedure uses a built-in scalar function to evaluate the current condition of data modifications.
✑ The entire unit of work is terminated and rolled back if a run-time error occurs during execution of the stored procedure.
How should complete the stored procedure definition? To answer, drag the appropriate Transact-SQL segments to the correct targets. Each
Transact-SQL segment may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view
content.
NOTE: Each correct selection is worth one point.
Select and Place:
Correct Answer:
Box 1: XACT_ABORT -
XACT_ABORT specifies whether SQL Server automatically rolls back the current transaction when a Transact-SQL statement raises a run-time
error.
When SET XACT_ABORT is ON, if a Transact-SQL statement raises a run-timeerror, the entire transaction is terminated and rolled back.
Box 2: COMMIT -
Commit the transaction.
Box 3: XACT_STATE -
Box 4: ROLLBACK -
Box 5: THROW -
THROW raises an exception and the severity is set to 16.
Requirement: Data modifications that are unsuccessful are rolled back. The exception severity level is set to 16 and a value of -1 is returned.
References:
https://msdn.microsoft.com/en-us/library/ms188792.aspx
https://msdn.microsoft.com/en-us/library/ee677615.aspx
DRAG DROP -
Note: This question is part of a series of questions that use the same scenario. For your convenience, the scenario is repeated in each question.
Each question presents a different goal and answer choices, but the text of the scenario is exactly the same in each question in this series.
You are developing a database to track customer orders. The database contains the following tables: Sales.Customers, Sales.Orders, and
Sales.OrderLines. The following table describes the columns in Sales.Customers.
You need to create a function that calculates the highest tax rate charged for an item in a specific order.
Which five Transact-SQL segments should you use to develop the solution? To answer, move the appropriate Transact-SQL segments from the list
of Transact-
SQL segments to the answer area and arrange them in the correct order.
Select and Place:
Correct Answer:
Note: This question is part of a series of questions that use the same or similar answer choices. An answer choice may be correct for more than
one question in the series. Each question is independent of the other questions in this series. Information and details provided in a question apply
only to that question.
You create a table by running the following Transact-SQL statement:
A.
B.
C.
D.
E.
F.
G.
H.
Correct Answer: B
The FOR SYSTEM_TIME ALL clause returns all the row versions from both the Temporal and History table.
Note: A system-versioned temporal table defined through is a new type of user table in SQL Server 2016, here defined on the last line WITH
(SYSTEM_VERSIONING = ON"¦, is designed to keep a full history of data changes and allow easy point in time analysis.
To query temporal data, the SELECT statement FROM<table> clause has a new clause FOR SYSTEM_TIME with five temporal-specific sub-
clauses to query data across the current and history tables.
References:
https://msdn.microsoft.com/en-us/library/dn935015.aspx
Note: This question is part of a series of questions that use the same or similar answer choices. An answer choice may be correct for more than
one question in the series. Each question is independent of the other questions in this series. Information and details provided in a question apply
only to that question.
You create a table by running the following Transact-SQL statement:
You need to return normalized data for all customers that were added in the year 2014.
Which Transact-SQL statement should you run?
A.
B.
C.
D.
E.
F.
G.
H.
Correct Answer: G
The following query searches for row versions for Employee row with EmployeeID = 1000 that were active at least for a portion of period
between 1st January of
2014 and 1st January 2015 (including the upper boundary):
FOR SYSTEM_TIME -
BETWEEN '2014-01-01 00:00:00.0000000' AND '2015-01-01 00:00:00.0000000'
WHERE EmployeeID = 1000ORDER BY ValidFrom;
References:
https://msdn.microsoft.com/en-us/library/dn935015.aspx
You are developing a report that displays customer information. The report must contain a grand total column.
You need to write a query that returns the data for the report.
Which Transact-SQL statement should you run?
A.
B.
C.
D.
E.
F.
G.
H.
Correct Answer: E
Calculate aggregate column through AVG function and GROUP BY clause.
Note: This question is part of a series of questions that use the same or similar answer choices. An answer choice may be correct for more than
one question in the series. Each question is independent of the other questions in this series. Information and details provided in a question apply
only to that question.
You create a table named Customers. Data stored in the table must be exchanged between web pages and web servers by using AJAX calls that
use REST endpoint.
You need to return all customer information by using a data exchange format that is text-based and lightweight.
Which Transact-SQL statement should you run?
A.
B.
C.
D.
E.
F.
G.
H.
Correct Answer: C
JSON can be used to pass AJAX updates between the client and the server.
Export data from SQL Server as JSON, or format query results as JSON, by adding the FOR JSON clause to a SELECT statement.
When you use the FOR JSON clause, you can specify the structure of the output explicitly, or let the structure of the SELECT statement
determine the output.
References:
https://msdn.microsoft.com/en-us/library/dn921882.aspx
Note: This question is part of a series of questions that use the same or similar answer choices. An answer choice may be correct for more than
one question in the series. Each question is independent of the other questions in this series. Information and details provided in a question apply
only to that question.
You create a table by running the following Transact-SQL statement:
You are developing a report that aggregates customer data only for the year 2014. The report requires that the data be denormalized.
You need to return the data for the report.
Which Transact-SQL statement should you run?
A.
B.
C.
D.
E.
F.
G.
H.
Correct Answer: G
Note: This question is part of a series of questions that use the same or similar answer choices. An answer choice may be correct for more than
one question in the series. Each question is independent of the other questions in this series. Information and details provided in a question apply
only to that question.
You create a table by running the following Transact-SQL statement:
A.
B.
C.
D.
E.
F.
G.
H.
Correct Answer: F
In a FOR XML clause, you specify one of these modes: RAW, AUTO, EXPLICIT, and PATH.
✑ The EXPLICIT mode allows more control over the shape of the XML. You can mix attributes and elements at will in deciding the shape of the
XML. It requires a specific format for the resulting rowset that is generated because of query execution. This row set format is then mapped
into XML shape. The power of
EXPLICIT mode is to mix attributes and elements at will, create wrappers and nested complex properties, create space-separated values (for
example,
OrderID attribute may have a list of order ID values), and mixed contents.
✑ The PATH mode together with the nested FOR XML query capability provides the flexibility of the EXPLICIT mode in a simpler manner.
References:
https://msdn.microsoft.com/en-us/library/ms178107.aspx
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section. You will NOT be able to return to it. As a result, these questions will not appear in the review screen.
A database has two tables as shown in the following database diagram:
You need to list all provinces that have at least two large cities. A large city is defined as having a population of at least one million residents. The
query must return the following columns:
✑ tblProvince.ProvinceId
✑ tblProvince.ProvinceName
✑ a derived column named LargeCityCount that presents the total count of large cities for the province
Solution: You run the following Transact-SQL statement:
A. Yes
B. No
Correct Answer: B
We need to list all provinces that have at least two large cities. There is no reference to this in the code.
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section. You will NOT be able to return to it. As a result, these questions will not appear in the review screen.
A database has two tables as shown in the following database diagram:
You need to list all provinces that have at least two large cities. A large city is defined as having a population of at least one million residents. The
query must return the following columns:
✑ tblProvince.ProvinceId
✑ tblProvince.ProvinceName
✑ a derived column named LargeCityCount that presents the total count of large cities for the province
Solution: You run the following Transact-SQL statement:
A. Yes
B. No
Correct Answer: B
The SQL CROSS JOIN produces a result set which is the number of rowsin the first table multiplied by the number of rows in the second table if
no WHERE clause is used along with CROSS JOIN. This kind of result is called as Cartesian Product.
This is not what is required in this scenario.
References:
https://technet.microsoft.com/en-us/library/ms190690(v=sql.105).aspx
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section. You will NOT be able to return to it. As a result, these questions will not appear in the review screen.
A database has two tables as shown in the following database diagram:
You need to list all provinces that have at least two large cities. A large city is defined as having a population of at least one million residents. The
query must return the following columns:
✑ tblProvince.ProvinceId
✑ tblProvince.ProvinceName
✑ a derived column named LargeCityCount that presents the total count of large cities for the province
Solution: You run the following Transact-SQL statement:
A. Yes
B. No
Correct Answer: A
The requirement to list all provinces that have at least two large cities is meet by the WHERE CitySummary.LargeCityCount >=2 clause.
CROSS APPLY willwork fine here.
Note:
The APPLY operator allows you to invoke a table-valued function for each row returned by an outer table expression of a query. The table-valued
function acts as the right input and the outer table expression acts as the left input. The right input is evaluated for each row from the left input
and the rows produced are combined for the final output. The list of columns produced by the APPLY operator is the set of columns in the left
input followed by the list of columns returned by the right input.
There are two forms of APPLY: CROSS APPLY and OUTER APPLY. CROSS APPLY returns only rows from the outer table that produce a result set
from the table-valued function. OUTER APPLY returns both rows that produce a result set, and rows that do not, with NULL values in the
columns produced by the table- valued function.
References:
https://technet.microsoft.com/en-us/library/ms175156(v=sql.105).aspx
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section. you will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You have a database that tracks orders and deliveries for customers in North America. The database contains the following tables:
Sales.Customers -
Application.Cities -
Sales.CustomerCategories -
The company's development team is designing a customer directory application. The application must list customers by the area code of their
phone number. The area code is defined as the first three characters of the phone number.
The main page of the application will be based on an indexed view that contains the area and phone number for all customers.
You need to return the area code from the PhoneNumber field.
Solution: You run the following Transact-SQL statement:
A. Yes
B. No
Correct Answer: A
The following indicates a correct solution:
✑ The function returns a nvarchar(10) value.
✑ Schemabinding is used.
✑ SELECT TOP 1 "¦ gives a single value
Note: nvarchar(max) is correct statement.
nvarchar [ ( n | max ) ]
Variable-length Unicode string data. n defines the string length and can be a value from 1 through 4,000. max indicates that the maximum
storage size is 2^31-1 bytes (2 GB).
References:
https://docs.microsoft.com/en-us/sql/t-sql/data-types/nchar-and-nvarchar-transact-sql https://sqlstudies.com/2014/08/06/schemabinding-
what-why/
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section. You will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You have a database that includes the tables shown in the exhibit (Click the Exhibit button.)
You need to create a Transact-SQL query that returns the following information:
✑ the customer number
✑ the customer contact name
✑ the date the order was placed, with a name of DateofOrder
✑ a column named Salesperson, formatted with the employee first name, a space, and the employee last name
✑ orders for customers where the employee identifier equals 4
The output must be sorted by order date, with the newest orders first.
The solution must return only the most recent order for each customer.
Solution: You run the following Transact-SQL statement:
A. Yes
B. No
Correct Answer: B
We should use a WHERE clause, not a HAVING clause. The HAVING clause would refer to aggregate data.
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section. You will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You have a database that includes the tables shown in the exhibit (Click the Exhibit button.)
You need to create a Transact-SQL query that returns the following information:
✑ the customer number
✑ the customer contact name
✑ the date the order was placed, with a name of DateofOrder
✑ a column named Salesperson, formatted with the employee first name, a space, and the employee last name
✑ orders for customers where the employee identifier equals 4
The output must be sorted by order date, with the newest orders first.
The solution must return only the most recent order for each customer.
Solution: You run the following Transact-SQL statement:
A. Yes
B. No
Correct Answer: A
The MAX(orderdate) in the SELECT statement makes sure we return only the most recent order.
AWHERE o.empiD =4 clause is correctly used.
GROUP BY is also required.
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section. You will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You have a database that includes the tables shown in the exhibit (Click the Exhibit button.)
You need to create a Transact-SQL query that returns the following information:
✑ the customer number
✑ the customer contact name
✑ the date the order was placed, with a name of DateofOrder
✑ a column named Salesperson, formatted with the employee first name, a space, and the employee last name
✑ orders for customers where the employee identifier equals 4
The output must be sorted by order date, with the newest orders first.
The solution must return only the most recent order for each customer.
Solution: You run the following Transact-SQL statement:
A. Yes
B. No
Correct Answer: B
We need a GROUP BY statement as we want to return an order for each customer.
Correct Answer:
Question #68 Topic 1
You need to create a table named MiscellaneousPayment that meets the following requirements:
A.
B.
C.
D.
E.
F.
Correct Answer: D
Incorrect Answers:
A: For column Reason we must use nvarchar, not varchar, as multilingual values must be supported. NEWSEQUENTIALID cannot be referenced
in queries. In addition, the money datatype uses rounding and will result in rounding errors.
B: We cannot use INT for the Id column as new values must be automatically generated.
C: For column Reason we must use nvarchar, not varchar, as multilingual values must be supported.
E: NEWSEQUENTIALID cannot be referenced in queries.
F: The money datatype uses rounding and will result in rounding errors. We should use decimal instead.
Note: Nvarchar stores UNICODE data. If you have requirements to store UNICODE or multilingual data, nvarchar is the choice. Varchar stores
ASCII data and should be your data type of choice for normal use.
References:
https://docs.microsoft.com/en-us/sql/t-sql/data-types/nchar-and-nvarchar-transact-sql
SIMULATION -
You have a database that contains the following tables.
You need to create a query that returns each complaint, the names of the employees handling the complaint, and the notes on each interaction.
The Complaint field must be displayed first, followed by the employee's name and the notes. Complaints must be returned even if no interaction
has occurred.
Construct the query using the following guidelines:
✑ Use two-part column names.
✑ Use one-part table names.
✑ Use the first letter of the table name as its alias.
✑ Do not Transact-SQL functions.
✑ Do not use implicit joins.
✑ Do not surround object names with square brackets.
Part of the correct Transact-SQL has been provided in the answer area below. Enter the code in the answer area that resolves the problem and
meets the stated goals or requirements. You can add code within the code that has been provided as well as below it.
1 SELECT c.Complaint, e.Name, i.Notes
2 FROM Complaints c
3 JOIN __________________
4 JOIN __________________
Correct Answer: Please see explanation
1 SELECT c.Complaint, e.Name, i.Notes
2 FROM Complaints c
3 JOIN Interactions i ON c.ComplaintID = i.ComplaintID
4 JOIN Employees e ON i.EmployeeID = E.EmployeeID
SIMULATION -
You create a table named Products.Sales by running the following Transact-SQL statement:
AS MonthNamePivot -
AS MonthNamePivot -
Note:
Line 2: Add SUM( ) around SalesAmount
Line 3: Add: FROM Products.Sales GROUP BY Year, Month
Line 5: Add: PIVOT SUM(Amount)
Note: This question is part of a series of questions that use the same or similar answer choices. An answer choice may be correct for more than
one question in the series. Each question is independent of the other questions in this series. Information and details provided in a question apply
only to that question.
Multiple processes use the data from a table named Sales and place it in other databases across the organization. Some of the processes are not
completely aware of the data types in the Sales table. This leads to data type conversion errors.
You need to implement a method that returns a NULL value id data conversion fails instead of throwing an error.
What should you implement?
B. a view
C. a table-valued function
E. a stored procedure
G. a scalar function
Correct Answer: H
TRY_CONVERT returns a value cast to the specified data type if the cast succeeds; otherwise, returns null.
References:
https://docs.microsoft.com/en-us/sql/t-sql/functions/try-convert-transact-sql
You need to write a query that returns a list of all customers who have not placed orders.
Which Transact-SQL statement should you run?
D. SELECT c.custid FROM Sales.Customers c LEFT OUTER JOIN Sales.Order o ON c.custid = o.custid WHERE orderid IS NULL
E. SELECT custid FROM Sales.Customers UNION ALL SELECT custid FROM Sales.Orders
G. SELECT c.custid FROM Sales.Customers c RIGHT OUTER JOIN Sales.Orders o ON c.custid = o.custid
Correct Answer: D
Inner joins return rows only when there is at least one row from both tables that matches the join condition. Inner joins eliminate the rows that
do not match with a row from the other table. Outer joins, however, return all rows from at least one of the tables or views mentioned in the
FROM clause, as long as those rows meet any WHERE or HAVING search conditions. All rows are retrieved from the left table referenced with a
left outer join, and all rows from the right table referenced in a right outer join. All rows from both tables are returned in a full outer join.
References:
https://technet.microsoft.com/en-us/library/ms187518(v=sql.105).aspx
DRAG DROP -
You have a database that contains the following tables:
A delivery person enters an incorrect value for the CustomerID column in the Invoices table and enters the following text in the
ConfirmedReceivedBy column: "Package signed for by the owner Tim."
You need to find the records in the Invoices table that contain the word Tim in the CustomerName field along with the incorrectly entered row from
the
Sales.Invoice table.
How should you complete the Transact-SQL statement? To answer, drag the appropriate Transact-SQL segments to the correct locations. Each
Transact-SQL segment may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view
content.
NOTE: Each correct selection is worth one point.
Select and Place:
Correct Answer:
DRAG DROP -
Note: This question is part of a series of questions that use the same scenario. For your convenience, the scenario is repeated in each question.
Each question presents a different goal and answer choices, but the text of the scenario is exactly the same in each question in this series.
You review the Employee table and make the following observations:
✑ Every record has a value in the ManagerID except for the Chief Executive Officer (CEO).
✑ The FirstName and MiddleName columns contain null values for some records.
✑ The valid values for the Title column are Sales Representative manager, and CEO.
You review the SalesSummary table and make the following observations:
✑ The ProductCode column contains two parts: The first five digits represent a product code, and the last seven digits represent the unit price.
The unit price uses the following pattern: ####.##.
✑ You observe that for many records, the unit price portion of the ProductCode column contains values.
✑ The RegionCode column contains NULL for some records.
✑ Sales data is only recorded for sales representatives.
You are developing a series of reports and procedures to support the business. Details for each report or procedure follow.
Sales Summary report: This report aggregates data by year and quarter. The report must resemble the following table.
Sales Manager report: This report lists each sales manager and the total sales amount for all employees that report to the sales manager.
Sales by Region report: This report lists the total sales amount by employee and by region. The report must include the following columns:
EmployeeCode,
MiddleName, LastName, RegionCode, and SalesAmount. If MiddleName is NULL, FirstName must be displayed. If both FirstName and
MiddleName have null values, the world Unknown must be displayed/ If RegionCode is NULL, the word Unknown must be displayed.
Report1: This report joins data from SalesSummary with the Employee table and other tables. You plan to create an object to support Report1. The
object has the following requirements:
✑ be joinable with the SELECT statement that supplies data for the report
✑ can be used multiple times with the SELECT statement for the report
✑ be usable only with the SELECT statement for the report
✑ not be saved as a permanent object
Report2: This report joins data from SalesSummary with the Employee table and other tables.
You plan to create an object to support Report1. The object has the following requirements: be joinable with the SELECT statement that supplies
data for the report
✑ can be used multiple times for this report and other reports
✑ accept parameters
✑ be saved as a permanent object
Sales Hierarchy report: This report aggregates rows, creates subtotal rows, and super-aggregates rows over the SalesAmount column in a single
result-set. The report uses SaleYear, SaleQuarter, and SaleMonth as a hierarchy. The result set must not contain a grand total or cross-tabulation
aggregate rows.
Current Price Stored Procedure: This stored procedure must return the unit price for a product when a product code is supplied. The unit price
must include a dollar sign at the beginning. In addition, the unit price must contain a comma every three digits to the left of the decimal point, and
must display two digits to the left of the decimal point. The stored procedure must not throw errors, even if the product code contains invalid data.
Use two CTE expressions, one for salesYear and one for SalesQuarter, and combine them with a SELECT statement.
Note: A common table expression (CTE) can be thought of as a temporary result set that is defined within the execution scope of a single
SELECT, INSERT,
UPDATE, DELETE, or CREATE VIEW statement. A CTE is similar to a derived table in that it is not stored as an object and lasts only for the
duration of the query.
References:
https://technet.microsoft.com/en-us/library/ms190766(v=sql.105).aspx
fe 3 months ago
QuarterSalesAmount is not in the GROUP BY clause, so it
is invalid in the SELECT of the first CTE.
upvoted 2 times
HOTSPOT -
Note: This question is part of a series of questions that use the same scenario. For your convenience, the scenario is repeated in each question.
Each question presents a different goal and answer choices, but the text of the scenario is exactly the same in each question in this series.
You review the Employee table and make the following observations:
✑ Every record has a value in the ManagerID except for the Chief Executive Officer (CEO).
✑ The FirstName and MiddleName columns contain null values for some records.
✑ The valid values for the Title column are Sales Representative manager, and CEO.
You review the SalesSummary table and make the following observations:
✑ The ProductCode column contains two parts: The first five digits represent a product code, and the last seven digits represent the unit price.
The unit price uses the following pattern: ####.##.
✑ You observe that for many records, the unit price portion of the ProductCode column contains values.
✑ The RegionCode column contains NULL for some records.
✑ Sales data is only recorded for sales representatives.
You are developing a series of reports and procedures to support the business. Details for each report or procedure follow.
Sales Summary report: This report aggregates data by year and quarter. The report must resemble the following table.
Sales Manager report: This report lists each sales manager and the total sales amount for all employees that report to the sales manager.
Sales by Region report: This report lists the total sales amount by employee and by region. The report must include the following columns:
EmployeeCode,
MiddleName, LastName, RegionCode, and SalesAmount. If MiddleName is NULL, FirstName must be displayed. If both FirstName and
MiddleName have null values, the world Unknown must be displayed/ If RegionCode is NULL, the word Unknown must be displayed.
Report1: This report joins data from SalesSummary with the Employee table and other tables. You plan to create an object to support Report1. The
object has the following requirements:
✑ be joinable with the SELECT statement that supplies data for the report
✑ can be used multiple times with the SELECT statement for the report
✑ be usable only with the SELECT statement for the report
✑ not be saved as a permanent object
Report2: This report joins data from SalesSummary with the Employee table and other tables.
You plan to create an object to support Report1. The object has the following requirements:
✑ be joinable with the SELECT statement that supplies data for the report
✑ can be used multiple times for this report and other reports
✑ accept parameters
✑ be saved as a permanent object
Sales Hierarchy report: This report aggregates rows, creates subtotal rows, and super-aggregates rows over the SalesAmount column in a single
result-set. The report uses SaleYear, SaleQuarter, and SaleMonth as a hierarchy. The result set must not contain a grand total or cross-tabulation
aggregate rows.
Current Price Stored Procedure: This stored procedure must return the unit price for a product when a product code is supplied. The unit price
must include a dollar sign at the beginning. In addition, the unit price must contain a comma every three digits to the left of the decimal point, and
must display two digits to the left of the decimal point. The stored procedure must not throw errors, even if the product code contains invalid data.
Correct Answer:
Box 1: COALESCE -
COALESCE evaluates the arguments in order and returns the current value of the first expression that initially does not evaluate to NULL.
If MiddleName is NULL, FirstName must be displayed. If both FirstName and MiddleName have null values, the world Unknown must be
displayed.
The following example shows how COALESCE selects the data from the first column that has a nonnull value.
SELECT Name, Class, Color, ProductNumber,
COALESCE(Class, Color, ProductNumber) AS FirstNotNull
FROM Production.Product;
Not NULLIF: NULLIF returns the first expression if the two expressions are not equal. If the expressions are equal, NULLIF returns a null value of
the type of the first expression.
Box 2: COALESCE -
If RegionCodeis NULL, the word Unknown must be displayed.
References:
https://docs.microsoft.com/en-us/sql/t-sql/language-elements/coalesce-transact-sql
Question #76 Topic 1
DRAG DROP -
Note: This question is part of a series of questions that use the same scenario. For your convenience, the scenario is repeated in each question.
Each question presents a different goal and answer choices, but the text of the scenario is exactly the same in each question in this series.
You review the Employee table and make the following observations:
✑ Every record has a value in the ManagerID except for the Chief Executive Officer (CEO).
✑ The FirstName and MiddleName columns contain null values for some records.
✑ The valid values for the Title column are Sales Representative manager, and CEO.
You review the SalesSummary table and make the following observations:
✑ The ProductCode column contains two parts: The first five digits represent a product code, and the last seven digits represent the unit price.
The unit price uses the following pattern: ####.##.
✑ You observe that for many records, the unit price portion of the ProductCode column contains values.
The RegionCode column contains NULL for some records.
Sales Manager report: This report lists each sales manager and the total sales amount for all employees that report to the sales manager.
Sales by Region report: This report lists the total sales amount by employee and by region. The report must include the following columns:
EmployeeCode,
MiddleName, LastName, RegionCode, and SalesAmount. If MiddleName is NULL, FirstName must be displayed. If both FirstName and
MiddleName have null values, the world Unknown must be displayed/ If RegionCode is NULL, the word Unknown must be displayed.
Report1: This report joins data from SalesSummary with the Employee table and other tables. You plan to create an object to support Report1. The
object has the following requirements:
✑ be joinable with the SELECT statement that supplies data for the report
✑ can be used multiple times with the SELECT statement for the report
✑ be usable only with the SELECT statement for the report
✑ not be saved as a permanent object
Report2: This report joins data from SalesSummary with the Employee table and other tables.
You plan to create an object to support Report1. The object has the following requirements:
✑ be joinable with the SELECT statement that supplies data for the report
✑ can be used multiple times for this report and other reports
✑ accept parameters
✑ be saved as a permanent object
Sales Hierarchy report: This report aggregates rows, creates subtotal rows, and super-aggregates rows over the SalesAmount column in a single
result-set. The report uses SaleYear, SaleQuarter, and SaleMonth as a hierarchy. The result set must not contain a grand total or cross-tabulation
aggregate rows.
Current Price Stored Procedure: This stored procedure must return the unit price for a product when a product code is supplied. The unit price
must include a dollar sign at the beginning. In addition, the unit price must contain a comma every three digits to the left of the decimal point, and
must display two digits to the left of the decimal point. The stored procedure must not throw errors, even if the product code contains invalid data.
Correct Answer:
Box 2: view -
From scenario: Report2: This report joins data from SalesSummary with the Employee table and other tables.
You plan to create an object to support Report1. The object has the following requirements:
✑ be joinable with theSELECT statement that supplies data for the report
✑ can be used multiple times for this report and other reports
✑ accept parameters
✑ be saved as a permanent object
References:
https://technet.microsoft.com/en-us/library/ms190766(v=sql.105).aspx
DRAG DROP -
Note: This question is part of a series of questions that use the same scenario. For your convenience, the scenario is repeated in each question.
Each question presents a different goal and answer choices, but the text of the scenario is exactly the same in each question in this series.
Start of repeated scenario -
You have a database that contains the tables shown in the exhibit. (Click the Exhibit button.)
You review the Employee table and make the following observations:
✑ Every record has a value in the ManagerID except for the Chief Executive Officer (CEO).
✑ The FirstName and MiddleName columns contain null values for some records.
✑ The valid values for the Title column are Sales Representative manager, and CEO.
You review the SalesSummary table and make the following observations:
✑ The ProductCode column contains two parts: The first five digits represent a product code, and the last seven digits represent the unit price.
The unit price uses the following pattern: ####.##.
✑ You observe that for many records, the unit price portion of the ProductCode column contains values.
✑ The RegionCode column contains NULL for some records.
✑ Sales data is only recorded for sales representatives.
You are developing a series of reports and procedures to support the business. Details for each report or procedure follow.
Sales Summary report: This report aggregates data by year and quarter. The report must resemble the following table.
Sales Manager report: This report lists each sales manager and the total sales amount for all employees that report to the sales manager.
Sales by Region report: This report lists the total sales amount by employee and by region. The report must include the following columns:
EmployeeCode,
MiddleName, LastName, RegionCode, and SalesAmount. If MiddleName is NULL, FirstName must be displayed. If both FirstName and
MiddleName have null values, the world Unknown must be displayed/ If RegionCode is NULL, the word Unknown must be displayed.
Report1: This report joins data from SalesSummary with the Employee table and other tables. You plan to create an object to support Report1. The
object has the following requirements:
✑ be joinable with the SELECT statement that supplies data for the report
✑ can be used multiple times with the SELECT statement for the report
✑ be usable only with the SELECT statement for the report
not be saved as a permanent object
Report2: This report joins data from SalesSummary with the Employee table and other tables.
You plan to create an object to support Report1. The object has the following requirements:
✑ be joinable with the SELECT statement that supplies data for the report
✑ can be used multiple times for this report and other reports
✑ accept parameters
✑ be saved as a permanent object
Sales Hierarchy report: This report aggregates rows, creates subtotal rows, and super-aggregates rows over the SalesAmount column in a single
result-set. The report uses SaleYear, SaleQuarter, and SaleMonth as a hierarchy. The result set must not contain a grand total or cross-tabulation
aggregate rows.
Current Price Stored Procedure: This stored procedure must return the unit price for a product when a product code is supplied. The unit price
must include a dollar sign at the beginning. In addition, the unit price must contain a comma every three digits to the left of the decimal point, and
must display two digits to the left of the decimal point. The stored procedure must not throw errors, even if the product code contains invalid data.
From scenario: Sales Manager report: This report lists each sales manager and the total sales amount for all employees that report to the sales
manager.
Box 1:..WHERE Title='Sales representative'
The valid values for the Title column are Sales Representative manager, and CEO.
First we define the CTE expression.
Note: A common table expression (CTE) can be thought of as a temporary result set that is defined within the execution scope of a single
SELECT, INSERT,
UPDATE, DELETE, or CREATE VIEW statement. A CTE is similar to a derived table in that it is not stored as an object and lasts only for the
duration of the query.
Unlike a derived table, a CTE can be self-referencing and can be referenced multiple times in the same query.
Box 2:
Use the CTE expression one time.
Box 3: UNION -
Box 4:
Use the CTE expression a second time.
References:
https://technet.microsoft.com/en-us/library/ms190766(v=sql.105).aspx
You have a function named ufnGetRoleActiveUsers that was created by running the following Transact-SQL statement:
You need to list all roles and their corresponding active users. The query must return the RoleId, RoleName, and UserName columns. If a role has
no active users, a NULL value should be returned as the UserName for that role.
How should you complete the Transact-SQL statement? To answer, select the appropriate Transact-SQL segments in the answer area.
Hot Area:
Correct Answer:
A.
B.
C.
D.
Correct Answer: B
Note: This question is part of a series of questions that use the same or similar answer choices. An answer choice may be correct for more than
one question in the series. Each question is independent of the other questions in this series. Information and details provided in a question apply
to that question.
You have a database for a banking system. The database has two tables named tblDepositAcct and tblLoanAcct that store deposit and loan
accounts, respectively. Both tables contain the following columns:
You need to determine the total number of customers who have either deposit accounts or loan accounts, but not both types of accounts.
Which Transact-SQL statement should you run?
A.
B.
C.
D.
E.
F.
G.
H.
Correct Answer: G
SQL Server provides the full outer join operator, FULL OUTER JOIN, which includes all rows from both tables, regardless of whether or not the
other table has a matching value.
Consider a join of the Product table and the SalesOrderDetail table on their ProductID columns. The results show only the Products that have
sales orders on them. The ISO FULL OUTER JOIN operator indicates that all rows from both tables are to be included in the results, regardless
of whether there is matching data in the tables.
You can include a WHERE clause with a full outer join to return only the rows where there is no matching data between the tables. The following
query returns only those products that have no matching sales orders, as well as those sales orders that are not matched to a product.
USE AdventureWorks2008R2;
GO -
-- The OUTER keyword following the FULL keyword is optional.
FROM Production.Product p -
FULL OUTER JOIN Sales.SalesOrderDetail sod
ON p.ProductID = sod.ProductID -
OR sod.ProductID IS NULL -
ORDER BY p.Name -
References:
https://technet.microsoft.com/en-us/library/ms187518(v=sql.105).aspx
Note: This question is part of a series of questions that use the same or similar answer choices. An answer choice may be correct for more than
one question in the series. Each question is independent of the other questions in this series. Information and details provided in a question apply
to that question.
You have a database for a banking system. The database has two tables named tblDepositAcct and tblLoanAcct that store deposit and loan
accounts, respectively. Both tables contain the following columns:
You need to determine the total number of customers who have only loan accounts.
Which Transact-SQL statement should you run?
A.
B.
C.
D.
E.
F.
G.
H.
Correct Answer: E
The RIGHT JOIN keyword returns all records from the right table (table2), and the matched records from the left table (table1). The result is
NULL from the left side, when there is no match.
References:
https://www.w3schools.com/sql/sql_join_right.asp
Note: This question is part of a series of questions that use the same or similar answer choices. An answer choice may be correct for more than
one question in the series. Each question is independent of the other questions in this series. Information and details provided in a question apply
to that question.
You have a database for a banking system. The database has two tables named tblDepositAcct and tblLoanAcct that store deposit and loan
accounts, respectively. Both tables contain the following columns:
You need to run a query to find the total number of customers who have both deposit and loan accounts.
Which Transact-SQL statement should you run?
A.
B.
C.
D.
E.
F.
G.
H.
Correct Answer: A
The SQL INTERSECT operator is used to return the results of 2 or more SELECT statements. However, it only returns the rows selected by all
queries or data sets. If a record exists in one query and not in the other, it will be omitted from the INTERSECT results.
References:
https://www.techonthenet.com/sql/intersect.php
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section. You will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You have a table named Products that stores information about products your company sells. The table has a column named ListPrice that stores
retail pricing information for products.
Some products are used only internally by the company. Records for these products are maintained in the Products table for inventory purposes.
The price for each of these products is $0.00. Customers are not permitted to order these products.
You need to increase the list price for products that cost less than $100 by 10 percent. You must only increase pricing for products that customers
are permitted to order.
Solution: You run the following Transact-SQL statement:
A. Yes
B. No
Correct Answer: B
Products with a price of $0.00 would also be increased.
fe 3 months ago
It must be * 1.1 then, not +
upvoted 2 times
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section. You will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You have a table named Products that stores information about products your company sells. The table has a column named ListPrice that stores
retail pricing information for products.
Some products are used only internally by the company. Records for these products are maintained in the Products table for inventory purposes.
The price for each of these products is $0.00. Customers are not permitted to order these products.
You need to increase the list price for products that cost less than $100 by 10 percent. You must only increase pricing for products that customers
are permitted to order.
Solution: You run the following Transact-SQL statement:
A. Yes
B. No
Correct Answer: B
Products with a price of $0.00 would also be increased.
anonimdom 1 month ago
0 * 1.1 = 0, so it doesn't impact the 0 values. Looks
correct to me (if there is * instead of +)
upvoted 1 times
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section. You will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You have a table named Products that stores information about products your company sells. The table has a column named ListPrice that stores
retail pricing information for products.
Some products are used only internally by the company. Records for these products are maintained in the Products table for inventory purposes.
The price for each of these products is $0.00. Customers are not permitted to order these products.
You need to increase the list price for products that cost less than $100 by 10 percent. You must only increase pricing for products that customers
are permitted to order.
Solution: You run the following Transact-SQL statement:
A. Yes
B. No
Correct Answer: B
Products with a price between $0.00 and $100 will be increased, while products with a price of $0.00 would not be increased.
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section. You will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You have a table that was created by running the following Transact-SQL statement:
The Products table includes the data shown in the following table:
A. Yes
B. No
Correct Answer: A
ISNULL ( check_expression , replacement_value )
Arguments:
check_expression
Is the expression to be checked for NULL. check_expression can be of any type. replacement_value
Is the expression to be returned if check_expression is NULL. replacement_value must be of a type that is implicitly convertible to the type of
check_expresssion.
References:
https://docs.microsoft.com/en-us/sql/t-sql/functions/isnull-transact-sql
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section. You will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You have a table that was created by running the following Transact-SQL statement:
The Products table includes the data shown in the following table:
A. Yes
B. No
Correct Answer: A
COALESCE evaluates the arguments in order and returns the current value of the first expression that initially does not evaluate to NULL.
References:
https://docs.microsoft.com/en-us/sql/t-sql/language-elements/coalesce-transact-sql
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section. You will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You have a table that was created by running the following Transact-SQL statement:
The Products table includes the data shown in the following table:
A. Yes
B. No
Correct Answer: B
The NULL value in the UnitsOnOrder field would cause a runtime error.
Question #89 Topic 1
You have a database that stores information about server and application errors. The database contains the following table:
Servers -
Errors -
You need to return all unique error log messages and the server where the error occurs most often.
Which Transact-SQL statement should you run?
A.
B.
C.
D.
Correct Answer: A
HumanResources.Employee -
Sales.SalesPerson -
The HumanResources.Employee table has 2,500 rows, and the Sales.SalesPerson table has 2,000 rows.
You review the following Transact-SQL statement:
A. 200
B. 2,000
C. 2,500
D. 5,500
Correct Answer: C
HOTSPOT -
You have a table named HumanResources.Department that was created with the query shown in the exhibit. (Click the Exhibit button.)
Correct Answer:
AS OF: Returns a table with a rows containing the values that were actual (current) at the specified point in time in the past.
CONTAINED IN: If you search for non-current row versions only, we recommend you to use CONTAINED IN as it works only with the history table
and will yield the best query performance.
Incorrect Answers:
Not ALL: Returns the union of rows that belong to the current and the history table.
References:
https://docs.microsoft.com/en-us/sql/relational-databases/tables/querying-data-in-a-system-versioned-temporal-table
You are building a stored procedure that will update data in a table named Table1 by using a complex query as the data source.
You need to ensure that the SELECT statement in the stored procedure meets the following requirements:
✑ Data being processed must be usable in several statements in the stored procedure.
✑ Data being processed must contain statistics.
What should you do?
B. Insert the data into a temporary table, and then update Table1 from the temporary table.
C. Place the SELECT statement in a derived table, and then update Table1 by using a JOIN to the derived table.
D. Insert the data into a table variable, and then update Table1 from the table variable.
Correct Answer: B
Temp Tables...
Are real materialized tables that exist in tempdb
Have dedicated stats generated by the engine
Can be indexed -
You need to create a list of all customers and the date that the customer placed their last order. For customers who have not placed orders, you
must substitute a zero for the order ID and 01/01/1990 for the date.
Which Transact-SQL statement should you run?
A.
B.
C.
D.
Correct Answer: A
COALESCE evaluates the arguments in order and returns the current value of the first expression that initially does not evaluate to NULL.
References:
https://docs.microsoft.com/en-us/sql/t-sql/language-elements/coalesce-transact-sql
A. clustered
C. hash
Correct Answer: B
A filtered index is an optimized nonclustered index especially suited to cover queries that select from a well-defined subset of data. It uses a
filter predicate to index a portion of rows in the table. A well-designed filtered index can improve query performance as well as reduce index
maintenance and storage costs compared with full-table indexes.
Creating a filtered index can reduce disk storage for nonclustered indexes when a full-table index is not necessary.
References:
https://docs.microsoft.com/en-us/sql/relational-databases/indexes/create-filtered-indexes
Note: This question is part of a series of questions that use the same or similar answer choices. An answer choice may be correct for more than
one question in the series. Each question is independent of the other questions in this series. Information and details provided in a question apply
only to that question.
You have a database that contains several connected tables. The tables contain sales data for customers in the United States only.
You have the following partial query for the database. (Line numbers are included for reference only.)
You need to complete the query to generate the output shown in the following table.
A. GROUP BY
B. MERGE
C. GROUP BY ROLLUP
D. LEFT JOIN
E. GROUP BY CUBE
F. CROSS JOIN
G. PIVOT
H. UNPIVOT
Correct Answer: E
Example of GROUP BY CUBE result set:
In the following example, the CUBE operator returns a result set that has one grouping for all possible combinations of columns in the CUBE list
and a grand total grouping.
References:
https://technet.microsoft.com/en-us/library/bb522495(v=sql.105).aspx
Note: This question is part of a series of questions that use the same or similar answer choices. An answer choice may be correct for more than
one question in the series. Each question is independent of the other questions in this series. Information and details provided in a question apply
only to that question.
You have a database that contains several connected tables. The tables contain sales data for customers in the United States only.
You have the following partial query for the database. (Line numbers are included for reference only.)
You need to complete the query to generate the output shown in the following table.
A. GROUP BY
B. MERGE
C. GROUP BY ROLLUP
D. LEFT JOIN
E. GROUP BY CUBE
F. CROSS JOIN
G. PIVOT
H. UNPIVOT
Correct Answer: C
In the result sets that are generated by the GROUP BY operators, NULL has the following uses:
✑ If a grouping column contains NULL, all null values are considered equal, and they are put into one NULL group.
✑ When a column is aggregated in a row, the value of the column is shown as NULL.
Example of GROUP BY ROLLUP result set:
References:
https://technet.microsoft.com/en-us/library/bb522495(v=sql.105).aspx
Note: This question is part of a series of questions that use the same or similar answer choices. An answer choice may be correct for more than
one question in the series. Each question is independent of the other questions in this series. Information and details provided in a question apply
only to that question.
You have a database that contains several connected tables. The tables contain sales data for customers in the United States only.
You have the following partial query for the database. (Line numbers are included for reference only.)
You need to complete the query to generate the output shown in the following table.
A. GROUP BY
B. MERGE
C. GROUP BY ROLLUP
D. LEFT JOIN
E. GROUP BY CUBE
F. CROSS JOIN
G. PIVOT
H. UNPIVOT
Correct Answer: F
A cross join that does not have a WHERE clause produces the Cartesian product of the tables involved in the join. The size of a Cartesian
product result set is the number of rows in the first table multiplied by the number of rows in the second table.
References:
https://technet.microsoft.com/en-us/library/ms190690(v=sql.105).aspx
A.
B.
C.
D.
E.
F.
G.
H.
Correct Answer: B
The FOR SYSTEM_TIME ALL clause returns all the row versions from both the Temporal and History table.
References:
https://msdn.microsoft.com/en-us/library/dn935015.aspx
SIMULATION -
You have a table named Cities that has the following two columns: CityID and CityName. The CityID column uses the int data type, and CityName
uses nvarchar
(max).
You have a table named RawSurvey. Each row includes an identifier for a question and the number of persons that responded to that question
from each of four cities. The table contains the following representative data:
A reporting table named SurveyReport has the following columns: CityID, QuestionID, and RawCount, where RawCount is the value from the
RawSurvey table.
You need to write a Transact-SQL query to meet the following requirements:
✑ Retrieve data from the RawSurvey table in the format of the SurveyReport table.
✑ The CityID must contain the CityID of the city that was surveyed.
✑ The order of cities in all SELECT queries must match the order in the RawSurvey table.
✑ The order of cities in all IN statements must match the order in the RawSurvey table.
Construct the query using the following guidelines:
✑ Use one-part names to reference tables and columns, except where not possible.
ALL SELECT statements must specify columns.
Use the Check Syntax button to verify your work. Any syntax or spelling errors will be reported by line and character position.
SIMULATION -
You create a table named Sales.Categories by running the following Transact-SQL statement:
You need to create a query that uses a common table expression (CTE) to show the parent category of each category. The query must meet the
following requirements:
✑ Return all columns from the Categories table in the order shown.
✑ Exclude all categories that do not have a parent category.
Construct the query using the following guidelines:
✑ Name the expression ParentCategories.
✑ Use PC as the alias for the expression.
✑ Use C as the alias for the Categories table.
Use the AS keyword for all table aliases.
✑ Use individual column names for each column that the query returns.
✑ Do not use a prefix for any column name.
✑ Do not use implicit joins.
Do not surround object names with square brackets.
Part of the correct Transact-SQL has been provided in the answer area below. Enter the code in the answer area that resolves the problem and
meets the stated goals or requirements. You can add code within the code that has been provided as well as below it.
Use the Check Syntax button to verify your work. Any syntax or spelling errors will be reported by line and character position. You may check
syntax as many times as needed.
AS -
( CTE_query_definition )
References:
https://technet.microsoft.com/en-us/library/ms190766(v=sql.105).aspx
SIMULATION -
You have a database that includes the following tables. All of the tables are in the Production schema.
You need to create a query that returns a list of product names for all products in the Beverages category.
Construct the query using the following guidelines:
✑ Use the first letter of the table name as the table alias.
✑ Use two-part column names.
✑ Do not surround object names with square brackets.
✑ Do not use implicit joins.
✑ Do not use variables.
✑ Use single quotes to surround literal values.
Part of the correct Transact-SQL has been provided in the answer area below. Enter the code in the answer area that resolves the problem and
meets the stated goals or requirements. You can add code within the code that has been provided as well as below it.
Use the Check Syntax button to verify your work. Any syntax or spelling errors will be reported by line and character position. You may check
syntax as many times as needed.
SIMULATION -
You work for an organization that monitors seismic activity around volcanos. You have a table named GroundSensors. The table stored data
collected from seismic sensors. It includes the columns describes in the following table:
The database also contains a scalar value function named NearestMountain that accepts a parameter of type geography and returns the name of
the mountain that is nearest to the sensor.
You need to create a query that shows the average of the normalized readings from the sensors for each mountain. The query must meet the
following requirements:
✑ Return the average normalized readings named AverageReading.
✑ Return the nearest mountain name named Mountain.
✑ Do not return any other columns.
✑ Exclude sensors for which no normalized reading exists.
Construct the query using the following guidelines:
✑ Use one part names to reference tables, columns and functions.
✑ Do not use parentheses unless required.
Define column headings using the AS keyword.
Part of the correct Transact-SQL has been provided in the answer area below. Enter the code in the answer area that resolves the problem and
meets the stated goals or requirements. You can add code within the code that has been provided as well as below it.
Use the Check Syntax button to verify your work. Any syntax or spelling errors will be reported by line and character position.
SIMULATION -
You create a table named Sales.Orders by running the following Transact-SQL statement:
You need to write a query that removes orders from the table that have a Status of Canceled.
Construct the query using the following guidelines:
use one-part column names and two-part table names
Use the Check Syntax button to verify your work. Any syntax or spelling errors will be reported by line and character position.
You need to create a query that lists the highest-performing salespersons based on the current year-to-date sales period. The query must meet the
following requirements:
✑ Return the LastName and SalesYTD for the three salespersons with the highest year-to-date sales values.
✑ Exclude salespersons that have no value for TerritoryID.
Construct the query using the following guidelines:
✑ Use the first letter of a table name as the table alias.
✑ Use two-part column names.
✑ Do not surround object names with square brackets.
✑ Do not use implicit joins.
✑ Use only single quotes for literal text.
Use aliases only if required.
Part of the correct Transact-SQL has been provided in the answer area below. Enter the code in the answer area that resolves the problem and
meets the stated goals or requirements. You can add code within the code that has been provided as well as below it.
1 SELECT top 3 lastname,salesYTD
2 FROM Person AS p INNER JOIN SalesPerson AS s
3 ON p.PersonID = s.SalesPersonID
4 WHERE territoryid is null
5 order by salesytd dsec
Use the Check Syntax button to verify your work. Any syntax or spelling errors will be reported by line and character position.
Note: This question is part of a series of questions that use the same or similar answer choices. An answer choice may be correct for more than
one question in the series. Each question is independent of the other questions in this series. Information and details provided in a question apply
to that question.
You have a database for a banking system. The database has two tables named tblDepositAcct and tblLoanAcct that store deposit and loan
accounts, respectively. Both tables contain the following columns:
You need to determine the total number of deposit and loan accounts.
Which Transact-SQL statement should you run?
A.
B.
C.
D.
E.
F.
G.
H.
Correct Answer: C
Would list the customers with duplicates, which would equal the number of accounts.
Incorrect Answers:
A: INTERSECT returns distinct rows that are output by both the left and right input queries operator.
B: Would list the customers without duplicates.
D: Number of customers.
F: EXCEPT returns distinct rows from the left input query that aren't output by the right input query.
References:
https://msdn.microsoft.com/en-us/library/ms180026.aspx
HOTSPOT -
You need to develop a Transact-SQL statement that meets the following requirements:
✑ The statement must return a custom error when there are problems updating a table.
✑ The error number must be the value 50555.
✑ The error severity level must be 14.
✑ A Microsoft SQL Server alert must be triggered when the error condition occurs.
Which Transact-SQL segment should you use for each requirement? To answer, select the appropriate Transact-SQL segments in the answer area.
Hot Area:
Correct Answer:
RAISERROR generates an error message and initiates error processing for the session. RAISERROR can either reference a user-defined message
stored in the sys.messages catalog view or build a message dynamically. The message is returned as a server error message to the calling
application or to an associated
CATCH block of a TRY"¦CATCH construct. New applications should use THROW instead.
Note: RAISERROR syntax:
RAISERROR( { msg_id | msg_str | @local_variable }
{ ,severity ,state }
[ ,argument [ ,...n ] ] )
[ WITH option [ ,...n ] ]
The LOG option logs the error in the error log and the application log for the instance of the Microsoft SQL Server Database Engine.
References:
https://msdn.microsoft.com/en-us/library/ms178592.aspx
You need to analyze the following query. (Line numbers are included for reference only.)
Use the drop-down menus to select the answer choice that completes each statement based on the information presented in the graphic.
NOTE: Each correct selection is worth one point.
Hot Area:
Correct Answer:
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section. You will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You have a database that tracks orders and deliveries for customers in North America. The database contains the following tables:
Sales.Customers -
Application.Cities -
Sales.CustomerCategories -
Your company is developing a new social application that connects customers to each other based on the distance between their delivery
locations.
You need to write a query that returns the nearest customer.
Solution: You run the following Transact-SQL statement:
The variable @custID is set to a valid customer.
Does the solution meet the goal?
A. Yes
B. No
Correct Answer: A
ShortestLineTo (geometry Data Type) Returns a LineString instance with two points that represent the shortest distance between the two
geometry instances. The length of the LineString instance returned is the distance between the two geometry instances.
STLength (geometry Data Type) returns the total length of the elements in a geometry instance.
References:
https://docs.microsoft.com/en-us/sql/t-sql/spatial-geometry/shortestlineto-geometry-data-type
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section. You will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You have a database that tracks orders and deliveries for customers in North America. The database contains the following tables:
Sales.Customers -
Application.Cities -
Sales.CustomerCategories -
Your company is developing a new social application that connects customers to each other based on the distance between their delivery
locations.
You need to write a query that returns the nearest customer.
Solution: You run the following Transact-SQL statement:
A. Yes
B. No
Correct Answer: B
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section. You will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You have a database that tracks orders and deliveries for customers in North America. The database contains the following tables:
Sales.Customers -
Application.Cities -
Sales.CustomerCategories -
Your company is developing a new social application that connects customers to each other based on the distance between their delivery
locations.
You need to write a query that returns the nearest customer.
Solution: You run the following Transact-SQL statement:
A. Yes
B. No
Correct Answer: B
Sales.Customers -
Application.Cities -
Sales.CustomerCategories -
Your company is developing a new social application that connects customers to each other based on the distance between their delivery
locations.
You need to write a query that returns the nearest customer.
Solution: You run the following Transact-SQL statement:
SELECT TOP 1 B.CustomerID, A.DeliveryLocation.STDistance(B.DeliveryLocation) AS Dist
FROM Sales.Customers AS A -
ORDER BY Dist -
The variable @custID is set to a valid customer.
Does the solution meet the goal?
A. Yes
B. No
Correct Answer: B
DRAG DROP -
You have a database containing the following tables:
Servers -
Errors -
You have a user-defined, scalar function named IPLookup that takes a DNS name as a parameter and returns the IP address of the server. You
have an additional user-defined, scalar function named DNSLookup, that takes an IP address as a parameter and returns a DNS name.
You create a view named vwErrors by running the following Transact-SQL statement:
References:
https://docs.microsoft.com/en-us/sql/t-sql/queries/output-clause-transact-sql
You need to create a table named Sales that meets the following requirements:
A.
B.
C.
D.
E.
Correct Answer: D
datetime2 Defines a date that is combined with a time of day that is based on 24-hour clock. datetime2 can be considered as an extension of
the existing datetime type that has a larger date range, a larger default fractional precision, and optional user-specified precision.
Incorrect Answers:
B, C, E: NEWQSEQUENTIALID creates a GUID that is greater than any GUID previously generated by this function on a specified computer since
Windows was started. A GUID uses more space then IDENTITY value.
References:
https://docs.microsoft.com/en-us/sql/t-sql/data-types/datetime2-transact-sql https://docs.microsoft.com/en-us/sql/t-
sql/functions/newsequentialid-transact-sql
You have a database named DB1 that contains two tables named Sales.Customers and Sales.CustomerTransaction. Sales.CustomerTransactions
has a foreign key relationship to column named CustomerID in Sales.Customers.
You need to recommend a query that returns the number of customers who never completed a transaction.
Which query should you recommend?
A.
B.
C.
D.
Correct Answer: A
Incorrect Answers:
B: The count should be on the Cust instance of Sales.Customers as it is to the right side of the join.
C: Need a WHERE statement with an IS NULL clause.
D: Must use a LEFT JOIN to obtain the NULL values.
References:
https://technet.microsoft.com/en-us/library/ms190014(v=sql.105).aspx
HOTSPOT -
Note: This question is part of a series of questions that use the same scenario. For your convenience, the scenario is repeated in each question.
Each question presents a different goal and answer choices, but the text of the scenario is exactly the same in each question in this series.
You query a database that includes two tables: Project and Task. The Project table includes the following columns:
Users report performance issues when they run the following query:
You need to improve query performance and limit results to projects that specify an end date.
How should you complete the Transact-SQL statement? To answer, select the appropriate Transact-SQL segments in the answer area.
Hot Area:
Correct Answer:
Note: This question is part of a series of questions that use the same or similar answer choices. An answer choice may be correct for more than
one question in the series. Each question is independent of the other questions in this series. Information and details provided in a question apply
only to that question.
You have a database that contains tables named Customer_CRMSystem and Customer_HRSystem. Both tables use the following structure:
Customer_CRMSystem -
Customer_HRSystem -
Records that contain null values for CustomerCode can be uniquely identified by CustomerName.
You need to display distinct customers that appear in both tables.
Which Transact-SQL statement should you run?
A.
B.
C.
D.
E.
F.
G.
H.
Correct Answer: H
To retain the nonmatching information by including nonmatching rows in the results of a join, use a full outer join. SQL Server provides the full
outer join operator,
FULL OUTER JOIN, which includes all rows from both tables, regardless of whether or not the other table has a matching value.
Incorrect Answers:
A: Inner joins return rows only when there is at least one row from both tables that matches the join condition. Inner joins eliminate the rows
that do not match with a row from the other table.
B: INTERSECT returns distinct rows that are output by both the left and right input queries operator.
D: EXCEPT returns distinct rows from the left input query that aren't output by the right input query.
E: UNION specifies that multiple result sets are to be combined and returned as a single result set, but this will not work here as the CustomerID
column values do not match.
F: UNION ALL incorporates all rows into the results. This includes duplicates. If not specified, duplicate rows are removed.
G: A cross join would produce the Cartesian product of the two tables.
References:
https://technet.microsoft.com/en-us/library/ms187518(v=sql.105).aspx
DRAG DROP -
Note: This question is part of a series of questions that use the same scenario. For your convenience, the scenario is repeated in each question.
Each question presents a different goal and answer choices, but the text of the scenario is exactly the same in each question in this series.
You query a database that includes two tables: Project and Task. The Project table includes the following columns:
The Task table includes the following columns:
You need to find all projects that have at least one task that took more than 50 hours to complete. You must also determine the average duration
of the tasks that took more that took more than 50 hours to complete for each project.
How should you complete the Transact-SQL statement? To answer, drag the appropriate Transact-SQL segments to the correct locations. Each
Transact-SQL segment may be used once, more than once or not at all. You may need to drag the split bar between panes or scroll to view
content.
Select and Place:
Correct Answer:
You have a database named DB1 that contains a temporal table named Sales.Customers.
You need to create a query that returns the credit limit that was available to each customer in DB1 at the beginning of 2017.
Which query should you execute?
A.
B.
C.
D.
Correct Answer: C
AS OF: Returns a table with a rows containing the values that were actual (current) at the specified point in time in the past.
Incorrect Answers:
A, B: CONTAINED IN has two parameters: CONTAINED IN (<start_date_time> , <end_date_time>)
References:
https://docs.microsoft.com/en-us/sql/relational-databases/tables/querying-data-in-a-system-versioned-temporal-table
DRAG DROP -
You have a table named HumanResources.Employee. You configure the table to use a default history table that contains 10 years of data.
You need to write a query that retrieves the values of the BusinessEntityID and JobTitle fields. You must retrieve all historical data up to January 1,
2017 where the value of the BusinessEntityID column equals 4.
Which four Transact-SQL segments should you use to develop the solution? To answer, move the appropriate Transact-SQL segments to the
answer area and arrange them in the correct order.
Select and Place:
Correct Answer:
References:
https://docs.microsoft.com/en-us/sql/relational-databases/tables/querying-data-in-a-system-versioned-temporal-table
Question #120 Topic 1
You need to create a database object that meets the following requirements:
✑ accepts a product identifies as input
calculates the total quantity of a specific product, including quantity on hand and quantity on order
Correct Answer: B
A table-valued user-defined function can also replace stored procedures that return a single result set. The table returned by a user-defined
function can be referenced in the FROM clause of a Transact-SQL statement, but stored procedures that return result sets cannot.
References:
https://technet.microsoft.com/en-us/library/ms191165(v=sql.105).aspx
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section. You will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You create a table named Products by running the following Transact-SQL statement:
You need to modify the stored procedure to meet the following new requirements:
✑ Insert product records as a single unit of work.
✑ Return error number 51000 when a product fails to insert into the database.
✑ If a product record insert operation fails, the product information must not be permanently written to the database.
Solution: You run the following Transact-SQL statement:
A. Yes
B. No
Correct Answer: B
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section. You will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You create a table named Products by running the following Transact-SQL statement:
You need to modify the stored procedure to meet the following new requirements:
✑ Insert product records as a single unit of work.
✑ Return error number 51000 when a product fails to insert into the database.
✑ If a product record insert operation fails, the product information must not be permanently written to the database.
Solution: You run the following Transact-SQL statement:
A. Yes
B. No
Correct Answer: B
Customer -
CustomerAudit -
Where the value of the CustomerID column equals 3, you need to update the value of the CreditLimit column to 1000 for the customer. You must
ensure that the change to the record in the Customer table is recorded on the CustomerAudit table.
Which Transact-SQL statement should you run?
A. Option A
B. Option B
C. Option C
D. Option D
Correct Answer: A
The OUTPUT Clause returns information from, or expressions based on, each row affected by an INSERT, UPDATE, DELETE, or MERGE
statement. These results can be returned to the processing application for use in such things as confirmation messages, archiving, and other
such application requirements. The results can also be inserted into a table or table variable. Additionally, you can capture the results of an
OUTPUT clause in a nested INSERT, UPDATE, DELETE, or MERGE statement, and insert those results into a target table or view.
Note: If the column modified by the .RITE clause is referenced in an OUTPUT clause, the complete value of the column, either the before image
in deleted.column_name or the after image in inserted.column_name, is returned to the specified column in the tablevariable.
Incorrect Answers:
D: The deleted.Creditlimit should be inserted in the second column, the OldCreditLimit column, not the third column.
References:
https://msdn.microsoft.com/en-us/library/ms177564.aspx
Dieter 6 months, 3 weeks ago
No, I think
the correct answer is B since the OUTPUT parameters do not fit the insert into
parameters. in addition, the inserted values are incorrect (deleted for both old
and new credit limit)
upvoted 21 times
You have a database for a banking system. The database has two tables named tblDepositAcct and tblLoanAcct that store deposit and loan
accounts, respectively. Both tables contain the following columns:
You need to determine the total number of customers who have only deposit accounts.
Which Transact-SQL statement should you run?
A. Option A
B. Option B
C. Option C
D. Option D
E. Option E
F. Option F
G. Option G
H. Option H
Correct Answer: F
References:
https://docs.microsoft.com/en-us/sql/t-sql/language-elements/set-operators-except-and-intersect-transact-sql?view=sql-server-2017
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section. You will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You have a table named Products that stores information about products your company sells. The table has a column named ListPrice that stores
retail pricing information for products.
Some products are used only internally by the company. Records for these products are maintained in the Products table for inventory purposes.
The price for each of these products is $0.00. Customers are not permitted to order these products.
You need to increase the list price for products that cost less than $100 by 10 percent. You must only increase pricing for products that customers
are permitted to order.
Solution: You run the following Transact-SQL statement:
A. Yes
B. No
Correct Answer: B
Mathematical equation will only return 10 % of the value.
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section. You will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You have a table that was created by running the following Transact-SQL statement:
The Products table includes the data shown in the following table:
A. Yes
B. No
Correct Answer: B
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section. You will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You create a table named Customer by running the following Transact-SQL statement:
You must insert the following data into the Customer table:
You need to ensure that both records are inserted or neither record is inserted.
Solution: You run the following Transact-SQL statement:
A. Yes
B. No
Correct Answer: B
Reference:
https://docs.microsoft.com/it-it/sql/t-sql/statements/insert-transact-sql?view=sql-server-2017
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section. You will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You have a database that contains a single table named tblVehicleRegistration. The table is defined as follows:
The query output window displays the following error message: "Conversion failed when converting the varchar value "˜AB012' to data type int."
You need to resolve the error.
Solution: You modify the Transact-SQL statement as follows:
A. Yes
B. No
Correct Answer: B
https://docs.microsoft.com/en-us/sql/t-sql/functions/cast-and-convert-transact-sql?view=sql-server-2017
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section. You will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You have a database that contains a single table named tblVehicleRegistration. The table is defined as follows:
A. Yes
B. No
Correct Answer: B
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section. You will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You have a database that contains a single table named tblVehicleRegistration. The table is defined as follows:
The query output window displays the following error message: "Conversion failed when converting the varchar value "˜AB012' to data type int."
You need to resolve the error.
Solution: You modify the Transact-SQL statement as follows:
A. Yes
B. No
Correct Answer: B
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section. You will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You have a table named Products that stores information about products your company sells. The table has a column named ListPrice that stores
retail pricing information for products.
Some products are used only internally by the company. Records for these products are maintained in the Products table for inventory purposes.
The price for each of these products is $0.00. Customers are not permitted to order these products.
You need to increase the list price for products that cost less than $100 by 10 percent. You must only increase pricing for products that customers
are permitted to order.
Solution: You run the following Transact-SQL statement:
A. Yes
B. No
Correct Answer: A
Reference:
https://docs.microsoft.com/en-us/sql/t-sql/queries/update-transact-sql?view=sql-server-2017
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section. You will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You have a table named Products that stores information about products your company sells. The table has a column named ListPrice that stores
retail pricing information for products.
Some products are used only internally by the company. Records for these products are maintained in the Products table for inventory purposes.
The price for each of these products is $0.00. Customers are not permitted to order these products.
You need to increase the list price for products that cost less than $100 by 10 percent. You must only increase pricing for products that customers
are permitted to order.
Solution: You run the following Transact-SQL statement:
A. Yes
B. No
Correct Answer: B
DRAG DROP -
You have a database that contains a table named Users. The table is defined as follows:
You need to load data from the CSV file into the Users table while meeting the following requirements:
✑ If a field value is not provided in the file, insert a NULL value for the corresponding column
✑ Load all records into the table with the correct UserId from the file
Which three Transact-SQL segments should you use to develop the solution? To answer, move the appropriate Transact-SQL segments from the
list of Transact-
SQL segments to the answer area and arrange them in the correct order.
Select and Place:
Correct Answer:
Reference:
https://docs.microsoft.com/en-us/sql/t-sql/functions/openrowset-transact-sql?view=sql-server-2017
M4x 6 months ago
Wrong! bulk insert users from N'F:\users.txt' with (
fieldterminator = ',', keepidentity, keepnulls ) keepnulls because otherwise
all records with null became active (there are a default on IsActive
column)
upvoted 10 times
You have a database named DB1 that contains a temporal table named Sales.Customers.
You need to create a query that returns the credit limit that was available to each customer in DB1 at the beginning of 2017.
Which query should you execute?
A.
B.
C.
D.
A. GROUP BY
B. MERGE
C. GROUP BY ROLLUP
D. LEFT JOIN
E. GROUP BY CUBE
F. CROSS JOIN
G. PIVOT
H. UNPIVOT
Correct Answer: C
Reference:
https://docs.microsoft.com/en-us/sql/t-sql/queries/select-group-by-transact-sql?view=sql-server-2017
Note: This question is part of a series of questions that use the same or similar answer choices. An answer choice may be correct for more than
one question in the series. Each question is independent of the other questions in this series. Information and details provided in a question apply
only to that question.
You have a database that contains several connected tables. The tables contain sales data for customers in the United States only.
All the sales data is stored in a table named table1. You have a table named table2 that contains city names.
You need to create a query that lists only the cities that have no sales.
Which statement clause should you add to the query?
A. GROUP BY
B. MERGE
C. GROUP BY ROLLUP
D. LEFT JOIN
E. GROUP BY CUBE
F. CROSS JOIN
G. PIVOT
H. UNPIVOT
Correct Answer: D
Reference:
https://docs.microsoft.com/en-us/sql/t-sql/queries/from-transact-sql?view=sql-server-2017
Note: This question is part of a series of questions that use the same or similar answer choices. An answer choice may be correct for more than
one question in the series. Each question is independent of the other questions in this series. Information and details provided in a question apply
only to that question.
You have a database that contains several connected tables. The tables contain sales data for customers in the United States only.
You have the following partial query for the database. (Line numbers are included for reference only.)
You need to complete the query to generate the output shown in the following table.
A. GROUP BY
B. MERGE
C. GROUP BY ROLLUP
D. LEFT JOIN
E. GROUP BY CUBE
F. CROSS JOIN
G. PIVOT
H. UNPIVOT
Correct Answer: A
Note: This question is part of a series of questions that use the same scenario. For your convenience, the scenario is repeated in each question.
Each question presents a different goal and answer choices, but the text of the scenario is exactly the same in each question in this series.
You query a database that includes two tables: Project and Task. The Project table includes the following columns:
You plan to run the following query to update tasks that are not yet started:
UPDATE Task SET StartTime = GETDATE() WHERE StartTime IS NULL
You need to return the total count of tasks that are impacted by this UPDATE operation, but are not associated with a project.
What set of Transact-SQL statements should you run?
A.
B.
C.
D.
E.
F.
Correct Answer: B
mlourinho 3 months, 3 weeks ago
Actually, F is
also right
upvoted 5 times
You have a database named DB1 that contains a temporal table named Sales.Customers.
You need to create a query that returns the credit limit that was available to each customer in DB1 at the beginning of 2017.
Which query should you execute?
A.
B.
C.
D.
Correct Answer: B
AS OF: Returns a table with a rows containing the values that were actual (current) at the specified point in time in the past.
Incorrect Answers:
A, B: CONTAINED IN has two parameters: CONTAINED IN (<start_date_time> , <end_date_time>)
References:
https://docs.microsoft.com/en-us/sql/relational-databases/tables/querying-data-in-a-system-versioned-temporal-table
Note: This question is part of a series of questions that use the same or similar answer choices. An answer choice may be correct for more than
one question in the series. Each question is independent of the other questions in this series. Information and details provided in a question apply
only to that question.
You create a table by running the following Transact-SQL statement:
You are developing a report that aggregates customer data only for the year 2014. The report requires that the data be denormalized.
You need to return the data for the report.
Which Transact-SQL statement should you run?
A.
B.
C.
D.
E.
F.
G.
H.
Correct Answer: G
Note: This question is part of a series of questions that use the same or similar answer choices. An answer choice may be correct for more than
one question in the series. Each question is independent of the other questions in this series. Information and details provided in a question apply
only to that question.
You create a table by running the following Transact-SQL statement:
You need to return normalized data for all customers that were added in the year 2014.
Which Transact-SQL statement should you run?
A.
B.
C.
D.
E.
F.
G.
H.
Correct Answer: G
Note: This question is part of a series of questions that use the same or similar answer choices. An answer choice may be correct for more than
one question in the series. Each question is independent of the other questions in this series. Information and details provided in a question apply
only to that question.
You run the following Transact-SQL statement:
You need to return the total annual revenue for all customers, followed by a row for each customer that shows the customer's name and annual
revenue.
Which Transact-SQL statement should you run?
A.
B.
C.
D.
E.
F.
G.
H.
Correct Answer: A
Note: This question is part of a series of questions that use the same or similar answer choices. An answer choice may be correct for more than
one question in the series. Each question is independent of the other questions in this series. Information and details provided in a question apply
only to that question.
You create a table by running the following Transact-SQL statement:
A.
B.
C.
D.
E.
F.
G.
H.
Correct Answer: F
You need to create a database object that meets the following requirements:
✑ accepts a product identifies as input
✑ calculates the total quantity of a specific product, including quantity on hand and quantity on order
✑ caches and reuses execution plan
✑ returns a value
✑ can be called from within a SELECT statement
✑ can be used in a JOIN clause
What should you create?
Correct Answer: B
References:
https://www.techrepublic.com/blog/the-enterprise-cloud/understand-when-to-use-user-defined-functions-in-sql-server/
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You are building a stored procedure that will be used by hundreds of users concurrently.
You need to store rows that will be processed later by the stored procedure. The object that stores the rows must meet the following
requirements:
✑ Be indexable
✑ Contain up-to-date statistics
✑ Be able to scale between 10 and 100,000 rows
The solution must prevent users from accessing one another's data.
Solution: You create a global temporary table in the stored procedure.
Does this meet the goal?
A. Yes
B. No
Correct Answer: A
A. Yes
B. No
Correct Answer: B
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You are building a stored procedure that will be used by hundreds of users concurrently.
You need to store rows that will be processed later by the stored procedure. The object that stores the rows must meet the following
requirements:
✑ Be indexable
✑ Contain up-to-date statistics
✑ Be able to scale between 10 and 100,000 rows
The solution must prevent users from accessing one another's data.
Solution: You create a table variable in the stored procedure.
Does this meet the goal?
A. Yes
B. No
Correct Answer: B
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You are creating indexes in a data warehouse.
You have a dimension table named Table1 that has 10,000 rows. The rows are used to generate several reports.
The reports join a column that is the primary key.
The execution plan contains bookmark lookups for Table1.
You discover that the reports run slower than expected.
You need to reduce the amount of time it takes to run the reports.
Solution: You create a hash index on the primary key column.
Does this meet the goal?
A. Yes
B. No
Correct Answer: B
Reference:
https://msdn.microsoft.com/en-us/library/dn133190.aspx
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You are creating indexes in a data warehouse.
You have a dimension table named Table1 that has 10,000 rows. The rows are used to generate several reports.
The reports join a column that is the primary key.
The execution plan contains bookmark lookups for Table1.
You discover that the reports run slower than expected.
You need to reduce the amount of time it takes to run the reports.
Solution: You create a clustered index on the primary key column.
Does this meet the goal?
A. Yes
B. No
Correct Answer: A
raja1234567890 3 months, 3 weeks ago
If primary key is created, then clustered index is
already created. if report is running slow while joining with primary key. How
does performance improve when index is recreated.
upvoted 3 times
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You are creating indexes in a data warehouse.
You have a dimension table named Table1 that has 10,000 rows. The rows are used to generate several reports.
The reports join a column that is the primary key.
The execution plan contains bookmark lookups for Table1.
You discover that the reports run slower than expected.
You need to reduce the amount of time it takes to run the reports.
Solution: You create a nonclustered index on the primary key column that includes the bookmark lookup columns.
Does this meet the goal?
A. Yes
B. No
Correct Answer: B
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You have a database named DB1 that contains two tables named Sales.Customers and Sales.Orders. Sales.Customers has a foreign key
relationship to a column named CustomerID in SalesOrders.
You need to recommend a query that returns all the customers. The query must also return the number of orders that each customer placed in
2016.
Solution: You recommend the following query:
A. Yes
B. No
Correct Answer: B
Reference:
https://docs.microsoft.com/en-us/sql/t-sql/functions/count-transact-sql?view=sql-server-2017
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You have a database named DB1 that contains two tables named Sales.Customers and Sales.Orders. Sales.Customers has a foreign key
relationship to a column named CustomerID in Sales.Orders.
You need to recommend a query that returns all the customers. The query must also return the number of orders that each customer placed in
2016.
Solution: You recommend the following query:
A. Yes
B. No
Correct Answer: A
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You have a database named DB1 that contains two tables named Sales.Customers and Sales.Orders. Sales.Customers has a foreign key
relationship to a column named CustomerID in Sales.Orders.
You need to recommend a query that returns all the customers. The query must also return the number of orders that each customer placed in
2016.
Solution: You recommend the following query:
A. Yes
B. No
Correct Answer: B
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section. You will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You have a database that contains a single table named tblVehicleRegistration. The table is defined as follows:
The query output window displays the following error message: "Conversion failed when converting the varchar value "˜AB012' to data type int."
You need to resolve the error.
Solution: You modify the Transact-SQL statement as follows:
A. Yes
B. No
Correct Answer: A
Dieter 6 months, 3 weeks ago
IMO is the
correct answer B since it can occur taht the RegistrationNumber holds
alphanumerical data (due to that it holds the data type varchar(5))
upvoted 8 times
You have a database that includes the tables shown in the exhibit. (Click the exhibit button.)
You need to create a list of all customers and the date that the customer placed their last order. For customers who have not placed orders, you
must substitute
01/01/1990 for the date.
Which Transact-SQL statement should you run?
A.
B.
C.
D.
Correct Answer: A
HOTSPOT -
You need to develop a function that returns a list of courses grouped by the total number of students in a course.
The function must list only courses that have more than a specific number of students. The specific number of students is defined as an input
variable for the function.
How should you complete the function? To answer, select the appropriate Transact-SQL segments in the answer area.
NOTE: Each correct selection is worth one point.
Hot Area:
Correct Answer:
HOTSPOT -
You develop and deploy a project management application. The application uses a Microsoft SQL Server database to store data. You are
developing a software bug tracking add-on for the application.
The add-on must meet the following requirements:
✑ Allow case sensitive searches for product.
✑ Filter search results based on exact text in the description.
✑ Support multibyte Unicode characters.
You run the following Transact-SQL statement:
Users report that searches for the product Salt also return results for the product salt.
You need to ensure that the query returns the correct results.
How should you complete the Transact-SQL statement? To answer, select the appropriate Transact-SQL segments in the answer area.
NOTE: Each correct selection is worth one point.
Hot Area:
Correct Answer:
References:
https://stackoverflow.com/questions/1831105/how-to-do-a-case-sensitive-search-in-where-clause-im-using-sql-server
You must create a report that returns course identifiers and the average evaluation score for each course. The result set must include only one
score for each employee for each course.
How should you complete the Transact-SQL statement? To answer, select the appropriate Transact-SQL segments in the answer area.
NOTE: Each correct selection is worth one point.
Hot Area:
Correct Answer:
SIMULATION -
You have a database that contains a table named Products in the Sales schema. The table was created by running the following Transact-SQL
statement:
You are developing a report that displays the following values and column headers in the order listed below:
✑ average price of a product named Average
✑ the smallest number of products in stock named LowestNumber
✑ the highest product price named HighestPrice
You need to write a query to return the results for the report. The query must meet the following requirements:
✑ Use built-in, aggregate and mathematical functions.
✑ Use two-part names and tables.
✑ Use the table alias to qualify column names.
✑ Define the alias for all fields by using the AS keyword.
✑ Use the first letter of the table name as the table alias.
✑ Do not use the ROW_NUMBER function.
✑ Do not surround object names with square brackets.
✑ Do not use variables.
Part of the correct Transact-SQL has been provided in the answer area below. Enter the code in the answer area that resolves the problem and
meets the stated goals or requirements. You can add code within the code that has been provided as well as below it.
1. SELECT
2. FROM Sales.Products AS P
Use the Check Syntax button to verify your work. Any syntax or spelling errors will be reported by line and character position. You may check
syntax as many times as needed.
You are developing a mobile app to manage meetups. The app allows for users to view the 25 closest people with similar interests. You have a
table that contains records for approximately two million people. You create the table by running the following Transact-SQL statement:
You create the following table valued function to generate lists of people:
You need to build a report that shows meetings with at least two people only.
What should you use?
A. OUTER APPLY
B. CROSS APPLY
C. PIVOT
Correct Answer: B
References:
https://www.sqlshack.com/the-difference-between-cross-apply-and-outer-apply-in-sql-server/
You develop and deploy a project management application. The application uses a Microsoft SQL Server database to store data. You are
developing a software bug tracking add-on for the application.
The add-on must meet the following requirements:
"¢ Allow case sensitive searches for product.
"¢ Filter search results based on exact text in the description. "¢ Support multibyte Unicode characters.
You run the following Transact-SQL statement:
A.
B.
C.
D.
Correct Answer: D
References:
https://docs.microsoft.com/en-us/sql/t-sql/queries/contains-transact-sql?view=sql-server-2017
You are building a stored procedure named SP1 that calls a stored procedure named SP2.
SP2 calls another stored procedure named SP3 that returns a Recordset. The Recordset is stored in a temporary table.
You need to ensure that SP2 returns a text value to SP1.
What should you do?
A. Create a temporary table in SP2, and then insert the text value into the table.
B. Return the text value by using the ReturnValue when SP2 is called.
D. Create a table variable in SP2, and then insert the text value into the table.
Correct Answer: C
You need to create a stored procedure that meets the following requirements:
✑ Inserts data into the Employees table.
✑ Processes all data changes as a single unit of work.
✑ Sets the exception severity level to 16 and an error number of 60, 000 when any error occurs.
✑ If a Transact-SQL statement raises a runtime error, terminates and reverts the entire unit of work, and indicates the line number in the
statement where the error occurred.
✑ Inserts the value New Employee for the Title column if no title is provided.
How should you complete the Transact-SQL statement? To answer, drag the appropriate Transact-SQL segment to the correct target. Each
Transact-SQL segment may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view
content.
NOTE: Each correct selection is worth one point.
Select and Place:
Correct Answer:
References:
https://stackoverflow.com/questions/180075/executing-a-stored-procedure-inside-begin-end-transaction
HOTSPOT -
You have a database that contains the following tables: tblEmployees and tblSalesSummary. Each record contains approximately one million
records.
You use Microsoft SQL Server Management Studio (SSMS) to run two queries. The Include Actual Execution Plan option is enabled.
Both queries return the same results. SSMS generates the execution plans shown in the exhibit. (Click the Exhibit button.)
You need to troubleshoot the queries.
How should you interpret the execution plans? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Hot Area:
Correct Answer:
References:
https://docs.microsoft.com/en-us/sql/relational-databases/showplan-logical-and-physical-operators-reference?view=sql-server-2017
DRAG DROP -
You have a database named DB1 that contains a table named HR.Employees. HR.Employees contains two columns named ManagerID and
EmployeeID.
ManagerID refers to EmployeeID.
You need to create a query that returns a list of all employees, the manager of each employee, and the numerical level of each employee in your
organization's hierarchy.
Which five statements should you add to the query in sequence? To answer, move the appropriate statements from the list of statements to the
answer area and arrange them in the correct order.
Select and Place:
Correct Answer:
References:
https://blog.sqlauthority.com/2012/04/24/sql-server-introduction-to-hierarchical-query-using-a-recursive-cte-a-primer/
HOTSPOT -
You have the following Transact-SQL statement:
WHERE PersonID = 5 -
You need to implement error handling.
How should you complete Transact-SQL statement? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Hot Area:
Correct Answer:
References:
https://docs.microsoft.com/en-us/sql/t-sql/language-elements/try-catch-transact-sql?view=sql-server-2017
A. Yes
B. No
Correct Answer: A
References:
https://docs.microsoft.com/en-us/sql/relational-databases/indexes/clustered-and-nonclustered-indexes-described?view=sql-server-2017
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You create a table named Customer by running the following Transact-SQL statement:
A. Yes
B. No
Correct Answer: B
Use a WHERE CURRENT OF clause, which deletes at the current position of the specified cursor.
References:
https://docs.microsoft.com/en-us/sql/t-sql/statements/delete-transact-sql
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You create a table named Customer by running the following Transact-SQL statement:
A. Yes
B. No
Correct Answer: A
CURRENT OF specifies that the DELETE is performed at the current position of the specified cursor.
References:
https://docs.microsoft.com/en-us/sql/t-sql/statements/delete-transact-sql
HOTSPOT -
You create a table to store sales information for an online sales application by running the following Transact-SQL statement:
You have a historical report that summarizes the sales for each quarter and year. The query that generated the data for the report is no longer
available. A representative report contains the following data:
Correct Answer:
WHEN expression is a simple expression to which input_expression is compared when the simple CASE format is used and is any valid
expression.
ELSE is the expression returned if no comparison operation evaluates as TRUE.
DATEPART returns an integer which represents the specified datepart of the date, such as day, month, year, quarter etc.
References:
https://docs.microsoft.com/en-us/sql/t-sql/language-elements/case-transact-sql?view=sql-server-2017 https://docs.microsoft.com/en-
us/sql/t-sql/functions/datepart-transact-sql?view=sql-server-2017
DRAG DROP -
Note: This question is part of a series of questions that use the same scenario. For your convenience, the scenario is repeated in each question.
Each question presents a different goal and answer choices, but the text of the scenario is exactly the same in each question in this series.
References:
https://docs.microsoft.com/en-us/sql/t-sql/queries/with-common-table-expression-transact-sql?view=sql-server-2017
You have a table named Table1 that contains 200 million rows. Table1 contains a column named SaleDate that has a data type of DateTime2(3).
Users report that the following query runs slowly.
You need to reduce the amount of time it takes to run the query.
What should you use to replace the WHERE statement?
Correct Answer: C
References:
https://docs.microsoft.com/en-us/sql/t-sql/queries/select-transact-sql?view=sql-server-2017
You need to create a query that lists complaints about defective products. The report must include complaints where the exact phrase "defective
product" occurs, as well as complaints where similar phrases occur.
Which Transact-SQL statement should you run?
D. SELECT ComplaintID, Customer Transcript FROM Complaints WHERE CustomerTranscript like '%defective product%'
Correct Answer: A
References:
https://docs.microsoft.com/en-us/sql/t-sql/queries/contains-transact-sql?view=sql-server-2017
You need to create a query that returns the total number of attendees for each combination of CourseID, CourseDate, and the following locations:
Lisbon, London, and Seattle. The result set should resemble the following:
B. SELECT * FROM CourseParticipants PIVOT(SUM(NumParticipants) FOR LocationDescription IN (Lisbon, London, Seattle)) as PVTTable
D. SELECT * FROM CourseParticipants UNPIVOT(SUM(NumParticipants) FOR LocationDescription IN (Lisbon, London, Seattle) AS PVTTable
Correct Answer: B
References:
https://www.techonthenet.com/sql_server/pivot.php
You have a project management application. The application uses a Microsoft SQL Server database to store data. You are developing a software
bug tracking add-on for the application.
The add-on must meet the following requirements:
✑ Allow case sensitive searches for product.
✑ Filter search results based on exact text in the description.
✑ Support multibyte Unicode characters.
You run the following Transact-SQL statement:
Users connect to an instance of the bug tracking application that is hosted in New York City. Users in Seattle must be able to display the local date
and time for any bugs that they create.
You need to ensure that the DateCreated column displays correctly.
Which Transact-SQL statement should you run?
A. SELECT Id,Product, DateCreated AT TIME ZONE 'Pacific Standard Time' FROM Bug
Correct Answer: C
References:
https://docs.microsoft.com/en-us/sql/t-sql/functions/todatetimeoffset-transact-sql?view=sql-server-2017
DRAG DROP -
You have a project management application. The application uses a Microsoft SQL Server database to store data. You are developing a software
bug tracking add-on for the application.
The add-on must meet the following requirements:
✑ Allow case sensitive searches for product.
✑ Filter search results based on exact text in the description.
✑ Support multibyte Unicode characters.
You run the following Transact-SQL statement:
You need to display a comma separated list of all product bugs filed by a user named User1.
How should you complete the Transact-SQL statement? To answer, drag the appropriate Transact-SQL segments to the correct locations. Each
Transact-SQL segment may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view
content.
NOTE: Each correct selection is worth one point.
Select and Place:
Correct Answer:
References:
https://docs.microsoft.com/en-us/sql/t-sql/functions/string-split-transact-sql?view=sql-server-2017
You need to create a report that shows the sales people within each territory for each year. The report must display sales people in order by
highest sales amount.
How should you complete the Transact-SQL statement? To answer, drag the appropriate Transact-SQL segments to the correct locations. Each
Transact-SQL segment may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view
content.
NOTE: Each correct selection is worth one point.
Select and Place:
Correct Answer:
SIMULATION -
You have a database that includes the following tables. All of the tables are in the Production schema.
You need to create a query that returns a list of product names for all products in the Beverages category.
Construct the query using the following guidelines:
✑ Use the first letter of the table name as the table alias.
✑ Use two-part column names.
✑ Do not surround object names with square brackets.
✑ Do not use implicit joins.
✑ Do not use variables.
✑ Use single quotes to surround literal values.
Part of the correct Transact-SQL has been provided in the answer area below. Enter the code in the answer area that resolves the problem and
meets the stated goals or requirements. You can add code within the code that has been provided as well as below it.
Note: This question is part of a series of questions that use the same or similar answer choices. An answer choice may be correct for more than
one question in the series. Each question is independent of the other questions in this series. Information and details provided in a question apply
only to that question.
You have a table named Person that contains information about employees. Users are requesting a way to access specific columns from the
Person table without specifying the Person table in the query statement. The columns that users can access will be determined when the query is
running against the data. There are some records that are restricted, and a trigger will evaluate whether the request is attempting to access a
restricted record.
You need to ensure that users can access the needed columns while minimizing storage on the database server.
What should you implement?
B. a view
C. a table-valued function
E. a stored procedure
G. a scalar function
Correct Answer: B
References:
https://docs.microsoft.com/en-us/sql/t-sql/statements/create-view-transact-sql?view=sql-server-2017
You need to query the Courses table and return the result set as JSON. The output from the query must resemble the following format:
A. SELECT CourseID AS [Course ID], Course as Name FROM Courses FOR JSON PATH('Courses')
B. SELECT CourseID AS 'Course ID', Course AS Name FROM Courses FOR JSON ROOT('Courses')
C. SELECT CourseID AS [Course ID], Course AS Name FROM Courses FOR JSON AUTO, ROOT('Courses')
D. SELECT CourseID AS 'Course ID', Course AS Name FROM Courses FOR JSON AUTO, INCLUDE_NULL_VALUES('Courses')
Correct Answer: D
References:
https://docs.microsoft.com/en-us/sql/relational-databases/json/include-null-values-in-json-include-null-values-option?view=sql-server-2017
You need to create a consolidated result set that includes all records from both tables.
Which Transact-SQL statement should you run?
C. SELECT salesID, customer, amount FROM SalesNorth UNION ALL SELECT salesID, customer, amount FROM SalesSouth
D. SELECT salesID, customer, amount FROM SalesNorth UNION SELECT salesID, customer, amount FROM SalesSouth
Correct Answer: C
References:
https://docs.microsoft.com/en-us/sql/t-sql/queries/from-transact-sql?view=sql-server-2017
DRAG DROP -
You need to create a stored procedure that meets the following requirements:
✑ Produces a warning if the credit limit parameter is greater than 7,000
✑ Propagates all unexpected errors to the calling process
How should you complete the Transact-SQL statement? To answer, drag the appropriate Transact-SQL segments to the correct locations. Each
Transact-SQL segments may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view
content.
Select and Place:
Correct Answer:
Transact-SQL -
THROW 51000, 'The record does not exist.', 1;
Here is the result set.
Msg 51000, Level 16, State 1, Line 1
The record does not exist.
Note: RAISERROR syntax:
RAISERROR( { msg_id | msg_str | @local_variable }
{ ,severity ,state }
[ ,argument [ ,...n ] ] )
[ WITH option [ ,...n ] ]
Note: The ERROR_MESSAGE function returns the message text of the error that caused the CATCH block of a TRY"¦CATCH construct to be run.
References:
https://msdn.microsoft.com/en-us/library/ms178592.aspx
https://msdn.microsoft.com/en-us/library/ms190358.aspx
https://msdn.microsoft.com/en-us/library/ee677615.aspx
You have a date related query that would benefit from an indexed view.
You need to create the indexed view.
Which two Transact-SQL functions can you use? Each correct answer presents a complete solution.
NOTE: Each correct selection is worth one point.
A. DATEADD
B. AT TIME ZONE
C. GETUTCDATE
D. DATEDIFF
Correct Answer: CD
References:
https://docs.microsoft.com/en-us/sql/t-sql/functions/date-and-time-data-types-and-functions-transact-sql?view=sql-server-
2017#DateandTimeFunctions
You are developing a database to track employee progress relative to training goals. You run the following Transact-SQL statements:
You must build a report that shows all Employees and the courses that they have taken. Employees that have not taken training courses must still
appear in the report. The report must display NULL in the course column for these employees.
You need to create a query for the report.
A.
B.
C.
D.
Correct Answer: C
Incorrect Answers:
A, B: JOIN and INNER JOIN displays only the rows that have a match in both joined tables
References:
https://www.mssqltips.com/sqlservertip/1667/sql-server-join-example/
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section. You will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You have a database that includes the tables shown in the exhibit (Click the Exhibit button.)
You need to create a Transact-SQL query that returns the following information:
✑ the customer number
✑ the customer contact name
✑ the date the order was placed, with a name of DateofOrder
✑ a column named Salesperson, formatted with the employee first name, a space, and the employee last name
✑ orders for customers where the employee identifier equals 4
The output must be sorted by order date, with the newest orders first.
The solution must return only the most recent order for each customer.
Solution: You run the following Transact-SQL statement:
A. Yes
B. No
Correct Answer: B
We cannot use the column alias Salesperson in the GROUP BY clause, since in Oracle and SQL Server, you cannot use a term in the GROUP BY
clause that you define in the SELECT clause because the GROUP BY is executed before the SELECT clause.
References:
https://stackoverflow.com/questions/3841295/sql-using-alias-in-group-by/3841804
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You have a database named DB1 that contains two tables named Sales.Customers and Sales.Orders. Sales.Customers has a foreign key
relationship to a column named CustomerID in Sales.Orders.
You need to recommend a query that returns all the customers. The query must also return the number of orders that each customer placed in
2016.
Solution: You recommend the following query:
A. Yes
B. No
Correct Answer: B
References:
https://docs.microsoft.com/en-us/sql/t-sql/functions/count-transact-sql?view=sql-server-2017
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section. You will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You create a table named Products by running the following Transact-SQL statement:
You have the following stored procedure:
You need to modify the stored procedure to meet the following new requirements:
✑ Insert product records as a single unit of work.
✑ Return error number 51000 when a product fails to insert into the database.
✑ If a product record insert operation fails, the product information must not be permanently written to the database.
Solution: You run the following Transact-SQL statement:
A. Yes
B. No
Correct Answer: B
XACT_STATE is a scalar function that reports the user transaction state of a current running request. XACT_STATE indicates whether the
request has an active user transaction, and whether the transaction is capable of being committed.
The states of XACT_STATE are:
✑ 0 There is no active user transaction for the current request.
✑ 1 The current request has an active user transaction. The request can perform any actions, including writing data and committing the
transaction.
✑ 2 The current request has an active user transaction, but an error has occurred that has caused the transaction to be classified as an
uncommittable transaction.
Example of correct use:
BEGIN CATCH -
-- Test XACT_STATE for 0, 1, or -1.
-- If 1, the transaction is committable.
-- If -1, the transaction is uncommittable and should
-- be rolled back.
-- XACT_STATE = 0 means there is no transaction and
-- a commit or rollback operation would generate an error.
-- Test whether the transaction is uncommittable.
IF (XACT_STATE()) = -1 -
BEGIN -
PRINT 'The transaction is in an uncommittable state.' +
' Rolling back transaction.'
ROLLBACK TRANSACTION;
END;
-- Test whether the transaction is active and valid.
IF (XACT_STATE()) = 1 -
BEGIN -
PRINT 'The transaction is committable.' +
' Committing transaction.'
COMMIT TRANSACTION;
END;
END CATCH;
References:
https://msdn.microsoft.com/en-us/library/ms188792.aspx
https://msdn.microsoft.com/en-us/library/ms189797.aspx
You are performing a code review of stored procedures. Code at line SP03 fails to run (Line numbers are included for reference only.)
You need to ensure that transactions are rolled back when an error occurs.
Which Transact-SQL segment should you insert at line SP07?
A. If @@Error <> 0
B. If @@ TRANCOUNT = 0
C. If @@ TRANCOUNT > 0
D. If @@ Error = 0
Correct Answer: C
Using TRY...CATCH in a transaction
The following example shows how a TRY...CATCH block works inside a transaction. The statement inside the TRY block generates a constraint
violation error.
BEGIN TRANSACTION;
BEGIN TRY -
-- Generate a constraint violation error.
END TRY -
BEGIN CATCH -
SELECT -
ERROR_NUMBER() AS ErrorNumber -
,ERROR_SEVERITY() AS ErrorSeverity
,ERROR_STATE() AS ErrorState
,ERROR_PROCEDURE() AS ErrorProcedure
,ERROR_LINE() AS ErrorLine
,ERROR_MESSAGE() AS ErrorMessage;
IF @@TRANCOUNT > 0 -
ROLLBACK TRANSACTION;
END CATCH;
IF @@TRANCOUNT > 0 -
COMMIT TRANSACTION;
GO -
References:
https://docs.microsoft.com/en-us/sql/t-sql/language-elements/try-catch-transact-sql
DRAG DROP -
You are developing a training management solution. You run the following Transact-SQL statement:
You need to create an indexed view to return all the courses where the value of TrainerEval is equal to or higher than 8.5.
Which three Transact-SQL segments should you use to develop the solution? To answer, move the appropriate Transact-SQL segments from the
list of Transact-
SQL segments to the answer area and arrange them in the correct order.
Select and Place:
Correct Answer:
References:
https://docs.microsoft.com/en-us/sql/relational-databases/views/create-indexed-views
HOTSPOT -
Note: This question is part of a series of questions that use the same scenario. For your convenience, the scenario is repeated in each question.
Each question presents a different goal and answer choices, but the text of the scenario is exactly the same in each question in this series.
You are developing a database to track customer orders. The database contains the following tables: Sales.Customers, Sales.Orders, and
Sales.OrderLines.
The following table describes the columns in Sales.Customers.
Correct Answer:
Box 1: Deterministic -
The definition of an indexed view must be deterministic. A view is deterministic if all expressions in the select list, as well as the WHERE and
GROUP BY clauses, are deterministic.
Box 2: SCHEMABINDING -
Create the view by using the WITH SCHEMABINDING option.
You need to create a query that lists complaints about defective products. The report must include complaints where the exact phrase "defective
product" occurs, as well as complaints where similar phrases occur.
A.
B.
C.
D.
Correct Answer: D
References:
https://docs.microsoft.com/en-us/sql/t-sql/queries/contains-transact-sql?view=sql-server-2017
If the credit limit is zero, you must delete the customer record while fetching data.
You need to add the DELETE statement.
Solution: You add the following Transact-SQL statement:
A. Yes
B. No
Correct Answer: B
Use a WHERE CURRENT OF clause, which deletes at the current position of the specified cursor.
References:
https://docs.microsoft.com/en-us/sql/t-sql/statements/delete-transact-sql
DRAG DROP -
You are a database administrator for an online retail store. You create a table to track orders by running the following Transact-SQL statement:
Correct Answer:
Box 1: GROUP BY -
Box 2: CUBE -
GROUP BY CUBE creates groups for all possible combinations of columns. For GROUP BY CUBE (a, b) the results has groups for unique values
of (a, b), (NULL, b), (a, NULL), and (NULL, NULL).
Example: This code runs a GROUP BY CUBE operation on Country and Region.
SELECT Country, Region, SUM(Sales) AS TotalSales
FROM Sales -
GROUP BY CUBE (Country, Region);
References:
https://docs.microsoft.com/en-us/sql/t-sql/queries/select-group-by-transact-sql
HOTSPOT -
You are creating a database solution to track sales achievements of your training courses. You run the following statements:
You plan to add courses to a table named HighlightedCourses. You must add courses that have been delivered to more than 100 participants only.
If the total number of participants for a course is lower than 100, the course must not be added to the HighlightedCourses table. In addition, an
error message must be displayed and remaining Transact-SQL code must not run.
How should you complete the Transact-SQL statement? To answer, select the appropriate Transact-SQL segments in the answer area.
NOTE: Each correct selection is worth one point.
Hot Area:
HOTSPOT -
A company creates marketing photographs of products for online retailers. Photographs and related information are stored in a database that has
the following structure:
You must create a report that returns a list of all product photos, and whether the product has a primary photo.
How should you complete the Transact-SQL statement? To answer, select the appropriate Transact-SQL segments in the answer area.
NOTE: Each correct selection is worth one point.
Hot Area:
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that
might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You are building a stored procedure that will be used by hundreds of users concurrently.
You need to store rows that will be processed later by the stored procedure. The object that stores the rows must meet the following
requirements:
✑ Be indexable
✑ Contain up-to-date statistics
✑ Be able to scale between 10 and 100,000 rows
The solution must prevent users from accessing one another's data.
Solution: You create a user-defined table in the stored procedure.
Does this meet the goal?
A. Yes
B. No
Correct Answer: B
You need to create a stored procedure that returns the total number of participants for a specific course.
How should you complete the procedure? To answer, drag the appropriate Transact-SQL segments to the correct locations. Each Transact-SQL
segment may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view content.
NOTE: Each correct selection is worth one point.
Select and Place:
Correct Answer:
You use the table to store data about training courses: when they finished the location, and the number of participants in the courses.
You need to display a result set that shows aggregates for all possible combinations of the number of participants.
Which Transact-SQL statement should you run?
B. SELECT CourseID, CourseDate, SUM(DISTINCT NumParticipants) FROM CourseParticipants GROUP BY CourseID, CourseDate
C. SELECT CourseID, CourseDate, SUM(NumParticipants) FROM CourseParticipants GROUP BY CourseID, CourseDate WITH CUBE
D. SELECT CourseID, CourseDate, SUM(DISTINCT NumParticipants) FROM CourseParticipants GROUP BY CourseID, CourseDate WITH ROLLUP
Correct Answer: C
The WITH CUBE clause causes the query to compute all possible totals
References:
https://blogs.msdn.microsoft.com/craigfr/2007/09/27/aggregation-with-cube/
Note: This question is part of a series of questions that use the same or similar answer choices. An answer choice may be correct for more than
one question in the series. Each question is independent of the other questions in this series. Information and details provided in a question apply
only to that question.
You have a database that contains tables named Customer_CRMSystem and Customer_HRSystem. Both tables use the following structure:
Customer_CRMSystem -
Customer_HRSystem -
Records that contain null values for CustomerCode can be uniquely identified by CustomerName.
You need to display customers who appear in both tables and have a non-null CustomerCode.
Which Transact-SQL statement should you run?
A.
B.
C.
D.
E.
F.
G.
H.
Correct Answer: B
INTERSECT returns distinct rows that are output by both the left and right input queries operator.
Incorrect Answers:
A: INNER JOIN returns records that have matching values in both tables but it returns duplicate records.
C: LEFT OUTER JOIN returns ALL records from the left table, and the matched records from the right table.
D: EXCEPT returns distinct rows from the left input query that are not output by the right input query.
E, F: UNION and UNION ALL combines the results of two or more queries into a single result set that includes all the rows that belong to all
queries in the union.
G: CROSS JOIN returns all possible combinations of data from both tables.
H: FULL OUTER JOIN returns all records when there is a match in either left or right table
Note: NULL values are treated as distinct values in join operations.
References:
https://docs.microsoft.com/en-us/sql/relational-databases/performance/joins?view=sql-server-2017 https://docs.microsoft.com/en-us/sql/t-
sql/language-elements/set-operators-except-and-intersect-transact-sql?view=sql-server-2017 https://docs.microsoft.com/en-us/sql/t-
sql/language-elements/set-operators-union-transact-sql?view=sql-server-2017 https://www.w3schools.com/sql/sql_join.asp
HOTSPOT -
You are creating a training management application. You run the following Transact-SQL statement:
You must build a report that returns course identifiers and the average evaluation score for each course. The result set must include only one
score for each employee for each course.
You need to create a query that returns the required data.
How should you complete the Transact-SQL statement? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Hot Area:
Correct Answer:
A.
B.
C.
D.
Correct Answer: A