Thông tin tài liệu
Oracle® Database
SQL Language Reference
11g Release 2 (11.2)
E10592-02
August 2009
Oracle Database SQL Language Reference, 11g Release 2 (11.2)
E10592-02
Copyright © 1996, 2009, Oracle and/or its affiliates. All rights reserved.
Primary Authors: Diana Lorentz, Mary Beth Roeser
Contributors: Sundeep Abraham, Angela Amor, Geeta Arora, Vikas Arora, Lance Ashdown, Hermann
Baer, Shrikanth Bellamkonda, Donna Carver, Dan Chiba, Timothy Chien, Alan Choi, Thierry Cruanes,
George Eadon, Amit Ganesh, Barb Glover, Naveen Gopal, Mike Hallas, Min-Hank Ho, Chandrasekharan
Iyer, Mark Jaeger, Vikram Kapoor, Peter Knaggs, Srinath Krishnaswamy, Andre Kruglikov, Paul Lane,
Huagang Li, Yunrui Li, Vince Liang, Bryn Llewellyn, Rich Long, Vineet Marwah, Jun Matsuzawa, Robert
McGuirk, Rahil Mir, Gopal Mulagund, Sujatha Muthulingam, Hanlin Qian, Ashish Ray, John Russell,
Laurent Schneider, Vivian Schupmann, Jia Shi, Ajeet Singh, Wayne Smith, Shanshan Song, Vinay Srihari, Jim
Stenoish, Sankar Subramanian, Seema Sundara, Mark van de Wiel, Badhri Varanasi, William Waddington,
Peter Wahl, Charles Wetherell, Sergiusz Wolicki, Daniel Wong, Tsae-feng Yu, Mohamed Zait, Fred Zemke,
Wei Zhang, Weiran Zhang
This software and related documentation are provided under a license agreement containing restrictions on
use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your
license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license,
transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse
engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is
prohibited.
The information contained herein is subject to change without notice and is not warranted to be error-free. If
you find any errors, please report them to us in writing.
If this software or related documentation is delivered to the U.S. Government or anyone licensing it on
behalf of the U.S. Government, the following notice is applicable:
U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data
delivered to U.S. Government customers are "commercial computer software" or "commercial technical data"
pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As
such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and
license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of
the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software
License (December 2007). Oracle USA, Inc., 500 Oracle Parkway, Redwood City, CA 94065.
This software is developed for general use in a variety of information management applications. It is not
developed or intended for use in any inherently dangerous applications, including applications which may
create a risk of personal injury. If you use this software in dangerous applications, then you shall be
responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure the safe use
of this software. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of
this software in dangerous applications.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks
of their respective owners.
This software and documentation may provide access to or information on content, products, and services
from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all
warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and
its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of
third-party content, products, or services.
iii
Contents
Preface xxi
Audience xxi
Documentation Accessibility xxi
Related Documents xxii
Conventions xxii
What's New in the SQL Language Reference? xxiii
Oracle Database 11g Release 2 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-6
COLUMN_VALUE Pseudocolumn 2-6
OBJECT_ID Pseudocolumn 2-7
OBJECT_VALUE Pseudocolumn 2-8
iv
ORA_ROWSCN Pseudocolumn 2-8
ROWID Pseudocolumn 2-9
ROWNUM Pseudocolumn 2-9
XMLDATA Pseudocolumn 2-10
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-12
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
ANYDATA 3-32
v
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-34
SDO_GEORASTER 3-35
Media Types 3-35
ORDAudio 3-35
ORDImage 3-35
ORDVideo 3-35
ORDDoc 3-35
ORDDicom 3-36
SI_StillImage 3-36
SI_Color 3-36
SI_AverageColor 3-36
SI_ColorHistogram 3-36
SI_PositionalColor 3-36
SI_Texture 3-36
SI_FeatureList 3-36
ORDImageSignature 3-36
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-52
INTERVAL YEAR TO MONTH 3-53
INTERVAL DAY TO SECOND 3-54
vi
Format Models 3-55
Number Format Models 3-56
Number Format Elements 3-57
Datetime Format Models 3-59
Datetime Format Elements 3-60
Uppercase Letters in Date Format Elements 3-60
Punctuation and Character Literals in Datetime Format Models 3-60
Datetime Format Elements and Globalization Support 3-64
ISO Standard Date Format Elements 3-64
The RR Datetime Format Element 3-64
RR Datetime Format Examples 3-65
Datetime Format Element Suffixes 3-65
Format Model Modifiers 3-66
Format Model Examples 3-67
String-to-Date Conversion Rules 3-68
XML Format Model 3-69
Nulls 3-70
Nulls in SQL Functions 3-70
Nulls with Comparison Conditions 3-71
Nulls in Conditions 3-71
Comments 3-71
Comments Within SQL Statements 3-72
Comments on Schema and Nonschema Objects 3-72
Hints 3-73
Alphabetical Listing of Hints 3-77
ALL_ROWS Hint 3-77
APPEND Hint 3-78
APPEND_VALUES Hint 3-78
CACHE Hint 3-79
CHANGE_DUPKEY_ERROR_INDEX Hint 3-79
CLUSTER Hint 3-80
CURSOR_SHARING_EXACT Hint 3-80
DRIVING_SITE Hint 3-80
DYNAMIC_SAMPLING Hint 3-81
FACT Hint 3-81
FIRST_ROWS Hint 3-81
FULL Hint
3-82
HASH Hint 3-82
IGNORE_ROW_ON_DUPKEY_INDEX Hint 3-83
INDEX Hint 3-83
INDEX_ASC Hint 3-84
INDEX_COMBINE Hint 3-84
INDEX_DESC Hint 3-85
INDEX_FFS Hint 3-85
INDEX_JOIN Hint 3-85
INDEX_SS Hint 3-86
INDEX_SS_ASC Hint 3-86
vii
INDEX_SS_DESC Hint 3-87
LEADING Hint 3-87
MERGE Hint 3-87
MODEL_MIN_ANALYSIS Hint 3-88
MONITOR Hint 3-88
NATIVE_FULL_OUTER_JOIN Hint 3-88
NOAPPEND Hint 3-89
NOCACHE Hint 3-89
NO_EXPAND Hint 3-89
NO_FACT Hint 3-89
NO_INDEX Hint 3-90
NO_INDEX_FFS Hint 3-90
NO_INDEX_SS Hint 3-90
NO_MERGE Hint 3-91
NO_MONITOR Hint 3-91
NO_NATIVE_FULL_OUTER_JOIN Hint 3-91
NO_PARALLEL Hint 3-91
NOPARALLEL Hint 3-92
NO_PARALLEL_INDEX Hint 3-92
NOPARALLEL_INDEX Hint 3-92
NO_PUSH_PRED Hint 3-92
NO_PUSH_SUBQ Hint 3-93
NO_PX_JOIN_FILTER Hint 3-93
NO_QUERY_TRANSFORMATION Hint 3-93
NO_RESULT_CACHE Hint 3-93
NO_REWRITE Hint 3-93
NOREWRITE Hint 3-94
NO_STAR_TRANSFORMATION Hint 3-94
NO_UNNEST Hint 3-94
NO_USE_HASH Hint 3-94
NO_USE_MERGE Hint 3-94
NO_USE_NL Hint 3-95
NO_XML_QUERY_REWRITE Hint 3-95
NO_XMLINDEX_REWRITE Hint 3-95
OPT_PARAM Hint 3-95
ORDERED Hint 3-96
PARALLEL Hint 3-96
PARALLEL_INDEX Hint 3-98
PQ_DISTRIBUTE Hint
3-98
PUSH_PRED Hint 3-101
PUSH_SUBQ Hint 3-101
PX_JOIN_FILTER Hint 3-101
QB_NAME Hint 3-101
RESULT_CACHE Hint 3-102
RETRY_ON_ROW_CHANGE Hint 3-102
REWRITE Hint 3-103
STAR_TRANSFORMATION Hint 3-103
viii
UNNEST Hint 3-104
USE_CONCAT Hint 3-104
USE_HASH Hint 3-104
USE_MERGE Hint 3-105
USE_NL Hint 3-105
USE_NL_WITH_INDEX Hint 3-106
Database Objects 3-106
Schema Objects 3-106
Nonschema Objects 3-107
Database Object Names and Qualifiers 3-107
Database Object Naming Rules 3-107
Schema Object Naming Examples 3-111
Schema Object Naming Guidelines 3-111
Syntax for Schema Objects and Parts in SQL Statements 3-111
How Oracle Database Resolves Schema Object References 3-112
References to Objects in Other Schemas 3-113
References to Objects in Remote Databases 3-113
Creating Database Links 3-114
Database Link Names 3-114
Username and Password 3-114
Database Connect String 3-114
References to Database Links 3-115
References to Partitioned Tables and Indexes 3-115
References to Object Type Attributes and Methods 3-117
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
NLS Character Functions 5-5
ix
Character Functions Returning Number Values 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 Function 5-7
Data Mining Functions 5-7
XML Functions 5-8
Encoding and Decoding Functions 5-9
NULL-Related Functions 5-9
Environment and Identifier Functions 5-9
Aggregate Functions 5-9
Analytic Functions 5-11
Object Reference Functions 5-16
Model Functions 5-16
Alphabetical Listing of SQL Functions 5-17
ABS 5-18
ACOS 5-18
ADD_MONTHS 5-19
APPENDCHILDXML 5-19
ASCII 5-20
ASCIISTR 5-21
ASIN 5-21
ATAN 5-22
ATAN2 5-22
AV G 5-23
BFILENAME 5-24
BIN_TO_NUM 5-25
BITAND 5-26
CARDINALITY 5-27
CAST 5-28
CEIL 5-31
CHARTOROWID 5-31
CHR 5-32
CLUSTER_ID 5-33
CLUSTER_PROBABILITY 5-34
CLUSTER_SET 5-36
COALESCE 5-38
COLLECT 5-39
COMPOSE 5-40
CONCAT 5-40
CONVERT 5-41
CORR 5-43
CORR_* 5-44
CORR_S 5-45
CORR_K 5-46
x
COS 5-46
COSH 5-47
COUNT 5-47
COVAR_POP 5-49
COVAR_SAMP 5-50
CUBE_TABLE 5-51
CUME_DIST 5-53
CURRENT_DATE 5-54
CURRENT_TIMESTAMP 5-55
CV 5-56
DATAOBJ_TO_PARTITION 5-57
DBTIMEZONE 5-57
DECODE 5-58
DECOMPOSE 5-59
DELETEXML 5-60
DENSE_RANK 5-61
DEPTH 5-63
DEREF 5-63
DUMP 5-64
EMPTY_BLOB, EMPTY_CLOB 5-65
EXISTSNODE 5-66
EXP 5-67
EXTRACT (datetime) 5-68
EXTRACT (XML) 5-70
EXTRACTVALUE 5-71
FEATURE_ID 5-72
FEATURE_SET
5-73
FEATURE_VALUE 5-75
FIRST 5-77
FIRST_VALUE 5-79
FLOOR 5-80
FROM_TZ 5-81
GREATEST 5-81
GROUP_ID 5-82
GROUPING 5-83
GROUPING_ID 5-84
HEXTORAW 5-85
INITCAP 5-85
INSERTCHILDXML 5-86
INSERTCHILDXMLAFTER 5-87
INSERTCHILDXMLBEFORE 5-88
INSERTXMLAFTER 5-89
INSERTXMLBEFORE 5-90
INSTR 5-91
ITERATION_NUMBER 5-92
LAG 5-94
LAST 5-95
[...]... "Database Language SQL" , Parts 1 ( "SQL/ Framework"), 2 ( "SQL/ Foundation"), 3 ( "SQL/ CLI"), 4 ( "SQL/ PSM"), 9 Introduction to Oracle SQL 1-1 SQL Standards ( "SQL/ MED"), 10 ( "SQL/ OLB"), 11( "SQL/ Schemata"), 13 ( "SQL/ JRT"), and ANSI/ISO/IEC 9075-14:2008, "Database Language SQL" , Part 14 ( "SQL/ XML") ■ ISO/IEC 9075:2008, "Database Language SQL" , Parts 1 ( "SQL/ Framework"), 2 ( "SQL/ Foundation"), 3 ( "SQL/ CLI"), 4 ( "SQL/ PSM"),... primarily of PL /SQL were moved to Oracle Database PL /SQL Language Reference in Oracle Database 11g Release 1 Please refer to "Structural Changes in the SQL Language Reference" on page xxv for details on this migration of material New Features in the SQL Language Reference The following top-level SQL statements are new or enhanced in this release: ■ ■ A new top-level SQL statement ALTER DATABASE LINK... cycles in the recursion Oracle Database 11g Release 1 New Features in the SQL Language Reference Structural Changes in the SQL Language Reference A number of SQL statements are constructed almost entirely of PL /SQL elements Those statements continue to appear in this reference, but the bulk of their syntax and semantics has been moved to Oracle Database PL /SQL Language Reference The following table... ( "SQL/ PSM"), 9 ( "SQL/ MED"), 10 ( "SQL/ OLB"), 11( "SQL/ Schemata"), 13 ( "SQL/ JRT"), and ISO/IEC 9075-14:2008, "Database Language SQL" , Part 14 ( "SQL/ XML") See Also: Appendix C, "Oracle and Standard SQL" for a detailed description of Oracle Database conformance to the SQL: 2008 standards How SQL Works The strengths of SQL provide benefits for all types of users, including application programmers, database administrators,... What's New in the SQL Language Reference? This section describes new features of Oracle Database 11g and provides pointers to additional information For information on features that were new in earlier versions of Oracle Database, refer to the documentation for the earlier release Oracle Database 11g Release 2 New Features in the SQL Language Reference Structural Changes in the SQL Language Reference A number... Controlling access to the database and its objects ■ Guaranteeing database consistency and integrity SQL unifies all of the preceding tasks in one consistent language Common Language for All Relational Databases All major relational database management systems support SQL, so you can transfer all skills you have gained with SQL from one database to another In addition, all programs written in SQL are portable... administrators, managers, and end users Technically speaking, SQL is a data sublanguage The purpose of SQL is to provide an interface to a relational database such as Oracle Database, and all SQL statements are instructions to the database In this SQL differs from general-purpose programming languages like C and BASIC Among the features of SQL are the following: ■ It processes sets of data as groups... Documents For more information, see these Oracle resources: ■ ■ Oracle Database PL /SQL Language Reference for information on PL /SQL, the procedural language extension to Oracle SQL Pro*C/C++ Programmer's Guide, Oracle SQL* Module for Ada Programmer's Guide, and the Pro*COBOL Programmer's Guide for detailed descriptions of Oracle embedded SQL Many of the examples in this book use the sample schemas, which... to Oracle SQL Structured Query Language (SQL) is the set of statements with which all programs and users access data in an Oracle Database Application programs and Oracle tools often allow users access to the database without using SQL directly, but these applications in turn must use SQL when executing the user's request This chapter provides background information on SQL as used by most database systems... Oracle tools also support all features of Oracle SQL This reference describes the complete functionality of SQL If the Oracle tool that you are using does not support this complete functionality, then you can find a discussion of the restrictions in the manual describing the tool, such as SQL* Plus User's Guide and Reference 1-4 Oracle Database SQL Language Reference 2 2 Pseudocolumns A pseudocolumn behaves .
Oracle® Database
SQL Language Reference
11g Release 2 (11.2)
E10592-02
August 2009
Oracle Database SQL Language Reference, 11g Release. 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
Ngày đăng: 07/03/2014, 23:20
Xem thêm: Oracle® Database SQL Language Reference pptx