单选题
19~25题所用到的数据如表1和表2所示。
| 表1 BRDA.dbf 病历号 | 姓名 | 性别 | 年龄 | 00000001 | 丁国维 | 男 | 22 | 00000002 | 吴春云 | 男 | 53 | 00000003 | 郭勤 | 女 | 63 | 00000004 | 戴燕 | 女 | 34 | 00000005 | 施添力 | 男 | 25 | 00000006 | 江素萍 | 女 | 50 | 00000007 | 樊达军 | 男 | 24 | 00000008 | 张小丽 | 女 | 21 | |
| 表2 MXB.dbf 病历号 | 药品编号 | 单价/元 | 数量 | 日期 | 00000001 | 0001 | 15.00 | 4 | 08/08/1998 | 00000002 | 0001 | 15.00 | 6 | 08/06/1999 | 00000003 | 0001 | 15.00 | 3 | 07/23/1997 | 00000004 | 0001 | 15.00 | 4 | 08/08/1998 | 00000005 | 0001 | 15.00 | 5 | 08/06/1998 | 00000004 | 0001 | 15.00 | 1 | 07/23/1996 | 00000007 | 0001 | 15.00 | 8 | 08/06/2000 | 00000008 | 0001 | 15.00 | 2 | 07/23/2002 | 00000001 | 0002 | 30.00 | 4 | 08/08/1998 | 00000002 | 0003 | 28.00 | 6 | 08/06/1999 | 00000003 | 0002 | 30.00 | 3 | 07/23/1997 | 00000001 | 0003 | 28.00 | 4 | 08/08/1998 | 00000005 | 0002 | 30.00 | 5 | 08/06/1998 | 00000006 | 0003 | 28.00 | 1 | 07/23/1996 | 00000004 | 0002 | 30.00 | 8 | 08/06/2000 | 00000008 | 0003 | 28.00 | 2 | 07/23/2002 | 00000004 | 0003 | 28.00 | 2 | 07/23/2002 | |
单选题
语句如下:
SELECT BRDA.姓名,COUNT(*);
FROM BRDA INNER JOIN MXB;
ON BRDA.病历号=MXB.病历号;
GROUP BY BRDA.病历号;
ORDER BY 2 DESC
该语句执行后,结果中的每一条记录的值为______。
【正确答案】
A
【答案解析】[分析] 本题的SELECT语句的作用是根据病历号相等,在BRDA和MXB两个表之间建立内部连接,然后根据病历号进行分组,求出每个病历号有多少条记录(即开药记录数),并按照开药记录数降序排列。
单选题
要列出所有病人病历号、姓名和所用的药品总价,下列的语句正确的是______。
【正确答案】
C
【答案解析】[分析] 由于需要两个表中的信息,根据语义可知两个表之间应根据病历号相等建立内部连接,内部连接用ON表示连接条件而不是用WHERE表示连接条件。连接后应根据病历号进行分组,求出每个病历的药品总价,求药品总价可用SUM()函数对表达式“MXB.数量 * MXB.单价”进行求和。注意GROUP BY子句和ORDER BY子句的区别。
单选题
要给BRDA表的性别字段设置一个字段级有效性规则,规则为该字段只能输入“男”或“女”,如果在输入时违反了该规则,将给出提示信息“性别必须是男或女。”正确的语句是______。
【正确答案】
C
【答案解析】[分析] 在表存在时,要定义、修改和删除有效性规则和设置默认值的语法格式为
ALTER TABLE TableName1 ALTER [COLUMN] FieldName2 [NULL|NOT NULL]
[SET DEFAULT eExpression2][SET CHECK 1Expression2[ERROR cMessageText2]]
[DROP DEFAULT][DROP CHECK]
注意:使用的是SET CHECK子句而不是ADD CHECK。性别是一个字符型,"男"和"女"应用双引号括起来。
单选题
把MXB中药品编号为“0001”的药品的单价提高15%,其他药品的单价提高10%,以下正确的语句为______。
【正确答案】
C
【答案解析】[分析] REPLACE语句使用FOR条件来选择记录,UPDATE命令使用WHERE条件。UPDATE命令的一般格式为
UPDATE 表名 SET 字段名=表达式;故只有C是正确的。
单选题
要给BRDA表增加一个婚否字段(逻辑型),下面正确的是______。
【正确答案】
C
【答案解析】[分析] 给表增加一个字段的SQL命令格式为
ALTER TABLE 表名 ADD COLUMN 字段名 字段类型[(字段宽度[,精度])]
注意:字段名不能加双引号,故C是正确的。
【正确答案】
B
【答案解析】[分析] 删除表中的记录可使用DELETE语句和SQL-DELETE命令,DELETE语句不能有FROM子句,SQL-DELETE命令中不能有ALL关键字,故正确答案只可能是A和B。选项A是DELETE语句,但DELETE语句删除表中的记录时,表必须是打开的。当表不是打开的时候,只能通过SQL-DELETE语句来删除它。
单选题
根据MXB创建一个名为YP的视图,该视图包含每种药品的药品号和销售总价,下列正确的语句是______。
【正确答案】
B
【答案解析】[分析] 创建视图的命令格式为
CREATE VIEW 视图名 AS SELECT 命令
要求出每种药品的销售总价,应根据药品编号来进行分组,对表达式“数量*单价”进行求和。注意分组使用的是GROUP BY子句。