### Oracle SQL语句详解####一、SQL规范与注释在Oracle SQL中,注释主要用于添加说明性文本,帮助理解SQL脚本的目的和功能。注释有两种基本形式: - **单行注释**:使用`--`,之后的所有内容被视为注释,直到行末。示例: ```sql --这是一条单行注释SELECT * FROM dept; ``` - **多行注释**:使用`/*`开始并以`*/`结束。示例: ```sql /*这是一段多行注释*/ SELECT * FROM dept; ``` **注意**:SQL命令在Oracle中大小写不敏感。虽然如此,在实际编写中保持一致的大小写习惯有助于提高代码的可读性。例如,将关键字大写,而其他部分小写是一种常见的做法。 ####二、SQL语言基础#####数据操作语言(DML) - **SELECT**:用于检索数据。 - **INSERT**:用于向表中插入新的记录。 - **UPDATE**:用于修改已存在的记录。 - **DELETE**:用于删除记录。 #####数据定义语言(DDL) - **CREATE**:用于创建新的数据库对象,如表、视图等。 - **ALTER**:用于修改现有数据库对象的结构。 - **DROP**:用于删除数据库对象。 - **RENAME**:用于更改数据库对象的名称。 - **TRUNCATE**:用于快速清空表中的所有数据,但保留表结构。 #####事务控制语句(TCL) - **COMMIT**:用于提交事务,使其成为永久性的更改。 - **ROLLBACK**:用于撤销未提交的更改。 - **SAVEPOINT**:用于在事务中设置保存点,以便可以回滚到该点。 #####数据控制语言(DCL) - **GRANT**:用于授予数据库权限。 - **REVOKE**:用于收回已经授予的权限。 ####三、基本查询##### 1.选择所有的列```sql SELECT * FROM dept; ``` ##### 2.选择指定列```sql SELECT deptno, loc FROM dept; ``` ##### 3.算术表达式算术运算可用于NUMBER和DATE类型的数据。 - **数字类型**: ```sql SELECT ename, sal + 300 FROM emp; ``` - **日期类型**: ```sql SELECT ename, hiredate + 365 FROM emp; ``` **注意**:算术表达式的优先级遵循数学中的优先级规则。例如,乘法和除法优先于加法和减法。 ##### 4.空值处理空值(NULL)表示未知或未定义的值。在算术运算中,如果涉及到空值,则结果总是空值。 ```sql SELECT ename, comm FROM emp; SELECT ename, sal, 12 * sal + comm FROM emp; ``` ##### 5.别名为列赋予别名可以使结果更易于阅读。 - **简单的别名**: ```sql SELECT ename AS name, sal AS salary FROM emp; ``` - **包含特殊字符的别名**: ```sql SELECT ename "Name", sal * 12 "Annual Salary" FROM emp; ``` ##### 6.表达式通过使用连接操作(`||`),可以组合列值。 ```sql SELECT ename || ' is a ' || job AS "Employees" FROM emp; ``` ##### 7.去重操作使用`DISTINCT`去除重复值。 ```sql SELECT DISTINCT deptno FROM emp; ``` **注意**:对于多个列的去重,通常需要结合`GROUP BY`或聚合函数一起使用。 ####四、限定与排序##### WHERE子句用于过滤结果集。 - **单个条件**: ```sql SELECT ename, job, deptno FROM emp WHERE job = 'CLERK'; ``` - **多个条件**: ```sql SELECT empno, ename, job, deptno FROM emp WHERE deptno = 10; ``` - **复合条件**: ```sql SELECT ename, job, deptno FROM emp WHERE job = 'CLERK' AND deptno = 10; ``` **注意**:在WHERE子句中,可以使用列名但不能使用列的别名。 ##### ORDER BY子句用于对结果集进行排序。 ```sql SELECT * FROM emp ORDER BY ename; ```以上介绍了Oracle SQL的一些基本概念和技术,包括注释的使用、数据操作语言、数据定义语言、事务控制语句、数据控制语言的基础知识,以及如何进行基本的查询操作。这些知识构成了理解和使用Oracle SQL的基础。