"Oracle数据库管理系统第四讲简单查询,主要讲解了如何在查询中过滤行、对查询结果进行排序以及单行函数的使用。"
在Oracle查询中,单行函数是处理和转换单个数据行中的值的关键工具。这些函数对每一行输入数据执行特定操作,并返回一个单一的值。在第四讲的简单查询中,我们首先了解了如何在查询中过滤行,这是通过在SELECT语句中使用WHERE子句来实现的。WHERE子句允许我们指定条件,只有满足这些条件的行才会被选中。
例如,要显示工资高于3000的员工,我们可以使用如下的SQL语句:
```sql
SELECT * FROM employees WHERE salary > 3000;
```
同样,可以使用其他比较操作符,如`<`, `>=`, `<=`, `!=`, 和 `<>`,以及逻辑运算符`AND`, `OR`, 和 `NOT` 来组合多个条件。此外,还可以使用`BETWEEN`、`IN`、`LIKE`和`IS NULL`等操作符。`LIKE`模式匹配允许使用通配符 `%`(代表零个或多个字符)和 `_` (代表单个字符)进行字符串搜索。
在查询结果排序方面,使用`ORDER BY`子句可以改变输出数据的顺序。默认为升序(ASC),可以添加`DESC`关键字来实现降序排序。例如,若要按工资降序显示员工信息,可以这样写:
```sql
SELECT * FROM employees ORDER BY salary DESC;
```
如果要结合多个字段排序,可以指定多个字段,如按部门升序、工资降序:
```sql
SELECT * FROM employees ORDER BY department_id ASC, salary DESC;
```
接下来,我们讨论了单行函数。这些函数包括算术函数(如用于计算年薪)、字符串函数(如连接字符串)、日期函数和转换函数等。例如,要显示每个雇员的年薪,可以使用乘法操作符:
```sql
SELECT employee_name, salary * 12 AS annual_salary FROM employees;
```
这里,`AS`关键字用于创建列的别名,使得输出更易读。
单行函数还包括处理`NULL`值的函数,比如`NVL`,当处理可能为空的字段时非常有用。`TRIM`函数用于去除字符串两端的空格,而`UPPER`和`LOWER`则分别用于转换字符串为大写和小写。
Oracle的单行函数极大地增强了查询的灵活性和功能性,使得我们能够根据需求定制数据输出的形式,无论是过滤、排序还是转换数据。熟练掌握这些概念和操作,将有助于更有效地管理和分析数据库中的信息。