474
Chapter 22: Using Query of Queries
When working with a query resulting from a SQL join, Query of Queries performs as follows:
•
Query of Queries is very efficient for simple joins in which there is only one equality between
two column references; for example:
SELECT T1.a, b, c, d FROM T1, T2 WHERE T1.a = T2.a
•
Query of Queries is less efficient for joins in which the predicate contains multiple expressions;
for example:
SELECT T1.a, b, c, d FROM T1, T2
WHERE T1.a = T2.a AND T1.b + T1.c = T2.b + T2.c
BNF for Query of Queries
The Backus Naur Form (BNF) is a formal notation to describe programming syntax. The
following is the BNF for Query of Queries:
Input ::= select_statement
select_statement ::= select_expression ( <ORDER> <BY> order_by_list )?
select_expression ::= ( <OPENPAREN> select_expression <CLOSEPAREN> |
select_specification ) ( <UNION> ( <ALL> )? select_expression )?
select_specification ::= <SELECT> ( <ALL> | <DISTINCT> )? select_list <FROM>
from_table_list ( <WHERE> cond_exp )? ( <GROUP> <BY> group_by_list )?
( <HAVING> cond_exp )?
order_by_list ::= order_by_column ( <COMMA> order_by_column )*
order_by_column ::= ( <IDENTIFIER> | <INTEGER_LITERAL> ) ( <ASC> | <DESC> )?
group_by_list ::= column_ref ( <COMMA> column_ref )*
from_table_list ::= <IDENTIFIER> ( <COMMA> <IDENTIFIER> )*
select_list ::= select_column ( <COMMA> select_column )*
select_column ::= <ASTERISK>
| <IDENTIFIER> <DOT> ( <ASTERISK> | <IDENTIFIER> ( alias )? )
| expression ( alias )?
alias ::= ( <AS> )? <IDENTIFIER>
cond_exp ::= cond_term ( <OR> cond_exp )?
cond_term ::= cond_factor ( <AND> cond_term )?
cond_factor ::= ( <NOT> )? cond_test
cond_test ::= cond_primary ( <IS> ( <NOT> )? ( <TRUE> | <FALSE> | <UNKNOWN> )
)?
cond_primary ::= simple_cond
| <OPENPAREN> cond_exp <CLOSEPAREN>
simple_cond ::= like_cond
| null_cond
| between_cond
| in_cond
| comparison_cond
Содержание ColdFusion MX
Страница 1: ...Developing ColdFusion MX Applications...
Страница 22: ...22 Contents...
Страница 38: ......
Страница 52: ...52 Chapter 2 Elements of CFML...
Страница 162: ......
Страница 218: ...218 Chapter 10 Writing and Calling User Defined Functions...
Страница 250: ...250 Chapter 11 Building and Using ColdFusion Components...
Страница 264: ...264 Chapter 12 Building Custom CFXAPI Tags...
Страница 266: ......
Страница 314: ...314 Chapter 14 Handling Errors...
Страница 344: ...344 Chapter 15 Using Persistent Data and Locking...
Страница 349: ...About user security 349...
Страница 357: ...Security scenarios 357...
Страница 370: ...370 Chapter 16 Securing Applications...
Страница 388: ...388 Chapter 17 Developing Globalized Applications...
Страница 408: ...408 Chapter 18 Debugging and Troubleshooting Applications...
Страница 410: ......
Страница 426: ...426 Chapter 19 Introduction to Databases and SQL...
Страница 476: ...476 Chapter 22 Using Query of Queries...
Страница 534: ...534 Chapter 24 Building a Search Interface...
Страница 556: ...556 Chapter 25 Using Verity Search Expressions...
Страница 558: ......
Страница 582: ...582 Chapter 26 Retrieving and Formatting Data...
Страница 668: ......
Страница 734: ...734 Chapter 32 Using Web Services...
Страница 760: ...760 Chapter 33 Integrating J2EE and Java Elements in CFML Applications...
Страница 786: ...786 Chapter 34 Integrating COM and CORBA Objects in CFML Applications...
Страница 788: ......
Страница 806: ...806 Chapter 35 Sending and Receiving E Mail...