《数据库基础及应用》选择题题库(单选)
1.在学生成绩表tblCourseScore中的列Score用来存放某学生学习某课程的考试成绩(0~100分,没有小数), 用下面的哪种类型最节省空间?C
A. int
B. smallint
C. tinyint
D. decimal(3,0)
2.订单表Orders的列OrderID的类型是小整型(smallint),根据业务的发展需要改为整型(integer),应该使用下面的哪条语句?C
A. ALTER COLUMN OrderID integer FROM Orders
B. ALTER TABLE Orders ( OrderID integer )
C. ALTER TABLE Orders ALTER COLUMN OrderID integer
D. ALTER COLUMN Orders.OrderID integer
3. 小王在SQL Server 2005数据库中创建了如下两个表:
CREATE TABLE 雇员表
( 雇员代号 int IDENTITY(10001,1) PRIMARY KEY NONCLUSTERED, 雇员姓名 varchar(20) NOT NULL,
通信地址 varchar(200) NULL
)
CREATE TABLE 订单表
( 订单号 int IDENTITY(1,1) PRIMARY KEY,
雇员代号 int NOT NULL,
客户代号 int NOT NULL,
订购日期 datetime NOT NULL,
订购金额 money NOT NULL
)
他需要获得2003年9月1日每个雇员的最高的一笔销售金额,要求列出“雇员代号”、“雇员姓名”、“订购日期”、最高的“订购金额”。下面哪个语句能完成该功能?B
A. SELECT a.雇员代号,a.雇员姓名,b.订购日期,b.订购金额
FROM 雇员表 AS a LEFT OUTER JOIN 订单表 AS b
ON a.雇员代号 = b.雇员代号
WHERE b.订购日期 = '09/01/2003'
AND 订购金额 IN (SELECT MAX(订购金额) FROM 订单表)
B. SELECT a.雇员代号,a.雇员姓名,b.订购日期,MAX(订购金额)
FROM 雇员表 AS a LEFT OUTER JOIN 订单表 AS b
ON a.雇员代号 = b.雇员代号 AND b.订购日期 = '09/01/2003'
GROUP BY a.雇员代号,a.雇员姓名,b.订购日期
C. SELECT a.雇员代号,a.雇员姓名,b.订购日期,MAX(订购金额)
FROM 雇员表 AS a INNER JOIN 订单表 AS b
ON a.雇员代号 = b.雇员代号