3. Contents
Preface ............................................................................................................................................................... xxi
Audience..................................................................................................................................................... xxi
Documentation Accessibility ................................................................................................................... xxi
Related Documents ................................................................................................................................... xxi
Conventions .............................................................................................................................................. xxii
What's New in the SQL Language Reference? ....................................................................... xxiii
Oracle Database 11g Release 2 (11.2.0.2) New Features in the SQL Language Reference............ xxiii
Oracle Database 11g Release 2 (11.2.0.1) New Features in the SQL Language Reference............ xxiii
Oracle Database 11g Release 1 New Features in the SQL Language Reference............................. xxv
1 Introduction to Oracle SQL
History of SQL ......................................................................................................................................... 1-1
SQL Standards ......................................................................................................................................... 1-1
How SQL Works ............................................................................................................................... 1-2
Common Language for All Relational Databases ......................................................................... 1-2
Using Enterprise Manager ..................................................................................................................... 1-3
Lexical Conventions................................................................................................................................. 1-3
Tools Support ........................................................................................................................................... 1-3
2 Pseudocolumns
Hierarchical Query Pseudocolumns .................................................................................................... 2-1
CONNECT_BY_ISCYCLE Pseudocolumn .................................................................................... 2-1
CONNECT_BY_ISLEAF Pseudocolumn ....................................................................................... 2-2
LEVEL Pseudocolumn ...................................................................................................................... 2-2
Sequence Pseudocolumns ..................................................................................................................... 2-3
Where to Use Sequence Values ....................................................................................................... 2-3
How to Use Sequence Values .......................................................................................................... 2-4
Version Query Pseudocolumns ............................................................................................................ 2-5
COLUMN_VALUE Pseudocolumn ...................................................................................................... 2-6
OBJECT_ID Pseudocolumn .................................................................................................................. 2-7
iii
4. OBJECT_VALUE Pseudocolumn .......................................................................................................... 2-8
ORA_ROWSCN Pseudocolumn ........................................................................................................... 2-8
ROWID Pseudocolumn .......................................................................................................................... 2-9
ROWNUM Pseudocolumn ................................................................................................................. 2-10
XMLDATA Pseudocolumn ................................................................................................................. 2-11
3 Basic Elements of Oracle SQL
Data Types ................................................................................................................................................ 3-1
Oracle Built-in Data Types................................................................................................................ 3-6
CHAR Data Type ....................................................................................................................... 3-9
NCHAR Data Type .................................................................................................................... 3-9
NVARCHAR2 Data Type ......................................................................................................... 3-9
VARCHAR2 Data Type ......................................................................................................... 3-10
VARCHAR Data Type ........................................................................................................... 3-10
NUMBER Data Type .............................................................................................................. 3-10
FLOAT Data Type.................................................................................................................... 3-12
Floating-Point Numbers ........................................................................................................ 3-13
BINARY_FLOAT .............................................................................................................. 3-13
BINARY_DOUBLE ........................................................................................................... 3-13
Numeric Precedence ............................................................................................................... 3-14
DATE Data Type ..................................................................................................................... 3-17
Using Julian Days ............................................................................................................. 3-17
TIMESTAMP Data Type ........................................................................................................ 3-18
TIMESTAMP WITH TIME ZONE Data Type .................................................................... 3-18
TIMESTAMP WITH LOCAL TIME ZONE Data Type ..................................................... 3-19
INTERVAL YEAR TO MONTH Data Type ........................................................................ 3-19
INTERVAL DAY TO SECOND Data Type ......................................................................... 3-20
Datetime/Interval Arithmetic ............................................................................................... 3-20
Support for Daylight Saving Times ...................................................................................... 3-22
Datetime and Interval Examples ........................................................................................... 3-23
RAW and LONG RAW Data Types ..................................................................................... 3-24
BFILE Data Type ..................................................................................................................... 3-26
BLOB Data Type ...................................................................................................................... 3-26
CLOB Data Type ..................................................................................................................... 3-26
NCLOB Data Type .................................................................................................................. 3-27
Rowid Data Types .......................................................................................................................... 3-27
ROWID Data Type .................................................................................................................. 3-27
UROWID Data Type ............................................................................................................... 3-28
ANSI, DB2, and SQL/DS Data Types ......................................................................................... 3-28
User-Defined Types ....................................................................................................................... 3-30
Object Types ............................................................................................................................ 3-30
REF Data Types ....................................................................................................................... 3-30
Varrays ...................................................................................................................................... 3-31
Nested Tables .......................................................................................................................... 3-31
Oracle-Supplied Types .................................................................................................................. 3-31
Any Types ....................................................................................................................................... 3-32
ANYTYPE ................................................................................................................................. 3-32
iv
5. ANYDATA................................................................................................................................ 3-32
ANYDATASET......................................................................................................................... 3-32
XML Types ...................................................................................................................................... 3-32
XMLType .................................................................................................................................. 3-32
URI Data Types ....................................................................................................................... 3-33
URIFactory Package ................................................................................................................ 3-34
Spatial Types ................................................................................................................................... 3-34
SDO_GEOMETRY ................................................................................................................... 3-34
SDO_TOPO_GEOMETRY ..................................................................................................... 3-35
SDO_GEORASTER .................................................................................................................. 3-35
Media Types .................................................................................................................................... 3-35
Expression Filter Type.................................................................................................................... 3-36
Expression ................................................................................................................................. 3-37
Data Type Comparison Rules ............................................................................................................ 3-37
Numeric Values .............................................................................................................................. 3-37
Date Values ..................................................................................................................................... 3-37
Character Values ............................................................................................................................ 3-37
Object Values .................................................................................................................................. 3-40
Varrays and Nested Tables ........................................................................................................... 3-40
Data Type Precedence .................................................................................................................... 3-40
Data Conversion ............................................................................................................................. 3-40
Implicit and Explicit Data Conversion ................................................................................ 3-40
Implicit Data Conversion ....................................................................................................... 3-40
Implicit Data Conversion Examples...................................................................................... 3-43
Explicit Data Conversion ....................................................................................................... 3-43
Security Considerations for Data Conversion ............................................................................ 3-44
Literals .................................................................................................................................................... 3-45
Text Literals ..................................................................................................................................... 3-46
Numeric Literals ............................................................................................................................. 3-47
Integer Literals ......................................................................................................................... 3-47
NUMBER and Floating-Point Literals .................................................................................. 3-48
Datetime Literals ............................................................................................................................ 3-50
Interval Literals................................................................................................................................ 3-53
INTERVAL YEAR TO MONTH ............................................................................................ 3-53
INTERVAL DAY TO SECOND ............................................................................................. 3-54
Format Models ...................................................................................................................................... 3-56
Number Format Models ................................................................................................................ 3-57
Number Format Elements ..................................................................................................... 3-57
Datetime Format Models .............................................................................................................. 3-60
Datetime Format Elements .................................................................................................... 3-60
Uppercase Letters in Date Format Elements ............................................................... 3-61
Punctuation and Character Literals in Datetime Format Models ............................. 3-61
Datetime Format Elements and Globalization Support .................................................... 3-64
ISO Standard Date Format Elements ................................................................................... 3-65
The RR Datetime Format Element ........................................................................................ 3-65
RR Datetime Format Examples....................................................................................... 3-66
Datetime Format Element Suffixes ....................................................................................... 3-66
v
6. Format Model Modifiers ............................................................................................................... 3-66
Format Model Examples ......................................................................................................... 3-67
String-to-Date Conversion Rules ................................................................................................. 3-69
XML Format Model ....................................................................................................................... 3-70
Nulls ........................................................................................................................................................ 3-71
Nulls in SQL Functions .................................................................................................................. 3-71
Nulls with Comparison Conditions ............................................................................................ 3-71
Nulls in Conditions ........................................................................................................................ 3-72
Comments .............................................................................................................................................. 3-72
Comments Within SQL Statements ............................................................................................. 3-72
Comments on Schema and Nonschema Objects ....................................................................... 3-73
Hints ................................................................................................................................................. 3-74
Alphabetical Listing of Hints ........................................................................................................ 3-79
ALL_ROWS Hint .................................................................................................................... 3-79
APPEND Hint .......................................................................................................................... 3-80
APPEND_VALUES Hint ....................................................................................................... 3-80
CACHE Hint ............................................................................................................................ 3-81
CHANGE_DUPKEY_ERROR_INDEX Hint ....................................................................... 3-81
CLUSTER Hint ........................................................................................................................ 3-82
CURSOR_SHARING_EXACT Hint ..................................................................................... 3-82
DRIVING_SITE Hint .............................................................................................................. 3-82
DYNAMIC_SAMPLING Hint ............................................................................................... 3-82
FACT Hint ................................................................................................................................ 3-83
FIRST_ROWS Hint .................................................................................................................. 3-83
FULL Hint ................................................................................................................................ 3-84
HASH Hint .............................................................................................................................. 3-84
IGNORE_ROW_ON_DUPKEY_INDEX Hint ..................................................................... 3-84
INDEX Hint ............................................................................................................................. 3-85
INDEX_ASC Hint ................................................................................................................... 3-86
INDEX_COMBINE Hint ........................................................................................................ 3-86
INDEX_DESC Hint ................................................................................................................. 3-86
INDEX_FFS Hint ..................................................................................................................... 3-87
INDEX_JOIN Hint .................................................................................................................. 3-87
INDEX_SS Hint ....................................................................................................................... 3-87
INDEX_SS_ASC Hint ............................................................................................................. 3-88
INDEX_SS_DESC Hint ........................................................................................................... 3-88
LEADING Hint ........................................................................................................................ 3-89
MERGE Hint ............................................................................................................................ 3-89
MODEL_MIN_ANALYSIS Hint ........................................................................................... 3-90
MONITOR Hint ...................................................................................................................... 3-90
NATIVE_FULL_OUTER_JOIN Hint .................................................................................... 3-90
NOAPPEND Hint ................................................................................................................... 3-90
NOCACHE Hint ..................................................................................................................... 3-90
NO_EXPAND Hint ................................................................................................................. 3-91
NO_FACT Hint ....................................................................................................................... 3-91
NO_INDEX Hint ..................................................................................................................... 3-91
NO_INDEX_FFS Hint ............................................................................................................ 3-92
vi
7. NO_INDEX_SS Hint ............................................................................................................... 3-92
NO_MERGE Hint ................................................................................................................... 3-92
NO_MONITOR Hint .............................................................................................................. 3-93
NO_NATIVE_FULL_OUTER_JOIN Hint ............................................................................ 3-93
NO_PARALLEL Hint ............................................................................................................. 3-93
NOPARALLEL Hint................................................................................................................ 3-93
NO_PARALLEL_INDEX Hint .............................................................................................. 3-93
NOPARALLEL_INDEX Hint ................................................................................................. 3-94
NO_PUSH_PRED Hint .......................................................................................................... 3-94
NO_PUSH_SUBQ Hint .......................................................................................................... 3-94
NO_PX_JOIN_FILTER Hint .................................................................................................. 3-94
NO_QUERY_TRANSFORMATION Hint ........................................................................... 3-94
NO_RESULT_CACHE Hint .................................................................................................. 3-95
NO_REWRITE Hint ................................................................................................................ 3-95
NOREWRITE Hint................................................................................................................... 3-95
NO_STAR_TRANSFORMATION Hint ............................................................................... 3-95
NO_STATEMENT_QUEUING Hint..................................................................................... 3-95
NO_UNNEST Hint ................................................................................................................. 3-96
NO_USE_HASH Hint ............................................................................................................ 3-96
NO_USE_MERGE Hint .......................................................................................................... 3-96
NO_USE_NL Hint .................................................................................................................. 3-96
NO_XML_QUERY_REWRITE Hint ...................................................................................... 3-97
NO_XMLINDEX_REWRITE Hint ........................................................................................ 3-97
OPT_PARAM Hint ................................................................................................................. 3-97
ORDERED Hint ....................................................................................................................... 3-97
PARALLEL Hint ..................................................................................................................... 3-98
PARALLEL_INDEX Hint .................................................................................................... 3-100
PQ_DISTRIBUTE Hint ......................................................................................................... 3-100
PUSH_PRED Hint ................................................................................................................. 3-103
PUSH_SUBQ Hint ................................................................................................................. 3-103
PX_JOIN_FILTER Hint ......................................................................................................... 3-103
QB_NAME Hint .................................................................................................................... 3-103
RESULT_CACHE Hint ......................................................................................................... 3-104
RETRY_ON_ROW_CHANGE Hint ................................................................................... 3-104
REWRITE Hint ...................................................................................................................... 3-105
STAR_TRANSFORMATION Hint ..................................................................................... 3-105
STATEMENT_QUEUING Hint ........................................................................................... 3-106
UNNEST Hint ........................................................................................................................ 3-106
USE_CONCAT Hint ............................................................................................................. 3-106
USE_HASH Hint ................................................................................................................... 3-107
USE_MERGE Hint ................................................................................................................ 3-107
USE_NL Hint ......................................................................................................................... 3-107
USE_NL_WITH_INDEX Hint ............................................................................................. 3-108
Database Objects ................................................................................................................................. 3-108
Schema Objects ............................................................................................................................. 3-108
Nonschema Objects ...................................................................................................................... 3-109
Database Object Names and Qualifiers ......................................................................................... 3-109
vii
8. Database Object Naming Rules .................................................................................................. 3-110
Schema Object Naming Examples ............................................................................................. 3-113
Schema Object Naming Guidelines ........................................................................................... 3-113
Syntax for Schema Objects and Parts in SQL Statements........................................................... 3-114
How Oracle Database Resolves Schema Object References ................................................... 3-115
References to Objects in Other Schemas ................................................................................... 3-116
References to Objects in Remote Databases ............................................................................. 3-116
Creating Database Links ...................................................................................................... 3-116
Database Link Names .................................................................................................... 3-116
Username and Password ............................................................................................... 3-117
Database Connect String................................................................................................ 3-117
References to Database Links .............................................................................................. 3-117
References to Partitioned Tables and Indexes ......................................................................... 3-118
References to Object Type Attributes and Methods ................................................................ 3-120
4 Operators
About SQL Operators .............................................................................................................................. 4-1
Unary and Binary Operators ........................................................................................................... 4-2
Operator Precedence ......................................................................................................................... 4-2
Arithmetic Operators .............................................................................................................................. 4-3
Concatenation Operator .......................................................................................................................... 4-4
Hierarchical Query Operators................................................................................................................ 4-5
PRIOR ................................................................................................................................................. 4-5
CONNECT_BY_ROOT ..................................................................................................................... 4-5
Set Operators ............................................................................................................................................ 4-5
Multiset Operators .................................................................................................................................. 4-6
MULTISET EXCEPT ......................................................................................................................... 4-6
MULTISET INTERSECT .................................................................................................................. 4-7
MULTISET UNION .......................................................................................................................... 4-8
User-Defined Operators ......................................................................................................................... 4-9
5 Functions
About SQL Functions ............................................................................................................................. 5-2
Single-Row Functions ............................................................................................................................ 5-3
Numeric Functions ............................................................................................................................ 5-3
Character Functions Returning Character Values ........................................................................ 5-4
Character Functions Returning Number Values .......................................................................... 5-5
NLS Character Functions ................................................................................................................. 5-5
Datetime Functions ........................................................................................................................... 5-5
General Comparison Functions ...................................................................................................... 5-6
Conversion Functions ....................................................................................................................... 5-6
Large Object Functions ..................................................................................................................... 5-7
Collection Functions ......................................................................................................................... 5-7
Hierarchical Functions ..................................................................................................................... 5-7
Data Mining Functions ..................................................................................................................... 5-7
XML Functions .................................................................................................................................. 5-8
Encoding and Decoding Functions ................................................................................................ 5-9
viii