SQLServer2008考证中文题库(70-433)(4)

2019-09-01 22:20

C. UPDATE Sales.SalesOrderDetail SET UnitPriceDiscount = .1 WHERE EXISTS (SELECT * FROM Sales.SalesOrderHeader h WHERE h.SalesPersonID = 290);

D. UPDATE Sales.SalesOrderDetail SET UnitPriceDiscount = .1 FROM Sales.SalesOrderDetail d

WHERE EXISTS (SELECT * FROM Sales.SalesOrderHeader h WHERE h.SalesPersonID = 290) 答案:A

43 你有一个名为 Product 的表。你需要为名为 Coho Winery 的卖主的产品价格增加 10%,同时返回产品名称和修改后价格。

A. UPDATE Product

SET Price = Price * 1.10,ProductName = ProductName

WHERE Product.VendorName = 'Coho Winery'

B. UPDATE Product

SET Price = Price * 1.10 OUTPUT inserted.ProductName, deleted.Price WHERE Product.VendorName = 'Coho Winery' C. UPDATE Product

SET Price = Price * 1.10 OUTPUT inserted.ProductName, inserted.Price WHERE Product.VendorName = 'Coho Winery' D. UPDATE Product

SET Price = Price * 1.10,VendorName = 'Coho Winery' OUTPUT inserted.ProductName, inserted.Price

答案:C

44 你有名为 dbo.Products 和 dbo.PriceChange 的两个表。dbo.Products 表包含 10 个产品。单价$20 的 5 条记录价格增加 10%。其他单价$10 的 5 条记录价格增加为 0。你有下列查询:

INSERT dbo.PriceChange (ProductID, Change, ChangeDate)

SELECT ProductID, inPrice - delPrice, SYSDATETIME() FROM (

UPDATE dbo.Products SET Price *= 1.1

OUTPUT inserted.ProductID, inserted.Price, deleted.Price WHERE PriceIncrease = 1 ) p (ProductID, inPrice, delPrice);

你需要预计查询的结果。这个查询将产生哪个结果? A. Five rows are updated in dbo.Products. Five rows are inserted into dbo.PriceChange.

B. Five rows are updated in dbo.Products. No rows are inserted into dbo.PriceChange.

C. No rows are updated in dbo.Products. Five rows are inserted into dbo.PriceChange.

D. No rows are updated in dbo.Products. No rows are inserted into dbo.PriceChange.

第 16 页

答案:A

45 你 有 名 为 MainTable 和 ArchiveTable 的 两 个 表 。 你 需 要 将 MainTable 表 中 超 过 30 的 数 据 移 到ArchiveTable 表。你应使用下面哪个代码段?

A. DELETE FROM MainTable OUTPUT deleted.*

WHERE RecordDate < DATEADD(D,-30,GETDATE())

B. DELETE FROM MainTable OUTPUT DELETED.* INTO ArchiveTable

WHERE RecordDate < DATEADD(D,-30,GETDATE()) C. INSERT INTO ArchiveTable SELECT * FROM MainTable

WHERE RecordDate < DATEADD(D,-30,GETDATE())

D. INSERT INTO ArchiveTable SELECT * FROM MainTable

WHERE RecordDate < DATEADD(D,-30,GETDATE()) DELETE FROM MainTable

答案:B

46 你的任务是创建一个名为 dbo.Widgets 的新表。你需要插入 5 行记录到 dbo.Widgets 表并返回被插入 5条记录的每个 WidgetID。

A. CREATE TABLE dbo.Widgets (WidgetID INT IDENTITY PRIMARY KEY, WidgetName VARCHAR(25));

GO

INSERT dbo.Widgets (WidgetName)

OUTPUT inserted.WidgetID, inserted.WidgetName VALUES

('WidgetOne'),('WidgetTwo'),('WidgetThree'),('WidgetFour'),('WidgetFive');

B. CREATE TABLE dbo.Widgets (

WidgetID INT IDENTITY PRIMARY KEY, WidgetName VARCHAR(25) ); GO

INSERT dbo.Widgets (WidgetName) VALUES

('WidgetOne'),('WidgetTwo'),('WidgetThree'),('WidgetFour'),('WidgetFive'); SELECT SCOPE_IDENTITY();

C. CREATE TABLE dbo.Widgets (

WidgetID UNIQUEIDENTIFIER PRIMARY KEY,WidgetName VARCHAR(25) ); GO

INSERT dbo.Widgets (WidgetName) VALUES

('WidgetOne'),('WidgetTwo'),('WidgetThree'),('WidgetFour'),('WidgetFive'); SELECT SCOPE_IDENTITY();

D. CREATE TABLE dbo.Widgets (

WidgetID UNIQUEIDENTIFIER PRIMARY KEY,WidgetName VARCHAR(25)); GO

INSERT dbo.Widgets (WidgetName)

OUTPUT inserted.WidgetID, inserted.WidgetName VALUES

('WidgetOne'),('WidgetTwo'),('WidgetThree'),('WidgetFour'),('WidgetFive');

答案:A 47 你有下列两个表。

Products

ProductID ProductName VendorID 1 Product1 0 2 Product2 1 3 Product3 1

第 17

4 Product4 0

ProductChanges ProductID ProductName VendorID 1 Product1 1 2 Product2 1 3 NewProduct3 2 5 Product5 1 MERGE Products

USING ProductChanges

ON (Products.ProductID = ProductChanges.ProductID) WHEN MATCHED AND Products.VendorID = 0

THEN DELETE WHEN MATCHED

THEN UPDATE SET Products.ProductName = ProductChanges.ProductName

Products.VendorID = ProductChanges.VendorID;

你执行下列语句。

你需要确认 Products 表中显示的行。将显示哪几行?

A. ProductID ProductName VendorID 2 Product2 1

3 NewProduct3 2

B. ProductID ProductName VendorID 2 Product2 1 3 NewProduct3 2 4 Product4 0

C. ProductID ProductName VendorID 1 Product1 1 2 Product2 1 3 NewProduct3 2

D. ProductID ProductName VendorID 1 Product1 1 2 Product2 1 3 NewProduct3 2 4 Product4 0 5 Product5 1

答案:B

48 你 有 两 个 表 。 名 为 Student.CurrentStudents 的 表 包 含 本 年 度 注 册 的 所 有 学 生 的 姓 名 。 另一 个 名 为Student.NewYearRoster 的表包含下一个年度注册的所有学生的姓名。你的任务是写一个 MERGE 语句:下一年度注册但不在本年度注册的学生姓名插入到 Student.CurrentStudents 表。既在下一年度注册又在本年度 注册的学生更新 Student.CurrentStudents 表中信息。不在下一年度注册的学生姓名从 Student.CurrentStudents表中删除。你应使用哪个 T-SQL 语句?

A. MERGE Student.CurrentStudents AS T USING Student.NewYearRoster AS S

ON S.LastName = T.LastName AND S.FirstName = T.FirstName WHEN MATCHED THEN

第 18 页

UPDATE SET Address = S.Address, Age = S.Age WHEN NOT MATCHED BY TARGET THEN INSERT (LastName, FirstName, Address, Age)

VALUES (S.LastName, S.FirstName, S.Address, S.Age) WHEN NOT MATCHED BY SOURCE THEN DELETE; B. MERGE Student.CurrentStudents AS T USING Student.NewYearRoster AS S

ON S.LastName = T.LastName AND S.FirstName = T.FirstName WHEN MATCHED THEN WHEN NOT MATCHED THEN

INSERT (LastName, FirstName, Address, Age)

VALUES (S.LastName, S.FirstName, S.Address, S.Age) WHEN NOT MATCHED BY SOURCE THEN

UPDATE SET Address = T.Address, Age = T.Age;

C. MERGE Student.CurrentStudents AS T USING Student.NewYearRoster AS S

ON S.LastName = T.LastName AND S.FirstName = T.FirstName

WHEN MATCHED AND NOT T.Address = S.Address OR NOT T.Age = S.Age THEN

UPDATE SET T.Address = S.Address, T.Age = S.Age WHEN NOT MATCHED THEN

INSERT (LastName, FirstName, Address, Age)

VALUES (S.LastName, S.FirstName, S.Address, S.Age) WHEN MATCHED THEN DELETE;

D. MERGE Student.CurrentStudents AS T USING Student.NewYearRoster AS S

ON S.LastName = T.LastName AND S.FirstName = T.FirstName

WHEN MATCHED AND NOT T.Address = S.Address AND NOT T.Age = S.Age THEN

UPDATE SET T.Age = S.Age, T.Address = S.Address WHEN NOT MATCHED BY TARGET THEN INSERT (LastName, FirstName, Address, Age)

VALUES (S.LastName, S.FirstName, S.Address, S.Age) WHEN NOT MATCHED BY SOURCE THEN DELETE; DELETE

答案:A

49 你 用 下 列 T-SQL 语 句 创 建 和 填 充 两 个 表

CREATE TABLE CurrentStudents (LastName VARCHAR(50), FirstName VARCHAR(50),Address VARCHAR(100),Age INT);

INSERT INTO CurrentStudents

VALUES ('Fritz', 'David','181 Kline Street',14) ,('Reese', 'Paul' ,'4429 South Union',14) ,('Brown', 'Jake' ,'5401 Washington Ave',14) ,('Smith', 'Tom' ,'124 Water St',14) ,('Holtz', 'Mary' ,'984 Mass Ct',14) ,('Robbins', 'Jan' ,'4449 Union Ave',14) ,('Larsen', 'Frank' ,'5812 Meadow St',14) ,('Bishop', 'Cathy' ,'14429 Skyhigh Ave',14) ,('Francis', 'Thomas' , '15401 120th St',14)

CREATE TABLE NewYearRoster(LastName VARCHAR(50), FirstName VARCHAR(50), Address VARCHAR(100) ,Age INT);

INSERT INTO NewYearRoster

VALUES ('Fritz', 'David','181 Kline Street',15)

第 19 页

,('Reese', 'Paul','1950 Grandview Place', 15) ,('Adams', 'Wilbur','4231 W. 93rd',15) ,('Adams', 'Norris','100 1st Ave',15)

,('Thomas', 'Paul','18176 Soundview Dr',15) ,('Linderson', 'Danielle','941 W. 37 Ave',15)

,('Moore', 'Joshua','2311 10st Ave','1987 Fifth Ave', ,('Dark', 'Shelby','1987 Fifth Ave',15) ,('Scharp', 'Mary','1902 W. 303rd',15) ,('Morris', 'Walt','100 12st St',15)

你 使 用 下 列 MERGE 语 句 更 新 、 插 入 和 删 除CurrentStudents 表中的行。

MERGE TOP (3) CurrentStudents AS T USING NewYearRoster AS S

ON S.LastName = T.LastName AND S.FirstName = T.FirstName WHEN MATCHED AND NOT (T.Age = S.Age OR T.Address = S.Address) THEN

UPDATE SET Address = S.Address,Age = S.Age WHEN NOT MATCHED BY TARGET THEN

INSERT (LastName, FirstName, Address, Age)

VALUES (S.LastName, S.FirstName, S.Address, S.Age) WHEN NOT MATCHED BY SOURCE THEN DELETE;

你需要确认更新、插入和删除 CurrentStudents 表的整个行数。你应选择总 的行数是哪个?

A. 0 B. 3 C. 6 D. 9 答案:B

50 你将写一个查询来返回 2007 年总收入超过$10,000.00 的产品列表。你需要在查询中插入下列筛选表达式。

SUM([Order Details].UnitPrice * [Order Details].Quantity) > 10000 你应在哪个子句中插入这个表达式?

A. ON B. WHERE C. HAVING D. GROUP BY 答案:C

51 你有一个名为 Sales 的表。你的任务是列出卖给少于 10 个客户的产品。你需要写一个查询完成这个任务。你应使用哪个 T-SQL 语句?

A. SELECT ProductID,COUNT(*) AS CustomerCount FROM Sales GROUP BY ProductID, CustomerID HAVING COUNT(*) < 10;

B. SELECT ProductID,COUNT(DISTINCT CustomerID) AS CustomerCount FROM Sales GROUP BY ProductID

HAVING COUNT(DISTINCT CustomerID) < 10;

C. SELECT ProductID, CustomerID,

COUNT(DISTINCT CustomerID) AS CustomerCount FROM Sales GROUP BY ProductID, CustomerID HAVING COUNT(DISTINCT CustomerID) < 10;

D. SELECT * FROM

(SELECT ProductID, RANK() OVER (ORDER BY CustomerID DESC) AS Rnk FROM Sales) s WHERE s.Rnk <= 10; 答案:B

第 20 页


SQLServer2008考证中文题库(70-433)(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《统计学第2版》2012年1月课程考试考前练习题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: