微軟認證sql考試練習試題及答案

  第1題

微軟認證sql考試練習試題及答案

公司在數據庫中存儲供應商和價格信息。數據庫中的所有商品都有牌價(list price)。 你需要只將供應商Fabrikam的所有產品的牌價提高20.00。應使用哪個查詢?

A. UPDATE uct SET ListPrice = ListPrice + 20.00 WHERE NOT EXISTS ( SELECT VendorId FROM or WHERE VendorName = ’Fabrikam’);

B. UPDATE uct SET ListPrice = ListPrice + 20.00 WHERE VendorId NOT IN ( SELECT VendorId FROM or WHERE VendorName = ’Fabrikam’);

C. UPDATE uct SET ListPrice = ListPrice + 20.00 WHERE EXISTS ( SELECT VendorId FROM or WHERE VendorName = ’Fabrikam’);

D. UPDATE uct SET ListPrice = ListPrice + 20.00 WHERE VendorId IN (SELECT VendorId FROM or WHERE VendorName = ’Fabrikam’);

答案:D

  第2題

有名爲Customer和SalesOrder的兩個表。 你需要找出尚未採購任何東西的所有客戶, 以及那些訂單總額 (OrderTotal) 不到100的客戶。應使用哪個查詢?

A. SELECT * FROM Customer WHERE 100 > ALL ( SELECT OrderTotal FROM SalesOrder WHERE omerID = omerID)

B. SELECT * FROM Customer WHERE 100 > SOME ( SELECT OrderTotal FROM SalesOrder WHERE omerID = omerID)

C. SELECT * FROM Customer WHERE 100 > ( SELECT MAX(OrderTotal) FROM SalesOrder WHERE omerID = omerID)

D. SELECT * FROM Customer WHERE EXISTS ( SELECT omerID FROM SalesOrder WHERE omerID = omerID AND rTotal <= 100)

答案:A

  第3題

你有名爲Customer和SalesOrder的兩個表。Customer表中有1000個客戶,SalesOrder表中有其中900個客戶的訂單。你 執行下面的查詢來列出至少有一筆銷售的所有客戶。 SELECT * FROM Customer WHERE omerID IN (SELECT omerID FROM SalesOrder)

你需要確定查詢的結果。該查詢應返回什麼結果?

A. 沒有行

B. 警告消息

C. Customer表中的.1000行

D. Customer表中與SalesOrder表中的行匹配的900行。

答案:C

  第4題

Customer表中有下面的行:CustomerId Status 1 Active 2 Active 3 Inactive 4 NULL 5 Dormant 6 Dormant 你編寫了下面 的查詢來返回狀態不爲NULL或“Dormant”的所有客戶: SELECT * FROM Customer WHERE Status NOT IN (NULL, ’Dormant’) 你需要確定查詢的結果。你預計應出現哪個結果?

A. CustomerId Status

B. CustomerId Status 1 Active 2 Active 3 Inactive

C. CustomerId Status 1 Active 2 Active 3 Inactive 4 NULL

D. CustomerId Status 1 Active 2 Active 3 Inactive 4 NULL 5 Dormant 6 Dormant

答案:B

  第5題

你有一個名爲Employee的表。 你將每個員工的經理EmployeeID插入ReportsTo列來記錄公司的組織層次結構。你需要 編寫遞歸查詢來生成員工及其經理的列表。 該查詢還必須包含員工在層次結構中的級別。 你編寫了下面的代碼片段。 (包含的行號僅供參考。) 01 WITH EmployeeList (EmployeeID, FullName, ManagerName, Level)02 AS (03 ......... 04 )05 SELECT EmployeeID, FullName, ManagerName, Level06 FROM EmployeeList; 應在第3行插入哪一個代碼片段?

A. SELECT EmployeeID, FullName, ’’ AS [ReportsTo], 1 AS [Level] FROM Employee WHERE ReportsTo IS NULL UNION ALL SELECT oyeeID, NName, Name, 1 + 1 AS [Level] FROM Employee emp JOIN Employee mgr ON rtsTo = oyeeID

B. SELECT EmployeeID, FullName, ’’ AS [ReportsTo], 1 AS [Level] FROM Employee WHERE ReportsTo IS NULL UNION ALL SELECT oyeeID, Name, Name, l + 1 FROM EmployeeList mgr JOIN Employee emp ON rtsTo = oyeeId

C. SELECT EmployeeID, FullName, ’’ AS [Reports To], 1 AS [Level] FROM Employee UNION ALL SELECT oyeeID, Name, Name, 1 + 1 AS [Level] FROM Employee emp LEFT JOIN Employee mgr ON rtsTo = oyeeID

D. SELECT EmployeeID, FullName, ’’ AS [ReportsTo], 1 AS [Level] FROM Employee UNION ALL SELECT oyeeID, Name, Name, l + 1 FROM EmployeeList mgr JOIN Employee emp ON rtsTo = oyeeID

答案:B