Oracle学习笔记:SQL查询语句详解

需积分: 3 2 下载量 182 浏览量 更新于2024-09-08 收藏 143KB DOCX 举报
"Oracle数据库学习笔记,涵盖SQL语言分类、查询语句、条件查询、排序、别名设置以及表间操作等内容。" 在Oracle数据库管理中,SQL(结构化查询语言)是核心工具,用于交互式地操作数据库。本笔记主要整理了SQL的几个主要类别: 1. **DQL(数据查询语言)**:主要包括`SELECT`语句,用于从数据库中检索数据。例如,`SELECT * FROM EMP`将返回EMP表中的所有记录。 2. **DML(数据操作语言)**:涉及数据的插入(`INSERT`)、删除(`DELETE`)和更新(`UPDATE`)。如`INSERT INTO EMP VALUES (值列表)`用于添加新记录,`DELETE FROM EMP WHERE 条件`用于删除符合特定条件的记录,而`UPDATE EMP SET 列=新值 WHERE 条件`则用于修改已有记录的值。 3. **DDL(数据定义语言)**:用于创建(`CREATE`)、删除(`DROP`)和修改(`ALTER`)数据库对象如表、视图、索引等。例如,`CREATE TABLE 新表名 (列名 数据类型)`用于创建新表。 4. **DCL(数据控制语言)**:处理权限管理,包括授权(`GRANT`)和回收(`REVOKE`),以及事务管理如提交(`COMMIT`)和回滚(`ROLLBACK`)。`GRANT SELECT ON EMP TO 用户名`允许指定用户查询EMP表,`COMMIT`用于保存事务中的更改,而`ROLLBACK`则取消所有未提交的更改。 5. **CCL(通用命令语言)**:主要用于声明变量和设置值,如`DECLARE`和`SET`,通常在PL/SQL块中使用。 查询语句的使用技巧包括: - 使用`WHERE`子句进行条件过滤,如`SELECT * FROM EMP WHERE DEPTNO = 20 AND SAL > 1000`。 - `LIKE`关键字支持模糊匹配,`%`表示任意数量的字符,`_`表示单个字符,如`SELECT * FROM EMP WHERE ENAME LIKE '_S%'`找到第二个字母为S的员工。 - `ORDER BY`用于排序结果,`ASC`为升序,`DESC`为降序。 - `AS`关键字可为列设置别名,如`SELECT ENAME AS "姓名" FROM EMP`,使得输出更易读。 - 表间的联合操作,`UNION`合并两个查询的结果,去除重复行,而`UNION ALL`保留所有行,包括重复的。 - `MINUS`操作符用于找出两个查询结果的差集,即在第一个查询中但不在第二个查询中的记录。 此外,还有其他高级SQL概念,如子查询、连接(JOIN)操作、聚合函数(如`COUNT`、`SUM`、`AVG`等)以及窗口函数,这些在实际数据库查询和分析中都极其重要。Oracle数据库提供了丰富的功能和优化手段,使得数据库管理和数据分析变得高效且灵活。理解并熟练掌握这些SQL语句和概念,对于任何数据库管理员或开发人员来说都是必要的基础。