Exam4Training

Microsoft 70-761 Querying Data with Transact-SQL Online Training

Question #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 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:

Does the solution meet the goal?

  • A . Yes
  • B . No

Reveal Solution Hide Solution

Correct Answer: B
B

Explanation:

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

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:

Does the solution meet the goal?

  • A . Yes
  • B . No

Reveal Solution Hide Solution

Correct Answer: B
B

Explanation:

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.

How ever, 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

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:

Does the solution meet the goal?

  • A . Yes
  • B . No

Reveal Solution Hide Solution

Correct Answer: A
A

Explanation:

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

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:

Does the solution meet the goal?

  • A . Yes
  • B . No

Reveal Solution Hide Solution

Correct Answer: B
B

Explanation:

As there are two separate INSERT INTO statements we cannot ensure that both or neither records are inserted.

Question #5

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:

Does the solution meet the goal?

  • A . Yes
  • B . No

Reveal Solution Hide Solution

Correct Answer: B
B

Explanation:

As there are two separate INSERT INTO statements we cannot ensure that both or neither records are inserted.

Question #6

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:

Does the solution meet the goal?

  • A . Yes
  • B . No

Reveal Solution Hide Solution

Correct Answer: A
A

Explanation:

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

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:

Does the solution meet the goal?

  • A . Yes
  • B . No

Reveal Solution Hide Solution

Correct Answer: B
B

Explanation:

The function should return nvarchar(10) and not a TABLE.

References: https://sqlstudies.com/2014/08/06/schemabinding-what-why/

Question #8

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:

Does the solution meet the goal?

  • A . Yes
  • B . No

Reveal Solution Hide Solution

Correct Answer: B
B

Explanation:

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

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. CustomerCatagories

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:

Does the solution meet the goal?

  • A . Yes
  • B . No

Reveal Solution Hide Solution

Correct Answer: B
B

Explanation:

We need SELECT TOP 1 @areacode =.. to ensure that only one value is returned.

Question #10

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 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)

  • A . Option A
  • B . Option B
  • C . Option C
  • D . Option D

Reveal Solution Hide Solution

Correct Answer: B
B

Explanation:

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.

Question #11

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: Projectand Task.

The Project table includes the following columns:

The Task 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.

Reveal Solution Hide Solution

Correct Answer:

Explanation:

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.

Box 2: T.UserID, p.UserID, -1

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 -1 for all other cases.

Box 3: RIGHT JOIN

The RIGHT JOIN keyword returns all rows from the right table (table2), with the matching rows in the left table (table1). The result is NULL in the left side when there is no match. Here the right side could be NULL as the projectID of the task could be NULL.

References:

https://msdn.microsoft.com/en-us/library/ms190349.aspx

http://www.w3schools.com/Sql/sql_join_right.asp


Question #12

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:

Task level is defined using the following rules:

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.

Reveal Solution Hide Solution

Correct Answer:

Explanation:

Box 1: With TaskWithLevel (ParentTaskID, TaskID, TaskName, TaskLevel) as {

WITH common_table_expression specifies a temporary named result set, known as a common table expression (CTE).

Box 2: SELECT CAST (NULL AS INT) AS ParentTaskID, etc.

This statement selects all tasks with task level 0.

The ParentTaskID could be null so we should use CAST (NULL AS INT) AS ParentTaskID.

Box 3: UNION ALL

In a Recursive CTE Union ALL must be used.

Box 4: SELECT R.TaskId as ParentTaskId,t.TaskId,t.TaskName, etc

Box 5: )

SELECT * FROM TaskWithLevel

References: https://msdn.microsoft.com/en-us/library/ms180026.aspx


Question #13

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:

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.

Reveal Solution Hide Solution

Correct Answer:

Explanation:

Box 1: UPDATE T SET T.EndTime = P.EndTime

We are updating the EndTime column in the Task table.

Box 2: FROM Task AS T

Where are updating the task table.

Box 3: INNER JOIN Project AS P on T.ProjectID = P.ProjectID

We join with the Project table (on the ProjectID columnID column).

Box 4: WHERE P.EndTime is NOT NULL AND T.EndTime is NULL

We select the columns in the Task Table where the EndTime column in the Project table has a value (NOT NULL), but where it is NULL in the Task Table.

References: https://msdn.microsoft.com/en-us/library/ms177523.aspx


Question #14

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 plans

– returns a value

– can be called from within a SELECT statement

– can be used in a JOIN clause

What should you create?

  • A . an extended stored procedure
  • B . a user-defined scalar function
  • C . a user-defined stored procedure that has an OUTPUT parameter
  • D . a temporary table that has a columnstore index

Reveal Solution Hide Solution

Correct Answer: B
B

Explanation:

User-defined scalar functions are execution plans that accept parameters, perform an action such as a complex calculation, and returns the result of that action as a value. The return value can either be a single scalar value or a result set. Furthermore the execution plan is cached and reusable. User-defined scalar functions can also be called from within a SELECT statement and can be used in a JOIN clause.

Incorrect Answers:

A: Using extended stored procedures is not recommended as they has been deprecated. CLR Integration should be used instead of extended stored procedures.

C: Stored procedures cannot be used in a SELECT statement or in a JOIN clause.

D: A temporary table is a result set and not a value.

References: https://www.c-sharpcorner.com/UploadFile/996353/difference-between-stored-procedure-and-user­defined-functio/

Question #15

HOTSPOT

You have the following stored procedure:

You run the following Transact-SQL statements:

What is the result of each Transact-SQL statement? To answer, select the appropriate options in the answer area.

Reveal Solution Hide Solution

Correct Answer:

Explanation:

Box 1: All transactions are rolled back.

The first IF-statement, IF @CODE = ‘C2323’ AND @ApplicationID = 1, will be true, an error will be raised, the error will be caught in the CATCH block, and the only transaction that has been started will be rolled back.

Box 2: All transactions are rolled back.

When nesting transactions, this same statement rolls back all inner transactions to the outermost BEGIN TRANSACTION statement.

References: https://docs.microsoft.com/en-us/sql/t-sql/language-elements/rollback-transaction-transact-sql


Question #16

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.

– The error 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.

Reveal Solution Hide Solution

Correct Answer:

Explanation:

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


Question #17

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.

Reveal Solution Hide Solution

Correct Answer:


Question #18

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.

  • A . a user-defined table-valued function
  • B . a CRL function
  • C . a stored procedure
  • D . a user-defined scalar function

Reveal Solution Hide Solution

Correct Answer: BD
BD

Explanation:

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).

Incorrect Answers:

A: A table valued function cannot be called from indexed view

C: The Stored procedure cannot be called inside of a View.

References: https://docs.microsoft.com/en-us/sql/t-sql/statements/create-function-transact-sql

Question #19

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 User Login table is equal to 1.

– 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 User Login 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 answerarea and arrange them in the correct order.

Reveal Solution Hide Solution

Correct Answer:

Explanation:

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.

Note: END TRY statements are missing in the options, which makes this question confusing.

References: https://msdn.microsoft.com/en-us/library/ms175976.aspx


Question #20

SIMULATION

You work for an organization that monitors seismic activity around volcanos. You have a table named GroundSensors. The table stores data collected from seismic sensors that measure earthquake activity.

It includes the columns described 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.

Reveal Solution Hide Solution

Correct Answer: 1 SELECT AVG(NormalizedReading), NearestMountain(SensorID)

2 FROM GroundSensors

3 WHERE TREMOR <> 0 AND NormalizedReading IS NOT NULL

4 GROUP BY NearestMountain(SensorID)

On line 1 Use AVG for the average function.

On line 3 use TREMOR <> 0

On line 4: 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

Question #21

DRAG DROP

You have a table named HR.Employees as shown in the exhibit. (Click the exhibit button.)

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.

Reveal Solution Hide Solution

Correct Answer:

Explanation:

References: https://msdn.microsoft.com/en-us/library/ms177523.aspx


Question #22

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.

Reveal Solution Hide Solution

Correct Answer:

Explanation:

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


Question #23

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.

Reveal Solution Hide Solution

Correct Answer:

Explanation:

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.

Box 3: ON c.custid = o.custid

We JOIN on the custID column, which is available in both tables.

Box 4: GROUP BY c.custid

References:

https://technet.microsoft.com/en-us/library/ms189499(v=sql.110).aspx

http://www.w3schools.com/sql/sql_join_left.asp


Question #24

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.

Reveal Solution Hide Solution

Correct Answer:

Explanation:

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


Question #25

SIMULATION

You create a table named Sales.Orders by running the following Transact-SQL statement:

You need to write a query that meets the following requirements:

– removes orders from the table that were placed before January 1, 2012

– uses the date format of YYYYMMDD

– ensures that the order has been shipped before deleting the record

Construct the query using the following guidelines:

– use one-part column names and two-part table names

– do not use functions

– do not surround object names with square brackets

– do not use variables

– do not use aliases for column names and table names

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.

Reveal Solution Hide Solution

Correct Answer: DELETE FROM Sales.Orders

WHERE OrderDate < ‘2012-01-01’ AND ShippedDate NOT NULL

References:

https://msdn.microsoft.com/en-us/library/ms189835.aspx

https://msdn.microsoft.com/en-us/library/bb630352.aspx

Question #26

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.

Reveal Solution Hide Solution

Correct Answer:

On ordering: ASC | DESC Specifies that the values in the specified column should be sorted in ascending or descending order. ASC sorts from the lowest value to highest value. DESC sorts from highest value to lowest value. ASC is the default sort order. Null values are treated as the lowest possible values.

References: https://msdn.microsoft.com/en-us/library/ms189463.aspx


Question #27

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.

Reveal Solution Hide Solution

Correct Answer: 1 SELECT Complaints.ComplaintID, Persons.Name

2 FROM Complaints

4 LEFT OUTER JOIN Contacts ON Complaints.ComplaintID = Contacts.ComplaintID

5 LEFT OUTER JOIN Persons ON Contacts.PersonID = Persons.PersonID

References: https://technet.microsoft.com/en-us/library/ms190014(v=sql.105).aspx

Question #28

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

Reveal Solution Hide Solution

Correct Answer: A
A

Explanation:

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

Question #29

You have a database that contains the following tables:

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

Reveal Solution Hide Solution

Correct Answer: D
D

Explanation:

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

Question #30

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 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 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.

Reveal Solution Hide Solution

Correct Answer:

Explanation:

Box 1: RANK() OVER

RANK returns the rank of each row within the partition of a result set. The rank of a row is one plus the number of ranks that come before the row in question.

ROW_NUMBER and RANK are similar. ROW_NUMBER numbers all rows sequentially (for example 1, 2, 3, 4, 5).

Incorrect Answers:

DENSE_RANK returns the rank of rows within the partition of a result set, without any gaps in the ranking. The rank of a row is one plus the number of distinct ranks that come before the row in question.

Box 2: (ORDER BY min(AccountOpenedDate) DESC)

Syntax for RANK: RANK ( ) OVER ( [ partition_by_clause ] order_by_clause ) 

We want the ranking across all cities, so no Partition By, only an Order By.

Box 3: GROUP BY CityID

References: https://msdn.microsoft.com/en-us/library/ms176102.aspx


Question #31

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 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 need to create a query that meets the following requirements:

– For customers that are not on a credit hold, return the CustomerID and the latest recorded population

for the delivery city that is associated with the customer.

– For customers that are on a credit hold, return the CustomerID and the latest recorded population for the postal city that is associated with the customer.

Which two Transact-SQL queries will achieve the goal? Each correct answer presents a complete solution.

A)

B)

C)

D)

  • A . Option A
  • B . Option B
  • C . Option C
  • D . Option D

Reveal Solution Hide Solution

Correct Answer: AB
AB

Explanation:

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

Question #32

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 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 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 . DECLARE @sdate DATETIME, @edate DATETIME
    SET @sdate = DATEFROMPARTS (2013, 12, 31)
    SET @edate = DATEADD (d, 1, @sdate)
    SELECT * FROM Sales.Customers FOR SYSTEM_TIME ALL
    WHERE ValidFrom > @sdate AND ValidTo < @edate
  • B . DECLARE @sdate DATETIME, @edate DATETIME
    SET @sdate = DATEFROMPARTS (2013, 12, 31)
    SET @edate = DATEADD (d, -1, @sdate)
    SELECT * FROM Sales.Customers
    FOR SYSTEM_TIME BETWEEN @sdate AND @edate
  • C . DECLARE @date DATE
    SET @date = DATEFROMPARTS (2013, 12, 31)
    SELECT * FROM Sales.Customers
    FOR SYSTEM_TIME ALL AS OF @date
  • D . DECLARE @date DATE
    SET @date = DATEFROMPARTS (2013, 12, 31)
    SELECT * FROM [Sales].[Customers] FOR SYSTEM_TIME ALL
    WHERE @date BETWEEN ValidFrom AND ValidTo
  • E . DECLARE @date DATE
    SET @date = DATEFROMPARTS (2013, 12, 31)
    SELECT * FROM [Sales].[Customers] FOR SYSTEM_TIME ALL
    WHERE SYSDATETIME = @date

Reveal Solution Hide Solution

Correct Answer: C
C

Explanation:

To perform any type of time-based analysis, use the new FOR SYSTEM_TIME clause with four temporal-specific sub-clauses to query data across the current and history tables.

Use the AS OF sub-clause when you need to reconstruct state of data as it was at any specific time in the past.

References: https://docs.microsoft.com/en-us/sql/relational-databases/tables/querying-data-in-a-system-versioned­temporal-table?view=sql-server-2017

Question #33

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 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.

Reveal Solution Hide Solution

Correct Answer:


Question #34

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 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 discounts 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.

Reveal Solution Hide Solution

Correct Answer:

Explanation:

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


Question #35

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 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.

Reveal Solution Hide Solution

Correct Answer:

Explanation:

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

Box 3: AND [IsOnCreditHold] = 0

Box 4: )

References: https://msdn.microsoft.com/en-us/library/ms177682.aspx


Question #36

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?

  • A . the COALESCE function
  • B . a view
  • C . a table-valued function
  • D . the TRY_PARSE function
  • E . a stored procedure
  • F . the ISNULL function
  • G . a scalar function
  • H . the TRY_CONVERT function

Reveal Solution Hide Solution

Correct Answer: A
A

Explanation:

COALESCE evaluates the arguments in order and returns the current value of the first expression that initially doesn’t evaluate to NULL.

Incorrect Answers:

F: ISNULL is not a ANSI standard function. The COALESCE function is preferred.

References: https://docs.microsoft.com/en-us/sql/t-sql/language-elements/coalesce-transact-sql?view=sql-server-2017

Question #37

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?

  • A . the COALESCE function
  • B . a view
  • C . a table-valued function
  • D . the TRY_PARSE function
  • E . a stored procedure
  • F . the ISNULL function
  • G . a scalar function
  • H . the TRY_CONVERT function

Reveal Solution Hide Solution

Correct Answer: B
B

Explanation:

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

Question #38

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?

  • A . the COALESCE function
  • B . a view
  • C . a table-valued function
  • D . the TRY_PARSE function
  • E . a stored procedure
  • F . the ISNULL function
  • G . a scalar function
  • H . the TRY_CONVERT function

Reveal Solution Hide Solution

Correct Answer: C
C

Explanation:

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

Question #39

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?

  • A . the COALESCE function
  • B . a view
  • C . a table-valued function
  • D . the TRY_PARSE function
  • E . a stored procedure
  • F . the ISNULL function
  • G . a scalar function
  • H . the TRY_CONVERT function

Reveal Solution Hide Solution

Correct Answer: H
H

Explanation:

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

Question #40

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.

Reveal Solution Hide Solution

Correct Answer:

Explanation:

Subquery1: common table expression (CTE)

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.

Subquery2: global temporary table

Global temporary tables are visible to any user and any connection after they are created, and are deleted when all users that are referencing the table disconnect from the instance of SQL Server.

Subquery3: local temporary table

Local temporary tables are visible only to their creators during the same connection to an instance of SQL Server as when the tables were first created or referenced. Local temporary tables are deleted after the user disconnects from the instance of SQL Server.

References:

https://technet.microsoft.com/en-us/library/ms190766(v=sql.105).aspx

https://technet.microsoft.com/en-us/library/ms186986.aspx


Question #41

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)

  • A . Option A
  • B . Option B
  • C . Option C
  • D . Option D

Reveal Solution Hide Solution

Correct Answer: A
A

Explanation:

Explanation Incorrect Answers:

C: This would get all the ServerIDs, and not all the error logs

Question #42

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.

Reveal Solution Hide Solution

Correct Answer:


Question #43

You have a database named MyDb.

You run the following Transact-SQL statements:

A value of 1 in the IsActive column indicates that a user is active.

You need to create a count for active users in each role. If a role has no active users. You must display a zero as the active users count.

Which Transact-SQL statement should you run?

A)

B)

C)

D)

E)

  • A . Option A
  • B . Option B
  • C . Option C
  • D . Option D

Reveal Solution Hide Solution

Correct Answer: A
A

Explanation:

Incorrect Answers:

C: count (*) always give 1 as it will have some data in the overall table

Question #44

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.

Reveal Solution Hide Solution

Correct Answer: 1 Select CityID, QuestionID, RawCount

2 FROM (SELECT QuestionId, Tokyo, Boston, London, NewYork FROM RawSurvey) AS t1

3 UNPIVOT (RawCount FOR CityName IN (Tokyo, Boston, London, NewYork)) AS t2

4 JOIN Cities ON t2.CityName = t1.CityName

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

Question #45

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.

Reveal Solution Hide Solution

Correct Answer:

Explanation:

Order by cannot be used in sub quires without offset, and with active users segment should be on the top only in the first of CTE’s.

You have a database that contains tables named Customer_CRMSystem and Customer_HRSystem. Both


Question #46

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 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)

  • A . Option A
  • B . Option B
  • C . Option C
  • D . Option D
  • E . Option E
  • F . Option F
  • G . Option G
  • H . Option H

Reveal Solution Hide Solution

Correct Answer: D
D

Explanation:

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

Question #47

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 display customers who appear in both tables and have a proper CustomerCode.

Which Transact-SQL statement should you run?

  • A .
  • B .
  • C .
  • D .
  • E .

Reveal Solution Hide Solution

Correct Answer: A
A

Explanation:

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

Question #48

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 display a Cartesian product, combining both tables.

Which Transact-SQL statement should you run?

  • A .
  • B .
  • C .
  • D .
  • E .
  • F .
  • G .
  • H .

Reveal Solution Hide Solution

Correct Answer: G
G

Explanation:

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

Question #49

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 .

Reveal Solution Hide Solution

Correct Answer: E
E

Explanation:

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

Question #50

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.

The following table describes the columns in Sales.OrderLines.

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

– the total price of all orders for the customer

– the average quantity of items per order

How should you complete the function definition? To answer, drag the appropriate Transact-SQL segment to the correct locations. 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.

Reveal Solution Hide Solution

Correct Answer:

Explanation:

Box1: RETURNS TABLE

The function should return the following information:

– all customer information for the customer

– the total number of orders for the customer

– the total price of all orders for the customer

– the average quantity of items per order

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


Question #51

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.

The following table describes the columns in Sales.OrderLines.

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.

Reveal Solution Hide Solution

Correct Answer:

Explanation:

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


Question #52

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.

The following table describes the columns in Sales.OrderLines.

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.

Reveal Solution Hide Solution

Correct Answer:

Explanation:

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

Rollback the transaction

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


Question #53

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.

The following table describes the columns in Sales.OrderLines.

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.

Reveal Solution Hide Solution

Correct Answer:

Explanation:

Box1: CREATE FUNCTION…@OrderID

Include definition for the …@OrderID parameter.

Box 2: RETURNS decimal(18,2)

The function is defined to return a scalar value.

Box 3: AS BEGIN …

Declare the local variables of the function.

Box 4: SET @CalculatedTaxRate = (..

Calculate the tax rate.

Box 5: RETURN @CalculatedRate END

Return a scalar value.

References: https://msdn.microsoft.com/en-us/library/ms186755.aspx


Question #54

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 need to audit all customer data.Which Transact-SQL statement should you run?

  • A .
  • B .
  • C .
  • D .
  • E .
  • F .
  • G .
  • H .

Reveal Solution Hide Solution

Correct Answer: B
B

Explanation:

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

Question #55

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 .

Reveal Solution Hide Solution

Correct Answer: H
H

Explanation:

You create a table by running the following Transact-SQL statement:

Question #56

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 are developing a report that displays customer information. The report must contain a grand totalcolumn.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 .

Reveal Solution Hide Solution

Correct Answer: A
A

Explanation:

References: https://docs.microsoft.com/en-us/sql/t-sql/queries/select-group-by-transact-sql

Question #57

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 endpoints.

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 .

Reveal Solution Hide Solution

Correct Answer: C
C

Explanation:

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

Question #58

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 .

Reveal Solution Hide Solution

Correct Answer: D
D

Explanation:

Incorrect Answers: G,

H: Data is not aggregated

Question #59

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 develop a query that meets the following requirements:

– Output data by using a tree-like structure.

– Allow mixed content types.

– Use custom metadata attributes.

Which Transact-SQL statement should you run?

  • A .
  • B .
  • C .
  • D .
  • E .
  • F .
  • G .
  • H .

Reveal Solution Hide Solution

Correct Answer: F
F

Explanation:

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

Question #60

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:

Does the solution meet the goal?

  • A . Yes
  • B . No

Reveal Solution Hide Solution

Correct Answer: B
B

Explanation:

We need to list all provinces that have at least two large cities. There is no reference to this in the code.

Question #61

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:

Does the solution meet the goal?

  • A . Yes
  • B . No

Reveal Solution Hide Solution

Correct Answer: B
B

Explanation:

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

Question #62

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:

Does the solution meet the goal?

  • A . Yes
  • B . No

Reveal Solution Hide Solution

Correct Answer: A
A

Explanation:

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


Question #63

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:

Does the solution meet the goal?

  • A . Yes
  • B . No

Reveal Solution Hide Solution

Correct Answer: A
A

Explanation:

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/

Question #64

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:

Does the solution meet the goal?

  • A . Yes
  • B . No

Reveal Solution Hide Solution

Correct Answer: A
A

Explanation:

Complaints must be returned even if no interaction has occurred.

Question #65

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:

Does the solution meet the goal?

  • A . Yes
  • B . No

Reveal Solution Hide Solution

Correct Answer: A
A

Explanation:

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.

Question #66

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: Does the solution meet the goal?

  • A . Yes
  • B . No

Reveal Solution Hide Solution

Correct Answer: B
B

Explanation:

We need a GROUP BY statement as we want to return an order for each customer.

Question #67

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 to 1.

– 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.

Reveal Solution Hide Solution

Correct Answer:


Question #68

You need to create a table named MiscellaneousPayment that meets the following requirements:

Which Transact-SQL statement should you run?

A)

B)

C)

D)

E)

F)

G)

  • A . Option A
  • B . Option B
  • C . Option C
  • D . Option D
  • E . Option E
  • F . Option F
  • G . Option G

Reveal Solution Hide Solution

Correct Answer: D
D

Explanation:

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

Question #69

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 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.

Reveal Solution Hide Solution

Correct Answer: 1 SELECT c.Complaint, e.Name, i.Notes

2 FROM Complaints c

3 LEFT JOIN Interactions i ON c.ComplaintID = i.ComplaintID

4 LEFT JOIN Employees e ON i.EmployeeID = E.EmployeeID

Complaints must be returned even if no interaction has occurred, so we must use the LEFT JOIN, instead of just JOIN.

Note: You can drop the OUTER in LEFT OUTER JOIN, as has been done here on line 3 and line 4.

Question #69

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 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.

Reveal Solution Hide Solution

Correct Answer: 1 SELECT c.Complaint, e.Name, i.Notes

2 FROM Complaints c

3 LEFT JOIN Interactions i ON c.ComplaintID = i.ComplaintID

4 LEFT JOIN Employees e ON i.EmployeeID = E.EmployeeID

Complaints must be returned even if no interaction has occurred, so we must use the LEFT JOIN, instead of just JOIN.

Note: You can drop the OUTER in LEFT OUTER JOIN, as has been done here on line 3 and line 4.

Question #69

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 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.

Reveal Solution Hide Solution

Correct Answer: 1 SELECT c.Complaint, e.Name, i.Notes

2 FROM Complaints c

3 LEFT JOIN Interactions i ON c.ComplaintID = i.ComplaintID

4 LEFT JOIN Employees e ON i.EmployeeID = E.EmployeeID

Complaints must be returned even if no interaction has occurred, so we must use the LEFT JOIN, instead of just JOIN.

Note: You can drop the OUTER in LEFT OUTER JOIN, as has been done here on line 3 and line 4.

Question #69

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 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.

Reveal Solution Hide Solution

Correct Answer: 1 SELECT c.Complaint, e.Name, i.Notes

2 FROM Complaints c

3 LEFT JOIN Interactions i ON c.ComplaintID = i.ComplaintID

4 LEFT JOIN Employees e ON i.EmployeeID = E.EmployeeID

Complaints must be returned even if no interaction has occurred, so we must use the LEFT JOIN, instead of just JOIN.

Note: You can drop the OUTER in LEFT OUTER JOIN, as has been done here on line 3 and line 4.

Question #69

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 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.

Reveal Solution Hide Solution

Correct Answer: 1 SELECT c.Complaint, e.Name, i.Notes

2 FROM Complaints c

3 LEFT JOIN Interactions i ON c.ComplaintID = i.ComplaintID

4 LEFT JOIN Employees e ON i.EmployeeID = E.EmployeeID

Complaints must be returned even if no interaction has occurred, so we must use the LEFT JOIN, instead of just JOIN.

Note: You can drop the OUTER in LEFT OUTER JOIN, as has been done here on line 3 and line 4.

Question #69

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 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.

Reveal Solution Hide Solution

Correct Answer: 1 SELECT c.Complaint, e.Name, i.Notes

2 FROM Complaints c

3 LEFT JOIN Interactions i ON c.ComplaintID = i.ComplaintID

4 LEFT JOIN Employees e ON i.EmployeeID = E.EmployeeID

Complaints must be returned even if no interaction has occurred, so we must use the LEFT JOIN, instead of just JOIN.

Note: You can drop the OUTER in LEFT OUTER JOIN, as has been done here on line 3 and line 4.

Question #69

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 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.

Reveal Solution Hide Solution

Correct Answer: 1 SELECT c.Complaint, e.Name, i.Notes

2 FROM Complaints c

3 LEFT JOIN Interactions i ON c.ComplaintID = i.ComplaintID

4 LEFT JOIN Employees e ON i.EmployeeID = E.EmployeeID

Complaints must be returned even if no interaction has occurred, so we must use the LEFT JOIN, instead of just JOIN.

Note: You can drop the OUTER in LEFT OUTER JOIN, as has been done here on line 3 and line 4.

Question #76

FOR Month IN (January, February, March, April, May, June, July, August, September, October, November, December))

AS MonthNamePivot

Reveal Solution Hide Solution

Correct Answer: 1 SELECT * FROM

2 (SELECT YEAR(SalesData)) AS Year, DATENAME (MONTH, SalesDate) AS Month, SalesAmount AS Amount

3 FROM Products.Sales

4 ) AS MonthlySalesData

5 PIVOT SUM(Amount)

6 FOR Month IN (January, February, March, April, May, June, July, August, September, October, November, December)) AS MonthNamePivot

Exit mobile version