Oracle查询精讲:从基础到高级

需积分: 14 1 下载量 189 浏览量 更新于2024-07-18 收藏 75KB DOCX 举报
"Oracle数据库的学习笔记,包括查询语句、表连接、单行函数和特殊操作的使用。" Oracle数据库是世界上最广泛使用的数据库系统之一,本笔记主要涵盖了Oracle的基础知识和高级特性。以下是对笔记内容的详细解释: 1. **查询语句**:SQL中的SELECT语句用于从数据库中检索数据。基础形式是`SELECT [DISTINCT] * | 列 [别名] FROM 表名称`。`DISTINCT`用于去除重复行,`*`代表选择所有列,`列 [别名]`则指定特定列及其可选别名。 2. **表连接**: - **交叉连接 (CROSS JOIN)**:生成两个表的笛卡尔积,即所有可能的列组合,如`SELECT * FROM emp CROSS JOIN dept`。 - **自然连接 (NATURAL JOIN)**:根据共享的列自动进行连接,自动消除笛卡儿积。例如`SELECT * FROM emp NATURAL JOIN dept`。 - **USING子句**:当有多重关联字段时,使用`USING(deptno)`来明确指定连接字段,如`SELECT * FROM emp e JOIN dept USING(deptno)`。 - **ON子句**:若无共享字段,可以使用`ON(条件)`设定连接条件,如`SELECT * FROM emp JOIN dept ON(emp.deptno = dept.deptno)`。 3. **单行函数**:Oracle提供了一系列单行函数,如`UPPER()`用于转换为大写,`LENGTH()`计算字符串长度。例如,`SELECT LENGTH('HelloWord!!') FROM dual`返回字符串的长度。 4. **用户输入查询**:在查询中可以使用`&inputname`代表用户输入,如`SELECT * FROM emp WHERE ename=‘&inputname’`。 5. **控制台操作**:`clearscr`命令用于清屏,缓冲区大小可以通过控制台窗口设置。 6. **权限管理**:如`CONNSYS/CHANGE_ON_INSTALL AS SYSDBA`用于以SYSDBA权限连接。 7. **SQL关键字**:关键的SQL语句包括`SELECT、FROM、WHERE、GROUP BY、HAVING、ORDER BY`等,以及数据操作语句如`INSERT、UPDATE、DELETE`和数据库对象管理语句`CREATE、DROP、ALTER`等。 8. **日期格式**:Oracle支持自定义日期格式,如`xx日-xx月-xx年`。 9. **比较运算符**:`BETWEEN`与`AND`用于范围查询,`BETWEEN`通常比`>= AND <=`更快。`NULL`的处理需特别注意,不能直接用`!=`或`= NULL`比较,应使用`IS NOT NULL`。 10. **IN谓词**:`IN`用于在列表中查找匹配项,`NOT IN`则排除这些值。`NULL`在`IN`和`NOT IN`中的处理方式不同,包含`NULL`不会影响`IN`的结果,但会影响`NOT IN`。 11. **LIKE通配符**:`LIKE`操作符用于模糊匹配,`_`匹配单个字符,`%`匹配零个、一个或多个字符。 12. **别名与排序**:`SELECT`中的别名不能在`WHERE`中使用,但在`ORDER BY`中可以。默认排序是升序,`ASC`可省略。 13. **表的连接**:分为内连接(等值连接)、外连接(左外连接、右外连接)。外连接允许显示未匹配的数据,使用`(+)`符号表示非强制匹配。 14. **SQL1999标准**:笔记中提及的01016部分可能涉及SQL1999引入的新特性,如更复杂的连接和子查询操作。 这些笔记内容涵盖了Oracle数据库的基础查询和进阶技巧,是学习和掌握Oracle数据库操作的重要参考资料。