Oracle SQL基础入门:去重、连接与函数应用

需积分: 3 2 下载量 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语言至关重要。通过学习这些基础知识,可以更好地构建复杂的查询并管理数据库中的数据。