第1題
公司在數據庫中存儲供應商和價格信息。數據庫中的所有商品都有牌價(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