2006-11-06

使用TSQL操作面试SQL Server开发人员

来源: 开发者在线 作者:佚名 评论 0 条
 
GROUP BY p.Category

测试项目#5:将以下的客户和销售信息加入到数据库中:

FirstName: Chris

LastName: Kringle

City: Henryville

State: IN

Zip: 47126

ProductID: 3

SalePrice: 205

SaleDate: 12/31/2005

答案见列表F:

INSERT INTO Customers(FirstName, LastName, City, State, Zip)
VALUES('Chris', 'Kringle', 'Henryville', 'IN', '47126')
INSERT INTO Sales(CustomerID, ProductID, SalePrice, SaleDate)
VALUES(SCOPE_IDENTITY(), 3, 205, '12/31/2005')

测试项目#6:从数据库中删除来自缅因洲(‘ME’)的客户,答案见列表G:

DELETE s
FROM
Sales s
JOIN Customers c ON s.CustomerID = c.CustomerID
WHERE
c.State = 'ME'
DELETE c
FROM
Customers c
WHERE
c.State = 'ME'

测试项目#7:返回客户购买了两个或多个产品的平均售价和产品类别,答案见列表H:

SELECT
p.Category, AVG(s.SalePrice)
FROM
Sales s
INNER JOIN
(
SELECT s.CustomerID
FROM
Sales s
GROUP BY s.CustomerID
HAVING COUNT(CustomerID) >= 2
) x ON s.CustomerID = x.CustomerID
INNER JOIN Products p ON s.ProductID = p.ProductID
GROUP BY p.Category

测试项目#8:将销售在2005年6月10日到6月20日之间的产品的销售价格升级为建议售价,答案见列表I:

UPDATE s
SET SalePrice = p.RecommendedPrice
FROM
Sales s
INNER JOIN Products p ON s.ProductID = s.ProductID
WHERE
SaleDate >= '6/10/2005' AND
SaleDate < '6/21/2005'

测试项目#9:根据产品种类计算建议售价超过实际售价10元及以上的销售数量,答案见列表J:

SELECT
p.Category, COUNT(*) AS NumberOfSales
FROM
Sales s
INNER JOIN Products p ON s.ProductID = p.ProductID
GROUP BY p.Category
HAVING
AVG(p.RecommendedPrice) >= AVG(s.SalePrice) 10

测试项目#10:不使用叠代构建,返回所由销售产品的销售日期,并按照该日期升序排列,答案见列表K:

SELECT
s.SaleDate,
s.SalePrice,
(
SELECT
SUM(SalePrice)
FROM
Sales s2
WHERE
s2.SaleDate <= s.SaleDate
) AS RunningTotal
FROM
Sales s
ORDER BY
s.SaleDate ASC

评分

我曾经使用类似的考题去考察很多应聘SQL Server数据库开发职位的人,但是迄今为止,只有2个人可以正确地回答出所有的问题。

平均分大约为50-60%,假如应聘者的表现高于这个平均分,那么我就认为他或她是一位优秀的TSQL程序员,假如应聘者获得了90%以上的得分,那么他或她就是一位非常优异的程序员。

假如您对我的答案有任何问题或者想发表评论,请在文章的讨论区发贴进行讨论。


共4页: 上一页 [1] [2] [3] 4 下一页

(本文仅表明作者个人观点,不代表本站及其管理员立场.) 推荐 收藏 投稿 打印 返回 关闭
上一篇:SQL Server--全文本检索的应用(一)  
下一篇:加快SQL Server备份和重新存储的速度
    评论加载中…
 推荐文章
     

网站首页  -  网站地图 -   站长论坛  -  网站投稿  -    -  网站管理
Copyright © 2008 芜湖站长站 All Rights Reserved 皖ICP备07500611号