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 ONLY
WHERE ROWNUM <= 15 MINUS WHERE ROWNUM <= 10
或12c后支持FETCH语法字符串连接
CONCAT(str1, str2)
或 str1 || str2
str1 || str2
或 CONCAT(str1, str2)
日期处理
TO_DATE()
, TO_CHAR()
, ADD_MONTHS()
SQL是标准查询语言,Oracle是实现该标准的数据库产品并进行了大量扩展。Oracle在遵循SQL标准的同时,提供了许多专有特性和优化,使其成为企业级数据库解决方案。