Chapter 7 Subqueries

Preview:

DESCRIPTION

Chapter 7 Subqueries. Subquery. Used when query is based on unknown value A query nested inside another query Requires SELECT and FROM clauses Must be enclosed in parentheses Place on right side of comparison operator. Types of Subqueries. Single-Row Subquery Operators. - PowerPoint PPT Presentation

Citation preview

Chapter 7SubqueriesChapter 7

Subqueries

SubquerySubquery

Used when query is based on unknown value

A query nested inside another query Requires SELECT and FROM clauses Must be enclosed in parentheses Place on right side of comparison

operator

Used when query is based on unknown value

A query nested inside another query Requires SELECT and FROM clauses Must be enclosed in parentheses Place on right side of comparison

operator

Types of SubqueriesTypes of Subqueries

Single-Row Subquery OperatorsSingle-Row Subquery Operators

Can only return one result to outer query

Operators include =, >, <, >=, <=, < >

Can only return one result to outer query

Operators include =, >, <, >=, <=, < >

Single-Row Subquery – In WHERE ClauseSingle-Row Subquery – In WHERE Clause

Used for comparison against individual dataUsed for comparison against individual data

Single-Row Subquery – In SELECT ClauseSingle-Row Subquery – In SELECT Clause

Replicates subquery value for each row displayedReplicates subquery value for each row displayed

Multiple-Row SubqueriesMultiple-Row Subqueries

Return more than one row of results Require use of IN, ANY, ALL, or

EXISTS operators

Return more than one row of results Require use of IN, ANY, ALL, or

EXISTS operators

ANY and ALL OperatorsANY and ALL Operators

Combine with arithmetic operatorsCombine with arithmetic operators

EXISTS OperatorEXISTS Operator

Determines whether condition exists in subqueryDetermines whether condition exists in subquery

Multiple-Column SubqueryMultiple-Column Subquery

Returns more than one column in results

Can return more than one row Column list on left side of operator must

be in parentheses Uses IN operator for WHERE and

HAVING clauses

Returns more than one column in results

Can return more than one row Column list on left side of operator must

be in parentheses Uses IN operator for WHERE and

HAVING clauses

Uncorrelated SubqueriesUncorrelated Subqueries

Processing sequence:– Inner query executed first– Result passed to outer query– Outer query executed

Processing sequence:– Inner query executed first– Result passed to outer query– Outer query executed

Correlated SubqueriesCorrelated Subqueries

Inner query executed once for each row processed by outer query

Inner query references row contained in outer query

Inner query executed once for each row processed by outer query

Inner query references row contained in outer query

Nested SubqueriesNested Subqueries

Maximum 255 subqueries if nested in WHERE clause

No limit if nested in FROM clause Innermost subquery resolved first, then

next level, etc.

Maximum 255 subqueries if nested in WHERE clause

No limit if nested in FROM clause Innermost subquery resolved first, then

next level, etc.

Nested Subquery ExampleNested Subquery Example

Innermost resolved first (3), then second level (2), then outer query (1)Innermost resolved first (3), then second level (2), then outer query (1)

Recommended