SQL 和 Oracle 是两个相关但不同的概念,以下是它们的主要区别:
SQL (Structured Query Language)
Oracle
| 特性 | SQL(标准) | Oracle |
|---|---|---|
| 数据类型 | 基本数据类型 | 扩展了更多数据类型(如CLOB, BLOB等) |
| 存储过程 | 基本语法 | 有PL/SQL(专有扩展) |
| 函数 | 标准函数 | 大量内置函数和包 |
| 对象支持 | 有限 | 支持对象关系特性 |
| 分区 | 无 | 支持表分区 |
| 高可用性 | 无 | RAC, Data Guard等 |
PL/SQL
专有语法
高级特性
分页查询
OFFSET 10 ROWS FETCH NEXT 5 ROWS ONLYWHERE ROWNUM <= 15 MINUS WHERE ROWNUM <= 10 或12c后支持FETCH语法字符串连接
CONCAT(str1, str2) 或 str1 || str2str1 || str2 或 CONCAT(str1, str2)日期处理
TO_DATE(), TO_CHAR(), ADD_MONTHS()SQL是标准查询语言,Oracle是实现该标准的数据库产品并进行了大量扩展。Oracle在遵循SQL标准的同时,提供了许多专有特性和优化,使其成为企业级数据库解决方案。