用browse命令能实现吗? 创建查询? 5.2.2条件查询
可以在指定的表中查询满足WHERE条件子句的记录。 基本格式:
SELECT <字段名表>FROM<表名>WHERE<条件> [例子5.5]在bookinfo表中查询30元以上的图书编号、名称、作者、出版社和定价。
[练习5.5]在readerinfo表中查询性别是男读者的信息。
[例子5.6] 在bookinfo表中查询外文出版社的30元以上的图书的名称、作者和定价。
[练习5.6]在readerinfo表中查询性别是男并且是信工学院的读者的信息。
[例子5.7] 在bookinfo表中查询20元到30元之间的图书的名称、作者和定价。 查询的条件等价于: (成绩>=90)AND (成绩<=100)
[练习5.7] 在bookinfo表中查询4元到20元之间的图书的名称、作者和定价。 [例子5.8] 在readerinfo表中查询姓“于”的读者信息。
说明:
? 这里的LIKE是字符串匹配运算符 ? 通配符“%”表示0个或多个不确定的字符
? 通配符“_”表示一个不确定的字符
[练习5.8] 在readerinfo表中查询姓“李”的读者信息。 [例子5.9] 在readerinfo表中查询“人文学院”和“外国语学院”的读者信息。 说明:
? IN 相当于集合运算符∈
? IN的用法。格式为:IN(值列表)
[练习5.9] 在bookinfo表中查询“人民教育出版社”和“科普出版社”的图书信息。 [例子5.10] 在borrowreturninfo表中查询尚未归还的图书编号。
空值就是缺值或没有确定值,不能把它理解为任何意义的数据。在数据库中可能会遇到尚未存储数据的字段,这时的空值与空字符串、数值0等具有不同的含义。
注意:查询空值时要使用IS NULL,而
“=NULL” 是无效的,因为空值不是一个确定的值,所以不能用“=”这样的运算符进行比
较。
5.2.3联接查询
联接查询是将两个或多个表的记录通过
公用字段联接起来进行查询。联接运算是关系数据库中重要的操作。
说明:
如果FROM之后有两个关系(表), 那么这两个关系之间必有一种联系, 否则无法构成检索表达式。
(1)内部联接查询
实现两个表内部联接的方式有两种 方法一:使用where短语
Select <列名表> ; from <表名1> ,<表名2> ; where <表名1>.<关联字段>=<表名2>.<关联字段>
方法二:使用join短语
Select <列名表> ; from <表名1> inner join <表名2> ; on <表名1>.<关联字段>=<表名2>.<关联字段> [例子
5.11]根据
bookinfo
表和
bookcategory表查询图书的编号、名称和图书的类别名称信息。