实验3 SQL基本查询与SQL Plus的使用 下载本文

3.2.3

查看符合条件的行

可以使用 WHERE 子句完成对某些相关数据行的条件检索。WHERE 子句中指定的条件称为谓词。谓词可以是任意数据类型、字符、数字或日期。像 AND、OR 和 NOT 这样的逻辑运算符也可以用于合并谓词。

语法如下:

SELECT columnname1, columnname2, ?, columnnameN FROM tablename WHERE ;

实验3-4要从雇员表中只显示那些在部门 20 工作的雇员,执行如下所示的语句:

图 3-6

请给出运行结果:

在谓词中可以有效使用的其他运算符还有:

1. IN 运算符:此运算符用于显式规定可以接受的值组。

实验3-5 要只显示属于“CLERK”(办事员)或“MANAGER”(经理)的雇员,执行如下命令。

第 6 页 共 19 页

图 3-7

请给出运行结果:

另一方面,NOT IN 运算符将返回与条件不匹配的行。

2. BETWEEN 运算符:此运算符与 IN 运算符相似,不过可以指定值的范围而不是

匹配的值组。

实验3-6要只显示在“03-JAN-82”(1982 年 1 月 1 日)和“33-DEC-87”(1987 年 12 月 31 日)之间加入的雇员,请给出如下命令。

图 3-8

请给出运行结果:

第 7 页 共 19 页

NOT BETWEEN 运算符将获取与条件不匹配的行。

3. LIKE 运算符:该运算符用于匹配字符串或字符串的一部分(称为子字符串)。该

运算符使用通配符扩展其字符串匹配功能。有两种通配符与 LIKE 运算符一起使用:

? 下划线 (_):这表示任意单字符。 ? 百分号 (%):这表示多字符的序列。

实验3-7 要显示姓名以“J”开头的雇员,请给出如下命令。

图3-9

请给出运行结果:

第 8 页 共 19 页

3.2.4

查看汇总数据(使用统计函数)

GROUP BY 子句根据字段值对行进行分组。该子句在应用时将与聚合函数联合。有时,也要求对已分组的查询进行条件检索。可以使用“HAVING”子句对已分组查询进行条件检索。“HAVING”子句与“WHERE”子句相似,只不过“WHERE”子句用于行,而“HAVING”子句用于已分组的结果。

语法如下:

SELECT columnname1, aggregate_function(columnname2) FROM tablename

GROUP BY columnname1;

实验3-8要从雇员表中显示付给经理的最高薪金,执行如下所示的语句:

图3-10

请给出运行结果:

第 9 页 共 19 页

聚合函数通常与 Group by 和 Having 子句一起使用。要讨论的聚合函数是:

1. Count:此函数对包括 Null 值的查询所返回的行数进行记数。

实验3-9要查找每个工作类别的人数,执行如下所示的语句:

图 3-11

请给出运行结果:

2. 3. 4. 5.

Max:从查询返回的值中返回最大值。 Min:从查询返回的值中返回最小值。 Avg:用来确定某个列中出现的值的平均数。 Sum:用来获取查询输出的行的算术和。

实验3-10要从雇员表中显示付给经理的最高、最低、平均和总薪金,执行如下所示的语句:

图3-12

请给出运行结果:

第 10 页 共 19 页