题基于图书表、读者表和借阅表三个数据库表,它们的结构如下:
图书(图书编号,书名,第一作者,出版社):图书编号、书名、第一作者和出版社为C型字段,图书编号为主关键字;
读者(借书证号,单位,姓名,职称):借书证号、单位、姓名、职称为C型字段,借书证号为主关键字;
借阅(借书证号,图书编号,借书日期,还书日期):借书证号和图书编号为C型字段,借书日期和还书日期为D型字段,还书日期默认值为NULL,借书证号和图书编号共同构成主关键字。
查询单位名称中含“北京”字样的所有读者的借书证号和姓名,正确的SQL语句是()。
A.SELECT 借书证号,姓名 FROM 读者 WHERE 单位="北京%"
B.SELECT 借书证号,姓名 FROM 读者 WHERE 单位="北京*"
C.SELECT 借书证号,姓名 FROM 读者 WHERE 单位 LIKE "北京*"
D.SELECT 借书证号,姓名 FROM 读者 WHERE 单位 LIKE "%北京%"
参考答案:D
解析:
[知识点] SQL语句
[评析] SQL中查询应使用SELECT命令,格式为:SELECT[字段名]FROM[表名]WHERE[条件)。根据题意查询单位名称中含“北京”字样的所有读者的借书证号和姓名,所以只要在读者表中查询,FROM后应指明是读者表,指定查询的条件应使用WHERE关键字,接着查询客户名称中有“北京”字样,这是一个字符串匹配的查询,显然应该使用LIKE运算符。LIKE子句的使用格式为:字段LIKE字符串表达式,其中字符串表达式中可以使用通配符号,%表示匹配包含零个或多个字符的任意字符串,表示任意一个字符。因为名称字段的数据类型是字符型数据,所以LIKE后面应该是一个字符串,必须用双引号作为定界符,因此查询条件应书写为:WHERE单位LIKE“%北京%”,所以选项D是正确的。