Index

A note on the digital index

A link in an index entry is displayed as the section title in which that entry appears. Because some sections have multiple index markers, it is not unusual for an entry to have several links to the same section. Clicking on any link will take you directly to the place in the text in which the marker appears.

Symbols

! (exclamation mark), != (not equal to) operator, Inequality conditions
% (percent sign), wildcard character in partial string matches, Using wildcards
' ' (quotes, single)
in strings, Including single quotes
surrounding strings, String Generation
' (apostrophe) in strings, Including single quotes
( ) (parentheses)
enclosing subqueries, What Is a Subquery?
ordering query combinations in compound queries, Set Operation Precedence
using with filter conditions, Using Parentheses
< (less than) operator
scalar subqueries and, Noncorrelated Subqueries
using with all operator, The all operator
<= (less than or equal to) operator, Noncorrelated Subqueries
<> (not equal to) operator
in inequality conditions, Inequality conditions
scalar subqueries and, Noncorrelated Subqueries
using with all operator, The all operator
= (equals sign)
= null, filtering for null values, Null: That Four-Letter Word
equal to operator
scalar subqueries and, Noncorrelated Subqueries
using with all operator, The all operator
using with any operator, The any operator
in equality conditions, Equality Conditions
> (greater than) operator
scalar subqueries and, Noncorrelated Subqueries
using with all operator, The all operator
>= (greater than or equal to) operator, Noncorrelated Subqueries
\ (backslash), escaping special characters in strings, Including single quotes
_ (underscore), wildcard character in partial string matches, Using wildcards

A

abs( ) function, Handling Signed Data
aggregate functions, Grouping Concepts, Aggregate FunctionsHow Nulls Are Handled
count( ) function, Counting Distinct Values
exercises with, Test Your Knowledge
handling null values, How Nulls Are Handled
in having clause, Group Filter Conditions
implicit versus explicit groups, Implicit Versus Explicit Groups
listing of common functions, Aggregate Functions
using expressions as arguments, Using Expressions
where clause and, Group Filter Conditions
aggregation
selective aggregation using case expressions, Selective Aggregation
using views for data aggregation, Data Aggregation
all operator, The all operator
<> all comparisons, null values and, The all operator
alter table statements
adding or removing constraints, Constraint Creation
adding or removing indexes, Index Creation
changing storage engine, Transaction Savepoints
modifying definition of existing table, Generating numeric key data
and operator
condition evaluation with, Condition Evaluation
three-condition evaluation using and, or, Using Parentheses
three-condition evaluation using and, or, and not, Using the not Operator
using in select statement where clause, The where Clause
ANSI mode, String Generation
ANSI SQL standard, join syntax, The ANSI Join Syntax
any operator, The any operator
arithmetic functions, Performing Arithmetic Functions
arithmetic operators in filter conditions, Building a Condition
as keyword
using with column aliases, Column Aliases
using with table aliases, Defining Table Aliases
asc and desc keywords, Ascending Versus Descending Sort Order
ASCII character set, Including special characters
ascii( ) function, Including special characters
atomicity, What Is a Transaction?
auto-commit mode, Starting a Transaction
auto-increment feature in MySQL, Generating numeric key data
avg( ) function, Aggregate Functions

B

B-tree (balanced-tree) indexes, B-tree indexes
begin transaction command, Starting a Transaction
between operator, The between operator
bitmap indexes, Bitmap indexes
branch nodes (B-tree indexes), B-tree indexes

C

C language, SQL integration toolkits, SQL: A Nonprocedural Language
C#, SQL integration toolkit, SQL: A Nonprocedural Language
C++, SQL integration toolkits, SQL: A Nonprocedural Language
Cartesian products, Cartesian Product, Cross JoinsCross Joins
cascading deletes, Cascading Constraints
cascading updates, Cascading Constraints
case expressions, What Is Conditional Logic?
examples, Case Expression ExamplesHandling Null Values
checking for existence, Checking for Existence
conditional updates, Conditional Updates
division-by-zero errors, Division-by-Zero Errors
handling null values, Handling Null Values
result set transformations, Result Set Transformations
selective aggregation, Selective Aggregation
searched, Searched Case Expressions
simple, Simple Case Expressions
cast( ) function, Conversion Functions
converting strings to temporal data types, String-to-date conversions
ceil( ) function, Controlling Number Precision
char type, Character Data, Working with String Data
char( ) function, Including special characters
generating strings, Including special characters
character data types, Working with String Data
character data, MySQL database, Character Data
character sets
ASCII, Including special characters
latin1, Including special characters
sorting order or collation, String ranges
check constraints, Constraints
clauses
referencing multiple tables joined in a query, Defining Table Aliases
select statement, Query Clauses
select clause, The select Clause
select, from, and where, SQL Examples
subqueries in, Noncorrelated Subqueries
CLOB (Character Large Object) type, Working with String Data
code examples from this book, Using Code Examples
collation, String ranges
column aliases, Column Aliases
columns, The Relational Model
defined, Some Terminology
incorrect values for, Column Value Violations
multicolumn grouping, Multicolumn Grouping
query returning number of, Deployment Verification
single-column grouping, Single-Column Grouping
viewing for a table with describe command, The Bank Schema
columns view, Information_Schema
comments, SQL Examples
commit command, What Is a Transaction?
ending transactions, Ending a Transaction
issuing for savepoints, Transaction Savepoints
commits, auto-commit mode, Starting a Transaction
comparison operators
in filter conditions, Building a Condition
using scalar subqueries with, Noncorrelated Subqueries
using with all operator, The all operator
using with any operator, The any operator
complexity, hiding with use of views, Hiding Complexity
compound key, The Relational Model
compound queries, Set Theory in Practice
concat( ) function, Including special characters
appending characters to strings, String functions that return strings
building strings from individual pieces of data, String functions that return strings
conditional logic, Conditional LogicExercise 11-2
case expressions, What Is Conditional Logic?
examples, Case Expression ExamplesHandling Null Values
searched, Searched Case Expressions
simple, Simple Case Expressions
defined, What Is Conditional Logic?
exercises in, Test Your Knowledge
conditions, filter (see filter conditions; filtering)
constraints, ConstraintsExercise 13-2
cascading, Cascading ConstraintsCascading Constraints
creating, Constraint Creation
exercises, Test Your Knowledge
getting information about primary key constraints, Schema Generation Scripts
getting information about using information_schema, Information_Schema
indexes and, Constraints and Indexes
query returning number of primary key constraints, Deployment Verification
containing statement, What Is a Subquery?
conversions
functions for, Conversion Functions
invalid date conversions causing statement errors, Invalid Date Conversions
string-to-date, String-to-date conversions
convert_tz( ) function, Temporal functions that return dates
Coordinated Universal Time (UTC), Dealing with Time Zones
correlated subqueries, Subquery Types, Correlated Subqueries
in case expressions checking existence, Checking for Existence
scalar subqueries example, Subqueries As Expression Generators
summing transactions for an account, Selective Aggregation
using exists operator, The exists Operator
using for data manipulation, Data Manipulation Using Correlated Subqueries
using with not exists operator, The exists Operator
count( ) function, Grouping Concepts, Aggregate Functions
counting banking transactions for a day (example), Cross Joins
counting distinct values, Counting Distinct Values
create index command, Index Creation
create table statements
building for MySQL table creation, Step 3: Building SQL Schema Statements
checking for well-formed, Schema Generation Scripts
creating constraints, Constraint Creation
index generated by, Index Creation
query generating, using information_schema, Schema Generation Scripts
create view statements, What Are Views?
cross joins, Cartesian Product, Cross JoinsCross Joins
cube operations in grouping, Generating Rollups
current date or time, generating from strings, Functions for generating dates

D

data dictionary, SQL Statement Classes, Data About Data
data statements, Why Use This Book to Do It?, SQL Statement Classes
errors in table data insertion and modification, When Good Statements Go Bad
data types, character, Working with String Data
data types, MySQL, MySQL Data Types
character data, Character Data
character sets, Character sets
text types, Text data
numeric data, Numeric Data, Numeric Data
floating-point types, Numeric Data
integer types, Numeric Data
temporal types, Temporal Data
database connections, Query Mechanics
database systems, Introduction to Databases
databases, A Little BackgroundSome Terminology
constraints, ConstraintsExercise 13-2
creating MySQL database, Creating a MySQL Database
defined, Introduction to Databases
indexes, Indexes and ConstraintsThe Downside of Indexes
multiuser, Multiuser Databases
locking, Locking
nonrelational, Nonrelational Database Systems
optimizer, SQL: A Nonprocedural Language
relational model, The Relational Model
specifying database for mysql tool, Using the mysql Command-Line Tool
SQL92 join syntax, The ANSI Join Syntax
terms and definitions, Some Terminology
time zones and, Dealing with Time Zones
tools for SQL commands, SQL: A Nonprocedural Language
date type, Temporal Data
datediff( ) function, Temporal functions that return numbers
dates and times
date format components, MySQL temporal types, Temporal Data
functions generating dates from strings, Functions for generating dates
invalid date conversions, Invalid Date Conversions
MySQL temporal types, Temporal Data
string-to-date conversions, String-to-date conversions
temporal functions returning dates, Temporal functions that return dates
time zones, Dealing with Time Zones
datetime type, Temporal Data, Temporal Data
strings representing datetime values, String representations of temporal data
date_add( ) function, Temporal functions that return dates, Cross Joins
dayname( ) function, Temporal functions that return strings
DB2 Universal Database, What Is MySQL?
deadlocks, Ending a Transaction
deallocate statements, Dynamic SQL Generation
delete statements
deleting data from MySQL table, Deleting Data
using correlated subqueries, Data Manipulation Using Correlated Subqueries
deletes, cascading, Cascading Constraints
deployment verification for schema objects, Deployment Verification
desc and asc keywords, Ascending Versus Descending Sort Order
describe (desc) command, Step 3: Building SQL Schema Statements
columns in table, describing, The Bank Schema
examining views, What Are Views?
distinct keyword, Removing Duplicates, The in and not in operators
division-by-zero errors, Division-by-Zero Errors
driving table, Joining Three or More Tables
duplicates
excluding using union operator, The union Operator
removal by except and except all operators, The except Operator
removal by intersect operator, The intersect Operator
removing from query returns, Removing Duplicates
union all operator and, The union Operator
durability, What Is a Transaction?
dynamic SQL execution, Dynamic SQL Generation

E

Eastern Standard Time, Dealing with Time Zones
entities, The Relational Model
defined, Some Terminology
enum data type, MySQL, Step 3: Building SQL Schema Statements
equality conditions, Equality Conditions
case expressions and, Simple Case Expressions
correlated subqueries in, Correlated Subqueries
data modification using, Data modification using equality conditions
error from subquery returning more than one row, Noncorrelated Subqueries
subquery in, What Is a Subquery?
equi-joins, Equi-Joins Versus Non-Equi-Joins
escaping single quotes in strings, Including single quotes
except all operator, The except Operator
except operation (sets), Set Theory Primer
except operator, The except Operator
execute statements, Dynamic SQL Generation
existence, checking for, Checking for Existence
exists operator, The exists Operator
explicit groups, Implicit Versus Explicit Groups
expressions, What Is Conditional Logic?
(see also case expressions)
in filter conditions, Building a Condition
generating with subqueries, Subqueries As Expression Generators
grouping via, Grouping via Expressions
included in select clause (example), The select Clause
sorting data in select statement order by clause, Sorting via Expressions
using as arguments for aggregate functions, Using Expressions
extract( ) function, Temporal functions that return strings
returning only year portion of a date, Grouping via Expressions

F

Falcon storage engine, Transaction Savepoints
filter conditions
ANSI join syntax and, The ANSI Join Syntax
group, Grouping Concepts, Group Filter Conditions
join conditions versus, Join Conditions Versus Filter Conditions
in select statement where clause, The where Clause
subqueries in, Subqueries in Filter Conditions
in where clauses, Filtering
filtering, FilteringExercise 4-4
building conditions, Building a Condition
condition types, Condition Types
equality conditions, Equality Conditions
inequality conditions, Inequality conditions
matching conditions, Matching Conditions
membership conditions, Membership Conditions
modifying data with equality conditions, Data modification using equality conditions
range conditions, Range Conditions
evaluation of conditions, Condition Evaluation
using not operator, Using the not Operator
using parentheses, Using Parentheses
exercises, Test Your Knowledge
null values, Null: That Four-Letter Word
floating-point numbers, controlling precision of, Controlling Number Precision
floating-point types, MySQL, Numeric Data
floor( ) function, Controlling Number Precision
foreign key constraints, Constraints
cascading, Cascading ConstraintsCascading Constraints
foreign keys, The Relational Model
defined, Some Terminology
nonexistent key causing statement errors, Nonexistent Foreign Key
self-referencing, Self-Joins
using in joins, What Is a Join?
from clauses, SQL Examples
join order and, Joining Three or More Tables
joining three or more tables, Joining Three or More Tables
joining two tables using inner join, Inner Joins
missing, Using the mysql Command-Line Tool
on subclause, Inner Joins
ANSI join syntax in, The ANSI Join Syntax
in select statement, The from ClauseDefining Table Aliases
in select statements
table aliases, Defining Table Aliases
table links, Table Links
tables defined by, Tables
select statements for updatable views, Updatable Views
subqueries in, Subqueries As Data Sources, Subqueries As Data Sources
using in joins, Cartesian Product
using subclause, Inner Joins
using with select clause in select statement, The select Clause
full-text indexes, Text indexes
functions
advantages of case expressions over for conditional logic, The Case Expression
aggregate, Aggregate FunctionsHow Nulls Are Handled
built-in function in select clause (example), The select Clause
conversion, Conversion Functions
generating dates from strings, Functions for generating dates
numeric
controlling number precision, Controlling Number Precision
handling signed data, Handling Signed Data
single-argument, Performing Arithmetic Functions
string functions returning numbers, String functions that return numbers
string functions returning strings, String functions that return stringsString functions that return strings
temporal functions returning dates, Temporal functions that return dates
temporal functions returning numbers, Temporal functions that return numbers
temporal functions returning strings, Temporal functions that return strings

G

GMT (Greenwich Mean Time), Dealing with Time Zones
group by clauses, Grouping Concepts
explicit groups in, Implicit Versus Explicit Groups
in select statements, The group by and having Clauses
where clause and, Grouping Concepts
grouping, Grouping and AggregatesGrouping Concepts, Generating GroupsGenerating Rollups
exercises in, Test Your Knowledge
generating rollups, Generating Rollups, Data fabrication
group filter conditions, Group Filter Conditions
implicit versus explicit groups, Implicit Versus Explicit Groups
multicolumn groups, Multicolumn Grouping
single-column groups, Single-Column Grouping
using expressions, Grouping via Expressions
using subqueries, Data fabrication, Task-oriented subqueries
with cube option, Generating Rollups

H

having clauses
aggregate functions in, Group Filter Conditions
group filter conditions in, Grouping Concepts, Group Filter Conditions
in select statements, The group by and having Clauses
subqueries in filter conditions, Subqueries in Filter Conditions
hierarchical database systems, Nonrelational Database Systems
high-cardinality data, Bitmap indexes

I

if-then-else statements, The Case Expression
implicit groups, Implicit Versus Explicit Groups
in operator, Membership Conditions
searching for value within set of values, The in and not in operators
using with subquery, The in and not in operators
indexes, Indexes and ConstraintsThe Downside of Indexes
B-tree (balanced-tree), B-tree indexes
bitmap, Bitmap indexes
constraints and, Constraints and Indexes
creating, Index Creation
exercises, Test Your Knowledge
multicolumn, Multicolumn indexes
overhead of, strategy for minimizing, The Downside of Indexes
query returning number of, Deployment Verification
removing via alter table command, Index Creation
retrieving information about using information_schema, Information_Schema
text, Text indexes
unique, Unique indexes
uses of, How Indexes Are Used
viewing for a table, Index Creation
inequality conditions, Inequality conditions
scalar subquery in, Noncorrelated Subqueries
information_schema objects, Information_SchemaInformation_Schema
columns view, Dynamic SQL Generation
information about constraints, Information_Schema
information about table indexes, Information_Schema
views available in MySQL 6.0, Information_Schema
views in, Information_Schema
inner joins, Inner Joins
exercises in, Test Your Knowledge
INNER keyword, Inner Joins
InnoDB storage engine, Transaction Savepoints
insert statements, Inserting Data, The insert statementThe insert statement
errors from nonexistent foreign key, Nonexistent Foreign Key
errors from nonunique primary key, Nonunique Primary Key
example, SQL Examples
important considerations, The insert statement
inserting data through views, Updating Complex Views
noncorrelated scalar subqueries generating values for, Subqueries As Expression Generators
insert( ) function, String functions that return strings
integer types, MySQL, Numeric Data
integration toolkits for SQL, SQL: A Nonprocedural Language
intermediate result sets, Joining Three or More Tables
intersect all operator, The intersect Operator
intersect operator, The intersect Operator
precedence of, Set Operation Precedence
intersection operation (sets), Set Theory Primer
intervals
adding to dates, Temporal functions that return dates
common interval types, Temporal functions that return dates
determing number between two dates, Temporal functions that return numbers
using with extract( ) function, Temporal functions that return strings
is not null operator, Null: That Four-Letter Word
is null operator, Null: That Four-Letter Word

J

Java
SQL integration toolkits, SQL: A Nonprocedural Language
SQL statements and, Dynamic SQL Generation
join conditions
ANSI join syntax and, The ANSI Join Syntax
filter conditions versus, Join Conditions Versus Filter Conditions
join keyword, Cartesian Product
joins, Querying Multiple Tables, Joins RevisitedExercise 10-4 (Extra Credit)
ANSI syntax for, The ANSI Join Syntax
cross joins, Cartesian Product, Cross JoinsCross Joins
defined, What Is a Join?
equi- versus non-equi-joins, Equi-Joins Versus Non-Equi-JoinsEqui-Joins Versus Non-Equi-Joins
exercises, Test Your Knowledge
exercises in, Test Your Knowledge
inner joins, Inner Joins
join versus filter conditions, Join Conditions Versus Filter Conditions
joining three or more tables, Joining Three or More TablesUsing the Same Table Twice
order of joins, Joining Three or More Tables
specifying join order, Joining Three or More Tables
using same table twice, Using the Same Table Twice
using subqueries as tables, Using Subqueries As Tables
joining views to other tables or views, What Are Views?
natural joins, Natural Joins
outer joins, Outer JoinsSelf Outer Joins
left versus right, Left Versus Right Outer Joins
self, Self Outer Joins
three-way, Three-Way Outer Joins
self-joins, Self-Joins
specifying type of join, Inner Joins

L

last_day( ) function, Temporal functions that return dates
latin1 character set, Character sets
leaf nodes (B-tree indexes), B-tree indexes
left outer joins, Left Versus Right Outer Joins
left( ) function, Matching Conditions
length( ) function, String functions that return numbers
like operator, Using wildcards
comparing strings, String functions that return numbers
regular expressions and, Using regular expressions
limit clauses, Ascending Versus Descending Sort Order
links, table, Table Links
locate( ) function, String functions that return numbers
locking, Locking
granularities of locks, Lock Granularities
storage engines and, Transaction Savepoints
low-cardinality data, Bitmap indexes

M

matching conditions, Matching Conditions
using multiple search expressions, Using wildcards
using regular expressions, Using regular expressions
using wildcards, Using wildcards
example search expressions, Using wildcards
max( ) function, Aggregate Functions
membership conditions, Membership Conditions
generating using subqueries, Using subqueries
using not in operator, Using not in
metadata, SQL Statement Classes, MetadataExercise 15-2
exercises in, Test Your Knowledge
information included in, Data About Data
information_schema objects, Information_SchemaInformation_Schema
publishing by database servers, Data About Data
using in deployment verification, Deployment Verification
using in dynamic SQL generation, Dynamic SQL GenerationExercise 15-2
using in schema generation scripts, Working with MetadataSchema Generation Scripts
min( ) function, Aggregate Functions
mod( ) function, Performing Arithmetic Functions
mode, checking and changing for MySQL, String Generation
modulo operator, Performing Arithmetic Functions
multibyte character sets, Character sets
multiparent hierarchy, Nonrelational Database Systems
MySQL, Why Use This Book to Do It?
bank schema (example), The Bank SchemaThe Bank Schema
constraint generation, indexes and, Constraints and Indexes
creating a sample database, Creating a MySQL Database
data types, MySQL Data Types
character, Character Data
numeric, Numeric Data
downloading and installing MySQL 6.0 server, Creating a MySQL Database
dynamic SQL execution, Dynamic SQL Generation
except operator and, The except Operator
grouping, with cube option not supported, Generating Rollups
if( ) function, The Case Expression
indexes, Index Creation
information_schema database, Data About Data
intersect operator and, The intersect Operator
loading time zone data, String representations of temporal data
locking, Locking
mysql command-line tool, SQL: A Nonprocedural Language
overview of, What Is MySQL?
populating and modifying tables, Populating and Modifying TablesDeleting Data
deleting data, Deleting Data
inserting data, Inserting DataUpdating Data
updating data, Updating Data
set operation precedence, Set Operation Precedence
specifying join order, Joining Three or More Tables
storage engines, Transaction Savepoints
table creation, Table CreationStep 3: Building SQL Schema Statements
building SQL schema statements, Step 3: Building SQL Schema Statements
time zone settings, Dealing with Time Zones
transactions
disabling auto-commit mode, Starting a Transaction
error message for deadlock, Ending a Transaction
starting, Starting a Transaction
updatable views, Updatable Views
mysql command-line tool
--xml option, The insert statement
result sets returned by, Query Mechanics
running create table statement, Step 3: Building SQL Schema Statements
using, Using the mysql Command-Line Tool

N

natural joins, Natural Joins
natural key, The Relational Model
network database systems, Nonrelational Database Systems
non-equi-joins, Equi-Joins Versus Non-Equi-Joins
noncorrelated subqueries, Subquery TypesMulticolumn Subqueries
multiple-column, Multicolumn Subqueries
multiple-row, single-column, Multiple-Row, Single-Column SubqueriesThe any operator
using all operator, The all operator
using any operator, The any operator
nonprocedural languages, SQL: A Nonprocedural Language
normalization
defined, The Relational Model
table design in MySQL and, Step 2: Refinement
not exists operator, The exists Operator, Data Manipulation Using Correlated Subqueries
not in operator, Using not in
<> all versus, The all operator
using in subquery, The in and not in operators
not operator, using with filter conditions, Using the not Operator
null values, Step 3: Building SQL Schema Statements
comparisons with not in and <> all operators, The all operator
filtering, Null: That Four-Letter Word
handling using case expressions, Handling Null Values
handling when performing aggregations, How Nulls Are Handled
subqueries generating data for columns allowing null values, Subqueries As Expression Generators
numeric data, Working with Numeric DataHandling Signed Data
controlling number precision, Controlling Number Precision
converting strings to, using cast( ) function, Conversion Functions
performing arithmetic functions, Performing Arithmetic Functions
signed data, Handling Signed Data
numeric data types, MySQL, Numeric Data
conditions specifying ranges of numbers, The between operator
floating-point types, Numeric Data
integer types, Numeric Data

O

on subclause of from clause, Inner Joins
ANSI join syntax in, The ANSI Join Syntax
joining three or more tables, Joining Three or More Tables
open source database servers, What Is MySQL?
operators, Condition Evaluation
(see also names of individual operators)
and, or operators in filter conditions, Condition Evaluation
in filter conditions, Building a Condition
optimizers, SQL: A Nonprocedural Language
or operator
in filter conditions, Condition Evaluation
three-condition evaluation using and, or, Using Parentheses
three-condition evaluation using and, or, and not, Using the not Operator
two-condition evaluation using, Condition Evaluation
using in select statement where clause, The where Clause
Oracle Database, What Is MySQL?
bitmap indexes, Bitmap indexes
chr( ) function, Including special characters
concatenation operator (||), Including special characters, String functions that return strings
constraint generation, indexes and, Constraints and Indexes
decode( ) function, The Case Expression
drop index command, Index Creation
dynamic SQL execution, Dynamic SQL Generation
from clauses and, Using the mysql Command-Line Tool
generating current date or time from strings, Functions for generating dates
grouping, with cube option, Generating Rollups
inserting and updating data through views, Updating Complex Views
instr( ) function, String functions that return numbers
locking, Locking
metadata, Data About Data
minus operator, The except Operator
mod( ) function, Performing Arithmetic Functions
new_time( ) function, Temporal functions that return dates
power( ) function, Performing Arithmetic Functions
replace( ) function, String functions that return strings
rollups, Generating Rollups
sequences, Generating numeric key data
specifying join order, Joining Three or More Tables
starting transactions, Starting a Transaction
substr( ) function, String functions that return strings
subtracting dates, Temporal functions that return numbers
text indexes and search tools, Text indexes
time zone settings, Dealing with Time Zones
to_date( ) function, Functions for generating dates
Oracle PL/SQL language, Dynamic SQL Generation
order by clauses, The insert statement
in select statements, The order by ClauseSorting via Numeric Placeholders
ascending and descending sort order, Ascending Versus Descending Sort Order
sorting via expressions, Sorting via Expressions
sorting via numeric placeholders, Sorting via Numeric Placeholders
sorting compound query results, Sorting Compound Query Results
outer joins, Outer JoinsSelf Outer Joins
left versus right, Left Versus Right Outer Joins
self, Self Outer Joins
three-way, Three-Way Outer Joins
using subqueries instead of, Searched Case Expressions

P

page locks, Lock Granularities
Perl, SQL integration toolkit, SQL: A Nonprocedural Language
PL/SQL language, Dynamic SQL Generation
position( ) function, String functions that return numbers
PostgreSQL, What Is MySQL?
pow( ) or power( ) function, Performing Arithmetic Functions
precedence of set operations, Set Operation Precedence
prepare statements, Dynamic SQL Generation
primary key constraints, Constraints
getting information about, Schema Generation Scripts
query returning number of, Deployment Verification
primary keys, The Relational Model
defined, Some Terminology
generating numeric values for, Generating numeric key data
nonunique key values causing SQL statement errors, Nonunique Primary Key
procedural languages, SQL: A Nonprocedural Language
programming languages, Preface
integrating SQL with, SQL: A Nonprocedural Language
nonprocedural, SQL: A Nonprocedural Language
Python, SQL integration toolkit, SQL: A Nonprocedural Language

Q

queries, Query Primer
(see also select statements)
tuning, How Indexes Are Used
query optimizers, Query Mechanics
quote( ) function, Including single quotes

R

range conditions, Range Conditions
correlated subqueries in, Correlated Subqueries
string ranges, String ranges
using between operator, The between operator
read locks, Locking
regexp operator, Using regular expressions
using in string comparisons, String functions that return numbers
regular expressions, String functions that return numbers
(see also regexp operator)
using to build search expressions, Using regular expressions
relational databases
mature, popular commercial products, What Is MySQL?
relational model, The Relational Model
replace( ) function, String functions that return strings
result sets
defined, Some Terminology
intermediate, Joining Three or More Tables
returned by mysql tool (example), Query Mechanics
returned by subqueries, What Is a Subquery?
transformations performed with case expressions, Result Set Transformations
right outer joins, Left Versus Right Outer Joins
rollback command, What Is a Transaction?
ending transactions, Ending a Transaction
issued against unnamed savepoint, Transaction Savepoints
rolling back savepoints, Transaction Savepoints
rollups, Generating Rollups
generating with subquery, Data fabrication
round( ) function, Controlling Number Precision
row locks, Lock Granularities
rows, The Relational Model
defined, Some Terminology

S

savepoints in transactions, Transaction Savepoints
creating, Transaction Savepoints
example of use, Transaction Savepoints
rolling back, Transaction Savepoints
scalar subqueries, Noncorrelated Subqueries
correlated, Subqueries As Expression Generators
noncorrelated, generating values for insert statement, Subqueries As Expression Generators
schema statements, Why Use This Book to Do It?, SQL Statement Classes
building for table creation in MySQL, Step 3: Building SQL Schema Statements
schemas
bank schema example for MySQL, The Bank SchemaThe Bank Schema
deployment verification for, Deployment Verification
generation scripts, Schema Generation ScriptsSchema Generation Scripts
information_schema, Information_SchemaInformation_Schema
search expressions
examples using wildcards, Using wildcards
using multiple, Using wildcards
using regular expressions, Using regular expressions
searched case expressions, Searched Case Expressions
advantages of, Simple Case Expressions
security, data security using views, Data Security
select clause
aggregate functions in, Grouping Concepts
select clauses, SQL Examples
select statements, Query PrimerExercise 3-4
clauses, Query Clauses
exercises, Test Your Knowledge
from clause, The from ClauseDefining Table Aliases
subqueries in, Subqueries As Data Sources
table links, Table Links
group by and having clauses, The group by and having Clauses
order by clause, The order by ClauseSorting via Numeric Placeholders
ascending and descending sort order, Ascending Versus Descending Sort Order
soring via numeric placeholders, Sorting via Numeric Placeholders
sorting via expressions, Sorting via Expressions
query execution by database servers, Query Mechanics
querying views, What Are Views?
select clause, The select ClauseRemoving Duplicates
column aliases in, Column Aliases
removing duplicates from returns, Removing Duplicates
table aliases used outside from clause, Defining Table Aliases
updatable views, Updatable Views
where clause, The where ClauseThe where Clause
self-joins, Self-Joins
self outer joins, Self Outer Joins
self-non-equi joins, Equi-Joins Versus Non-Equi-Joins
self-referencing foreign key, Self-Joins
sequences, Oracle Database, Generating numeric key data
SET command, String Generation
set operators, Set OperatorsThe except Operator
except operator, The except Operator
intersect operator, The intersect Operator
precedence of, Set Operation Precedence
union all, merging results from queries, Data fabrication
union and union all operators, The union OperatorThe union Operator
sets, Working with SetsExercise 6-3
exercises in set operations, Test Your Knowledge
guidelines for performing set operations on two data sets, Set Theory in Practice
primer in set theory, Set Theory Primer
rules for set operations, Set Operation RulesSet Operation Precedence
operation precedence, Set Operation Precedence
sorting compound query results, Sorting Compound Query Results
set theory applied to relational databases, Set Theory in Practice
show table command, Transaction Savepoints
show tables command, The Bank Schema
sign( ) function, Handling Signed Data
simple case expressions, Simple Case Expressions
sorting (see order by clauses)
SQL (Structured Query Language), Preface
dynamic generation of, Dynamic SQL GenerationDynamic SQL Generation
history of, What Is SQL?
integration toolkits, SQL: A Nonprocedural Language
as nonprocedural language, SQL: A Nonprocedural Language
statement classes, SQL Statement Classes
statement examples, SQL Examples
SQL Server, What Is MySQL?
coalesce( ) function, The Case Expression
concatenation operator (+), Including special characters, String functions that return strings
constraint generation, indexes and, Constraints and Indexes
convert( ) function, Functions for generating dates
current_timestamp( ) function, Functions for generating dates
datediff( ) function, Temporal functions that return numbers
datepart( ) function, Temporal functions that return strings
drop index command, Index Creation
dynamic SQL execution, Dynamic SQL Generation
generating XML from query output, The insert statement
grouping, with cube option, Generating Rollups
inserting and updating data through views, Updating Complex Views
len( ) function, String functions that return numbers
locking, Locking
metadata and information_schema, Data About Data
modulo operator (%), Performing Arithmetic Functions
power( ) function, Performing Arithmetic Functions
replace( ) and stuff( ) functions, String functions that return strings
specifying join order, Joining Three or More Tables
transactions
disabling auto-commit mode, Starting a Transaction
savepoints, Transaction Savepoints
starting, Starting a Transaction
SQL92 version of ANSI SQL standard, The ANSI Join Syntax
start transaction command, Starting a Transaction
statement classes, SQL Statement Classes
statement scope, What Is a Subquery?
statements
case expressions in, The Case Expression
clauses, SQL Examples
data and schema, Why Use This Book to Do It?
dynamic SQL execution in MySQL, Dynamic SQL Generation
errors in data statements, When Good Statements Go Bad
examples of, SQL Examples
for updatable views, Updatable Views
storage engines
choosing, Transaction Savepoints
locking and, Lock Granularities
STRAIGHT_JOIN keyword, Joining Three or More Tables
strcmp( ) function, String functions that return numbers
strict mode, String Generation
strings
character data types in string data, Working with String Data
conversion to datetimes in MySQL, Invalid Date Conversions
converting to number using cast( ) function, Conversion Functions
generating string data, String GenerationIncluding special characters
single quotes in strings, Including single quotes
special characters in strings, Including special characters
manipulating, String ManipulationString functions that return strings
string functions returning numbers, String functions that return numbersString functions that return numbers
string functions returning strings, String functions that return stringsString functions that return strings
partial string matches, Matching Conditions
ranges of, String ranges
representing temporal data, String representations of temporal data
date format components, String representations of temporal data
functions generating dates, Functions for generating dates
required date components, String representations of temporal data
strig-to-date conversions, String-to-date conversions
SQL statements submitted to database server as, Dynamic SQL Generation
temporal functions that return, Temporal functions that return strings
str_to_date( ) function, Functions for generating dates
subqueries, SubqueriesExercise 9-4
correlated, Correlated SubqueriesWhen to Use Subqueries
data manipulation with, Data Manipulation Using Correlated Subqueries
using with exists operator, The exists Operator
defined, What Is a Subquery?
exercises in, Test Your Knowledge
generating membership conditions, Using subqueries
in statements for updatable views, Updatable Views
noncorrelated, Noncorrelated Subqueries
multicolumn, Multicolumn Subqueries
multiple-row, single-column, Multiple-Row, Single-Column SubqueriesThe any operator
summary of types, Subquery Wrap-up
tables generated by, Subquery-generated tables
types of, Subquery Types
using as data source, Subqueries As Data SourcesTask-oriented subqueries
data fabrication with subqueries, Data fabrication
task-oriented subqueries, Task-oriented subqueries
using as tables, Using Subqueries As Tables
using in filter conditions, Subqueries in Filter Conditions
using instead of outer joins, Searched Case Expressions
using to generate expressions, Subqueries As Expression Generators
using to limit number of joins, Three-Way Outer Joins
substring( ) function, String functions that return strings
substrings
extracting from strings, String functions that return strings
locating within strings, String functions that return numbers
sum( ) function, Aggregate Functions, Selective Aggregation
surrogate key, The Relational Model
Sybase Adaptive Server, What Is MySQL?
system catalog, Data About Data

T

table aliases, Defining Table Aliases
queries requiring, Using the Same Table Twice
table locks, Lock Granularities
tables, The Relational Model
bank schema (example), The Bank Schema
created for special purposes, problems with, Data fabrication
creating for MySQL database, Table CreationStep 3: Building SQL Schema Statements
designing a table, Step 1: Design
refining design, Step 2: Refinement
SQL statements to create tables, Step 3: Building SQL Schema Statements
defined, Some Terminology
defined for query with from clause, Tables
deleting data from MySQL table, Deleting Data
generated by subquery, Subquery-generated tables
inserting and modifying data, errors in SQL statements, When Good Statements Go Bad
listing available tables in database with show tables, The Bank Schema
populating and modifying, Populating and Modifying Tables
pre-aggregated data, Data Aggregation
storage engines for, Transaction Savepoints
updating data in MySQL, Updating Data
temporal data, Working with Temporal DataTemporal functions that return numbers
converting strings to, using cast( ) function, Conversion Functions
generating, Generating Temporal DataFunctions for generating dates
string representations of, String representations of temporal data
manipulating, Manipulating Temporal DataTemporal functions that return numbers
temporal functions returning dates, Temporal functions that return dates
temporal functions returning strings, Temporal functions that return strings
maniuplating
temporal functions returning numbers, Temporal functions that return numbers
time zones, Dealing with Time Zones
temporal data types, MySQL, Temporal Data
date format components, Temporal Data
evaluating with range conditions, Range Conditions
invalid date conversions, Invalid Date Conversions
text data, MySQL, Text data
text indexes, Text indexes
text type, Working with String Data
time type, Temporal Data, Temporal Data
time zones, Dealing with Time Zones
converting datetime values between, Temporal functions that return dates
loading MySQL time zone data, String representations of temporal data
timestamp type, Temporal Data, Temporal Data
Transact-SQL language, Dynamic SQL Generation
transaction statements, SQL Statement Classes
transactions, TransactionsExercise 12-1
defined, What Is a Transaction?
ending, Ending a Transaction
exercises in, Test Your Knowledge
multiuser databases, Multiuser Databases
savepoints, Transaction Savepoints
starting, Starting a Transaction
truncate( ) function, Controlling Number Precision
tuning queries, How Indexes Are Used

U

union all operator
joining partitioned data in a view, Joining Partitioned Data
merging results from separate queries, Data fabrication
merging results of separate queries, Cross Joins
union and union all operators, The union OperatorThe union Operator
precedence of, Set Operation Precedence
union operation (sets), Set Theory Primer
unique constraints, Constraints
unique keyword, Unique indexes
unsigned data, Numeric Data, Handling Signed Data
update statements, SQL Examples
column value violations, Column Value Violations
invalid date conversions, Invalid Date Conversions
MySQL table updates, Updating Data
using correlated subqueries, Data Manipulation Using Correlated Subqueries
updates
cascading, Cascading Constraints
conditional, Conditional Updates
views, Updatable Views
updating complex views, Updating Complex Views
updating simple views, Updating Simple Views
username, specifying for mysql tool, Using the mysql Command-Line Tool
using subclause of from clause, Inner Joins
UTC (Coordinated Universal Time), Dealing with Time Zones

V

varchar type, Character Data, Working with String Data
columns storing strings, String Generation
string length in varchar columns, String Generation
versioning, Locking
storage engines and, Transaction Savepoints
views, Views, ViewsExercise 14-2
creating with create view statement, What Are Views?
defined, What Are Views?
examining with describe command, What Are Views?
exercises in, Test Your Knowledge
in information_schema, Information_Schema
getting information about, Information_Schema
joining to other tables or views, What Are Views?
listing of information_schema views in MySQL 6.0, Information_Schema
querying, What Are Views?
reasons to use, Why Use Views?
data aggregation, Data Aggregation
data security, Data Security
hiding complexity, Hiding Complexity
joining partitioned data, Joining Partitioned Data
updatable, Updatable Views
updating complex views, Updating Complex Views
updating simple views, Updating Simple Views
virtual tables (see views)
Visual Basic, SQL integration toolkit, SQL: A Nonprocedural Language

W

when clauses
in case expressions, What Is Conditional Logic?
evaluation in searched case expressions, Searched Case Expressions
where clauses, SQL Examples
aggregate functions and, Group Filter Conditions
ANSI join syntax in, The ANSI Join Syntax
delete statement, Deleting Data
filter conditions in, Filtering
in select statements, The where ClauseThe where Clause
update statement, SQL Examples, Updating Data
wildcards in searches for partial string matches, Using wildcards
with cube option, Generating Rollups
with rollup option, Generating Rollups
write locks, Locking

X

XML, generating from query output, The insert statement