MCSA Querying Microsoft SQL Server 2012/2014 v1.0

Page:    1 / 17   
Exam contains 257 questions

You are developing a database that will contain price information.
You need to store the prices that include a fixed precision and a scale of six digits.
Which data type should you use?

  • A. Float
  • B. Money
  • C. Small money
  • D. Numeric


Answer : D

Explanation:
Numeric is the only one in the list that can give a fixed precision and scale.
Reference:
http://msdn.microsoft.com/en-us/library/ms179882.aspx

You administer a Microsoft SQL Server database that supports a banking transaction management application.
You need to retrieve a list of account holders who live in cities that do not have a branch location.
Which Transact-SQL query or queries should you use? (Each correct answer presents a complete solution. Choose all that apply.)

  • A. SELECT AccountHolderID FROM AccountHolder WHERE CityID NOT IN (SELECT CityID FROM BranchMaster)
  • B. SELECT AccountHolderID FROM AccountHolder WHERE CityID <> ALL (SELECT CityID FROM BranchMaster)
  • C. SELECT AccountHolderID FROM AccountHolder WHERE CityID <> SOME (SELECT CityID FROM BranchMaster)
  • D. SELECT AccountHolderID FROM AccountHolder WHERE CityID <> ANY (SELECT CityID FROM BranchMaster)


Answer : AB

References:
http://msdn.microsoft.com/en-us/library/ms188047.aspx
http://msdn.microsoft.com/en-us/library/ms177682.aspx
http://msdn.microsoft.com/en-us/library/ms173545.aspx

Note: This question is part of a series of questions that use the same set of answer choices. An answer choice may be correct for more than one question in the series.
You administer a Microsoft SQL Server database. The database contains a table named Employee. Part of the Employee table is shown in the exhibit. (Click the
Exhibit tab.)



Unless stated above, no columns in the Employee table reference other tables.
Confidential information about the employees is stored in a separate table named EmployeeData. One record exists within EmployeeData for each record in the
Employee table.
You need to assign the appropriate constraints and table properties to ensure data integrity and visibility.
On which column in the Employee table should you create a unique constraint?

  • A. DateHired
  • B. DepartmentID
  • C. EmployeeID
  • D. EmployeeNum
  • E. FirstName
  • F. JobTitle
  • G. LastName
  • H. MiddleName
  • I. ReportsToID


Answer : D

Explanation:

Note: This question is part of a series of questions that use the same set of answer choices. An answer choice may be correct for more than one question in the series.
You administer a Microsoft SQL Server database. The database contains a table named Employee.
Part of the Employee table is shown in the exhibit. (Click the Exhibit tab.)



Unless stated above, no columns in the Employee table reference other tables.
Confidential information about the employees is stored in a separate table named EmployeeData. One record exists within EmployeeData for each record in the
Employee table.
You need to assign the appropriate constraints and table properties to ensure data integrity and visibility.
On which column in the Employee table should you use an identity specification to include a seed of 1,000 and an increment of 1?

  • A. DateHired
  • B. DepartmentID
  • C. EmployeeID
  • D. EmployeeNum
  • E. FirstName
  • F. JobTitle
  • G. LastName
  • H. MiddleName
  • I. ReportsToID


Answer : C

Explanation:

You administer a Microsoft SQL Server database that includes a table named Products. The Products table has columns named ProductId, ProductName, and
CreatedDateTime.
The table contains a unique constraint on the combination of ProductName and CreatedDateTime.
You need to modify the Products table to meet the following requirements:
-> Remove all duplicates of the Products table based on the ProductName column.
-> Retain only the newest Products row.
Which Transact-SQL query should you use?


WITH CTEDupRecords -
A.

AS -
(
SELECT MIN(CreatedDateTime) AS CreatedDateTime, ProductName

FROM Products -

GROUP BY ProductName -

HAVING COUNT(*) > 1 -
)

DELETE p -

FROM Products p -
JOIN CTEDupRecords cte ON cte.ProductName = p.ProductName
AND cte.CreatedDateTime > p.CreatedDateTime


WITH CTEDupRecords -
B.

AS -
(
SELECT MIN(CreatedDateTime) AS CreatedDateTime, ProductName

FROM Products -

GROUP BY ProductName -

HAVING COUNT(*) > 1 -
)

DELETE p -

FROM Products p -
JOIN CTEDupRecords cte ON p.ProductName = cte.ProductName
AND p.CreatedDateTime > cte.CreatedDateTime
C.


WITH CTEDupRecords -

AS -
(
SELECT MIN(CreatedDateTime) AS CreatedDateTime, ProductName

FROM Products -

GROUP BY ProductName -
)

DELETE p -

FROM Products p -
JOIN CTEDupRecords cte ON p.ProductName = cte.ProductName
D.


WITH CTEDupRecords -

AS -
(
SELECT MAX(CreatedDateTime) AS CreatedDateTime, ProductName

FROM Products -

GROUP BY ProductName -

HAVING COUNT(*) > 1 -
)

DELETE Products -

FROM Products p -
JOIN CTEDupRecords cte ON p.ProductName = cte.ProductName



Answer : B

Explanation:

You develop three Microsoft SQL Server databases named Database1, Database2, and Database3. You have permissions on both Database1 and Database2.
You plan to write and deploy a stored procedure named dbo.usp_InsertEvent in Database3.dbo.usp_InsertEvent must execute other stored procedures in the other databases.
You need to ensure that callers that do not have permissions on Database1 or Database2 can execute the stored procedure.
Which Transact-SQL statement should you use?

  • A. USE Database2
  • B. EXECUTE AS OWNER
  • C. USE Database1
  • D. EXECUTE AS CALLER


Answer : B

Reference:
http://msdn.microsoft.com/en-us/library/ms188354.aspx
http://blog.sqlauthority.com/2007/10/06/sql-server-executing-remote-stored-procedure-callingstored-procedure-on-linked-server/

You administer a Microsoft SQL Server database that has multiple tables in the Sales schema. Some users must be prevented from deleting records in any of the tables in the Sales schema. You need to manage users who are prevented from deleting records in the Sales schema.
You need to achieve this goal by using the minimum amount of administrative effort. What should you do?

  • A. Create a custom database role that includes the users. Deny Delete permissions on the Sales schema for the custom database role.
  • B. Include the Sales schema as an owned schema for the db_denydatawriterrole. Add the users to the db_denydatawriter role.
  • C. Deny Delete permissions on each table in the Sales schema for each user.
  • D. Create a custom database role that includes the users. Deny Delete permissions on each table in the Sales schema for the custom database role.


Answer : A

Explanation:

You administer a Microsoft SQL Server database. The database contains a Product table created by using the following definition:


You need to ensure that the minimum amount of disk space is used to store the data in the Product table.
What should you do?

  • A. Convert all indexes to Column Store indexes.
  • B. Implement Unicode Compression.
  • C. Implement row-level compression.
  • D. Implement page-level compression.


Answer : D

References:
http://msdn.microsoft.com/en-us/library/cc280449.aspx
http://msdn.microsoft.com/en-us/library/cc280464.aspx
http://msdn.microsoft.com/en-us/library/cc280576.aspx
http://msdn.microsoft.com/en-us/library/ee240835.aspx

You generate a daily report according to the following query:


You need to improve the performance of the query.
What should you do?

  • A. Drop the UDF and rewrite the report query as follows: SELECT c.CustomerName FROM Sales.Customer c INNER JOIN Sales.Salesorder s ON c.CustomerID = c.CustomerID GROUP BY s.CustomerID HAVING MAX(s.OrderDate) < DATEADD(DAY, -90, GETDATE())
  • B. Drop the UDF and rewrite the report query as follows: SELECT DISTINCT c.CustomerName FROM Sales.Customer c INNER JOIN Sales.SalesOrder s ON c.CustomerID = s.CustomerID WHERE s.OrderDate < DATEADD(DAY, -90, GETDATE())
  • C. Rewrite the report query as follows: SELECT c.CustomerName FROM Sales.Customer c WHERE ( SELECT OrderDate FROM Sales.ufnGeTLastOrderDate(c.CustomerID)) < DATEADD(DAY, -90, GETDATE() ) Rewrite the UDF as follows: CREATE FUNCTION Sales.ufnGeTLastOrderDate(@CustomerID int) RETURNS @OrderTable TABLE (OrderDate datetime) AS BEGIN INSERT @OrderTable SELECT MAX(s.OrderDate) As OrderDate FROM Sales.SalesOrder s WHERE s.CustomerID = @CustomerID RETURN END
  • D. Rewrite the report query as follows: SELECT c.CustomerName FROM Sales.Customer c WHERE (SELECT OrderDate FROM Sales.ufnGetOrderDate (c.CustomerID)) < DATEADD(DAY, -90, GETDATE()) Rewrite the UDF as follows: CREATE FUNCTION Sales.ufnGetOrderDate (@CustomerID int) RETURNS TABLE AS RETURN ( SELECT TOP 1 s.OrderDate FROM Sales.SalesOrder s WHERE s.CustomerID = @CustomerID )


Answer : A

Explanation:

You administer a Microsoft SQL Server database named ContosoDb. Tables are defined as shown in the exhibit. (Click the Exhibit button.)


You need to display rows from the Orders table for the Customers row having the CustomerId value set to 1 in the following XML format:
<row OrderId="1" OrderDate="2000-01-01T00:00:00"
Amount="3400.00" Name="Customer A" Country="Australia" />
<row OrderId="2" OrderDate="2001-01-01T00:00:00"
Amount="4300.00" Name="Customer A" Country="Australia" />
Which Transact-SQL query should you use?

  • A. SELECT OrderId, OrderDate, Amount, Name, Country FROM Orders INNER JOIN Customers ON Orders.CustomerId = Customers.CustomerId WHERE Customers.CustomerId = 1 FOR XML RAW
  • B. SELECT OrderId, OrderDate, Amount, Name, Country FROM Orders INNER JOIN Customers ON Orders.CustomerId = Customers.CustomerId WHERE Customers.CustomerId = 1 FOR XML RAW, ELEMENTS
  • C. SELECT OrderId, OrderDate, Amount, Name, Country FROM Orders INNER JOIN Customers ON Orders.CustomerId = Customers.CustomerId WHERE Customers.CustomerId = 1 FOR XML AUTO
  • D. SELECT OrderId, OrderDate, Amount, Name, Country FROM Orders INNER JOIN Customers ON Orders.CustomerId - Customers.CustomerId WHERE Customers.CustomerId = 1 FOR XML AUTO, ELEMENTS
  • E. SELECT Name, Country, OrderId, OrderDate, Amount FROM Orders INNER JOIN Customers ON Orders.CustomerId= Customers.CustomerId WHERE Customers.CustomerId = 1 FOR XML AUTO
  • F. SELECT Name, Country, OrderId, OrderDate, Amount FROM Orders INNER JOIN Customers ON Orders.CustomerId= Customers.CustomerId WHERE Customers.CustomerId = 1 FOR XML AUTO, ELEMENTS
  • G. SELECT Name AS '@Name', Country AS '@Country', OrderId, OrderDate, Amount FROM Orders INNER JOIN Customers ON Orders.CustomerId= Customers.CustomerId WHERE Customers.CustomerId = 1 FOR XML PATH ('Customers')
  • H. SELECT Name AS 'Customers/Name', Country AS 'Customers/Country', OrderId, OrderDate, Amount FROM Orders INNER JOIN Customers ON Orders.CustomerId= Customers.CustomerId WHERE Customers.CustomerId = 1 FOR XML PATH ('Customers')


Answer : A

Explanation:
The following query returns product model information. RAW mode is specified in the FOR XML clause.

Example -

SELECT ProductModelID, Name -

FROM Production.ProductModel -
WHERE ProductModelID=122 or ProductModelID=119
FOR XML RAW;
This is the partial result:
<row ProductModelID="122" Name="All-Purpose Bike Stand" />
<row ProductModelID="119" Name="Bike Wash" />
References:
http://msdn.microsoft.com/en-us/library/bb510464.aspx

SIMULATION -
You have a database that contains the tables as shown in the exhibit. (Click the Exhibit button.)


You have the following query:

You need to recreate the query to meet the following requirements:
-> Reference columns by using one-part names only.
-> Sort aggregates by SalesTerritoryID, and then by ProductID.
-> Order the results in descending order from SalesTerritoryID to ProductID.
-> The solution must use the existing SELECT clause and FROM clause.
Which code segment should you use?
To answer, type the correct code in the answer area.



Answer : Please review the explanation part for this answer.

Explanation:
SELECT SalesTerritoryID,
ProductID,
AVG(UnitPrice),
MAX(OrderQty),
MAX(DiscountAmount)

FROM Sales.Details -
GROUP BY SalesTerritoryID , ProductID
ORDER BY SalesTerritoryID DESC, ProductID DESC

SIMULATION -
You have a database that contains the tables shown in the exhibit. (Click the Exhibit button).


You need to create a query for a report. The query must meet the following requirements:
NOT use object delimiters.

-> Return the most recent orders first.
-> Use the first initial of the table as an alias.
-> Return the most recent order date for each customer.
-> Retrieve the last name of the person who placed the order.
-> Return the order date in a column named MostRecentOrderDate that appears as the last column in the report.
The solution must support the ANSI SQL-99 standard.
Which code segment should you use?
To answer, type the correct code in the answer area.



Answer : Please review the explanation part for this answer.

Explanation:
SELECT C.LastName, MAX(O.OrderDate) AS MostRecentOrderDate
FROM Customers AS C INNER JOIN Orders AS O

ON C.CustomerID = O.CustomerID -

GROUP BY C.LastName -
ORDER BY MostRecentOrderDate DESC

SIMULATION -
You have an XML schema collection named Sales.InvoiceSchema.
You need to declare a variable of the XML type named XML1. The solution must ensure that XML1 is validated by using Sales.InvoiceSchema.
Which code segment should you use?
To answer, type the correct code in the answer area.



Answer : Please review the explanation part for this answer.

Explanation:
DECLARE @XML1 XML(Sales.InvoiceSchema)
Reference:
http://msdn.microsoft.com/en-us/library/ms176009.aspx

SIMULATION -
You have a database that contains the tables as shown in the exhibit. (Click the Exhibit button.)


You need to create a query that returns a list of products from Sales.ProductCatalog. The solution must meet the following requirements:
UnitPrice must be returned in descending order.

-> The query must use two-part names to reference the table.
-> The query must use the RANK function to calculate the results.
-> The query must return the ranking of rows in a column named PriceRank.
-> The list must display the columns in the order that they are defined in the table.
-> PriceRank must appear last.
To answer, type the correct code in the answer area.
Part of the correct T-SQL statement has been provided in the answer area. Provide the complete code.



Answer : Please review the explanation part for this answer.

Explantation:
SELECT ProductCatalog.CatID, ProductCatalog.CatName, ProductCatalog.ProductID,
ProductCatalog.ProdName,ProductCatalog.UnitPrice,
RANK() OVER (ORDER BY ProductCatalog.UnitPrice DESC) AS PriceRank

FROM Sales.ProductCatalog -
ORDER BY ProductCatalog.UnitPrice DESC
References:
https://msdn.microsoft.com/en-us/library/ms176102.aspx

SIMULATION -
You have a database that contains the tables shown in the exhibit. (Click the Exhibit button.)


You have an application named Appl. You have a parameter named @Count that uses the int data type. App1 is configured to pass @Count to a stored procedure. You need to create a stored procedure named usp_Customers for Appl. Usp_Customers must meet the following requirements:
-> NOT use object delimiters.
-> Minimize sorting and counting.
-> Return only the last name of each customer in alphabetical order.
-> Return only the number of rows specified by the @Count parameter.
-> The solution must NOT use BEGIN and END statements.
Which code segment should you use?
To answer, type the correct code in the answer area.



Answer : See explanation below.

Explanation:
CREATE PROCEDURE usp_Customers @Count int

AS -
SELECT TOP(@Count)Customers.LastName

FROM Customers -

ORDER BY Customers.LastName -

Page:    1 / 17   
Exam contains 257 questions

Talk to us!


Have any questions or issues ? Please dont hesitate to contact us

Certlibrary doesn't offer Real Microsoft Exam Questions.
Certlibrary Materials do not contain actual questions and answers from Cisco's Certification Exams.
CFA Institute does not endorse, promote or warrant the accuracy or quality of Certlibrary. CFA® and Chartered Financial Analyst® are registered trademarks owned by CFA Institute.