单选题
语句如下: 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是正确的。
单选题
要从MXB中删除1998年以前的记录,以下一定正确的是______。
【正确答案】
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子句。