Oracle SQL基础入门:去重、连接与函数应用
需积分: 3 13 浏览量
更新于2024-09-16
收藏 7KB TXT 举报
Oracle SQL Fundamentals Part 1是Oracle官方培训教材中的入门教程,主要讲解了SQL的基础概念和常用功能。本部分的内容涵盖了以下几个关键知识点:
1. DISTINCT:在SQL查询中,`DISTINCT`关键字用于返回唯一的行,忽略重复的值。例如,`SELECT DISTINCT department_id FROM employees`会去除结果集中部门ID的重复项,只显示每个部门ID的不同实例。
2. Concatenate Operator (||):Oracle SQL中的`||`操作符用于连接字符串,如`SELECT last_name || job_id AS employees FROM employees`,这将员工的姓氏和职位号组合成一个新的字段。
3. Character Functions:
- `LOWER()`:将字符串转换为小写,如`INITCAP('oracleSERVER')`会将'oracleSERVER'转换为'OracleServer'。
- `UPPER()`:将字符串转换为大写。
- `SUBSTR()`: 提取子串,如`SUBSTR('HelloWorld', 1, 5)`返回'Hello'。
- `LENGTH()`: 计算字符串长度。
- `INSTR()`: 查找子串在字符串中的位置。
- `LPAD()`: 在字符串左边填充字符,如`LPAD('2400', 10, '*')`变成'2400'。
- `RPAD()`: 在字符串右边填充字符,如`RPAD('24000', 9, '*')`变成'24000'。
- `REPLACE()`: 替换子串,如`REPLACE('jackandjue', 'j', 'bl')`替换为'blackandblue'。
- `TRIM()`: 去除字符串两端的指定字符,如`TRIM('H' FROM 'HelloWorld')`得到'elloWorld'。
4. Numeric Functions:
- `ROUND()`: 四舍五入到指定的小数位,如`ROUND(45.556, 2)`得到`45.56`。
- `TRUNC()`: 截断数字到指定的小数位,如`TRUNC(45.556, 2)`得到`45.55`。
- `MOD()`: 取余数,如`MOD(16, 3)`得到`1`。
5. Conditional Expressions:
- `CASE`语句:用于根据条件执行不同的表达式,例如:
```
CASE expr
WHEN expr1 THEN expr_returned
WHEN expr2 THEN expr_returned2
...
ELSE expr_else
END
```
这在处理复杂条件和返回不同值时非常有用。
6. Table Joins:
- Self-join: 在同一张表上进行连接,如查询员工及其经理的姓名:
```
SELECT e.last_name, m.last_name
FROM employees e
JOIN employees m
ON (e.manager_id = m.employee_id)
```
- Cross Join (Cartesian Join):返回两个表的所有可能组合,如查询员工与部门的名称组合:
```
SELECT last_name, department_name
FROM employees
CROSS JOIN departments
```
这部分内容提供了基础的SQL查询语法、数据操作以及简单联接,对于初学者理解和掌握Oracle SQL语言至关重要。通过学习这些基础知识,可以更好地构建复杂的查询并管理数据库中的数据。
2019-10-15 上传
2015-04-07 上传
2008-06-02 上传
114 浏览量
2009-11-22 上传
2019-07-24 上传
点击了解资源详情
2024-11-06 上传
明月三千里68
- 粉丝: 11
- 资源: 13
最新资源
- Android圆角进度条控件的设计与应用
- mui框架实现带侧边栏的响应式布局
- Android仿知乎横线直线进度条实现教程
- SSM选课系统实现:Spring+SpringMVC+MyBatis源码剖析
- 使用JavaScript开发的流星待办事项应用
- Google Code Jam 2015竞赛回顾与Java编程实践
- Angular 2与NW.js集成:通过Webpack和Gulp构建环境详解
- OneDayTripPlanner:数字化城市旅游活动规划助手
- TinySTM 轻量级原子操作库的详细介绍与安装指南
- 模拟PHP序列化:JavaScript实现序列化与反序列化技术
- ***进销存系统全面功能介绍与开发指南
- 掌握Clojure命名空间的正确重新加载技巧
- 免费获取VMD模态分解Matlab源代码与案例数据
- BuglyEasyToUnity最新更新优化:简化Unity开发者接入流程
- Android学生俱乐部项目任务2解析与实践
- 掌握Elixir语言构建高效分布式网络爬虫