Oracle简单查询:过滤行与条件操作
需积分: 10 2 浏览量
更新于2024-08-15
收藏 2.69MB PPT 举报
"Oracle简单查询教程,包括在查询中过滤行、对结果排序及使用单行函数"
在Oracle数据库管理系统中进行数据查询时,我们经常需要根据特定条件过滤行,以便获取我们需要的信息。本教程主要讲解了在查询中过滤行的方法,以及如何对查询结果进行排序和使用单行函数。
首先,过滤行是通过在SELECT语句中使用WHERE子句来实现的。WHERE子句允许我们设定条件,只显示满足这些条件的行。例如,要查询工资高于3000的员工,我们可以使用如下的SQL语句:
```sql
SELECT * FROM employees WHERE salary > 3000;
```
对于日期的过滤,可以查找1982年以后入职的员工:
```sql
SELECT * FROM employees WHERE hire_date > '1982-01-01';
```
对于特定范围的工资,比如2000到2500之间,我们可以使用BETWEEN操作符:
```sql
SELECT * FROM employees WHERE salary BETWEEN 2000 AND 2500;
```
在查询中,我们还可以使用算术表达式来计算年薪:
```sql
SELECT employee_id, first_name, last_name, (salary * 12) AS annual_salary FROM employees;
```
列的别名(如annual_salary)可以使得结果更易读。处理NULL值时,可以使用IS NULL或IS NOT NULL操作符。例如,显示所有没有分配部门的员工:
```sql
SELECT * FROM employees WHERE department_id IS NULL;
```
连接字符串则可以使用CONCAT函数:
```sql
SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM employees;
```
比较操作符如=、>、<等用于基本的条件比较,而LIKE操作符则用于模式匹配。例如,显示首字母为"S"的员工姓名和工资:
```sql
SELECT first_name, salary FROM employees WHERE first_name LIKE 'S%';
```
同时,使用通配符_%可以匹配任意数量的字符,_代表一个具体字符。比如查找第三个字符为大写"O"的员工姓名和工资:
```sql
SELECT first_name, salary FROM employees WHERE first_name LIKE '_O%';
```
逻辑运算符AND、OR和NOT用于组合多个条件。例如,查找工资高于1000且岗位为MANAGER,同时名字首字母为J的员工:
```sql
SELECT * FROM employees
WHERE salary > 1000 AND job_title = 'MANAGER' AND first_name LIKE 'J%';
```
对查询结果进行排序,使用ORDER BY子句,如按工资升序显示雇员信息:
```sql
SELECT * FROM employees ORDER BY salary ASC;
```
若要降序排序,只需添加DESC关键字:
```sql
SELECT * FROM employees ORDER BY salary DESC;
```
可以按多个列排序,例如部门号升序,工资降序:
```sql
SELECT * FROM employees ORDER BY department_id ASC, salary DESC;
```
此外,还可以使用列的别名进行排序,如按年薪排序:
```sql
SELECT employee_id, (salary * 12) AS annual_salary FROM employees ORDER BY annual_salary ASC;
```
单行函数,也称为标量函数,会在查询的每一行上应用并返回一个值。它们包括字符串函数、数字函数、日期函数等,用于对单个值进行转换或处理。例如,我们可以使用UPPER函数将所有员工的姓氏转为大写:
```sql
SELECT first_name, UPPER(last_name) AS upper_last_name FROM employees;
```
通过这些基础的查询技巧,我们可以更有效地从Oracle数据库中提取所需的数据。
2008-12-03 上传
2018-10-29 上传
2013-06-15 上传
2009-09-30 上传
2012-09-10 上传
2021-05-13 上传
2021-10-10 上传
2021-12-31 上传
2021-09-21 上传
Pa1nk1LLeR
- 粉丝: 0
- 资源: 2万+
最新资源
- 高清艺术文字图标资源,PNG和ICO格式免费下载
- mui框架HTML5应用界面组件使用示例教程
- Vue.js开发利器:chrome-vue-devtools插件解析
- 掌握ElectronBrowserJS:打造跨平台电子应用
- 前端导师教程:构建与部署社交证明页面
- Java多线程与线程安全在断点续传中的实现
- 免Root一键卸载安卓预装应用教程
- 易语言实现高级表格滚动条完美控制技巧
- 超声波测距尺的源码实现
- 数据可视化与交互:构建易用的数据界面
- 实现Discourse外聘回复自动标记的简易插件
- 链表的头插法与尾插法实现及长度计算
- Playwright与Typescript及Mocha集成:自动化UI测试实践指南
- 128x128像素线性工具图标下载集合
- 易语言安装包程序增强版:智能导入与重复库过滤
- 利用AJAX与Spotify API在Google地图中探索世界音乐排行榜