Oracle SQL (Genius Series Book 21)

$199.99

Title: Oracle SQL (Genius Series Book 21)

Format: e-Book

ISBN: 9781940540351

Publisher: Coffing Publishing

Pub. Date: January 2016

Description

Oracle is one of the most popular databases in the world. This incredible database is designed for on-premises systems and the cloud. Learning Oracle SQL is a great opportunity to access cutting-edge technology. Tera-Tom Coffing and Leona Coffing have written this brilliant book that teaches readers the basics of advanced queries of Oracle SQL. This book is perfect for anyone who needs to write Oracle SQL. The book educates readers with over 500 pages of SQL examples and explanations, plus provides clever tricks and examples that allow for an expert level of learning. The Authors Tera-Tom Coffing, who has written over 85 successful books on Data Warehousing, and Leona Coffing, Chief Financial Officer (CFO) of Coffing Data Warehousing, bring a combined 40 years of experience in data warehouse knowledge to create this must-have book.

 

Topics:

ORDER BY Statements
WHERE Clause
Distinct Vs. Group By
Aggregation
Inner joins
Outer joins
Analytics
Temporary Tables
Table Create Statements
Date functions
Inserts, Updates, and Deletes
Subqueries
Strings
Case Statements
Views
Set Operators
Statistical Aggregate Functions

Oracle SQL

Chapter 1 – Basic SQL Functions

Introduction
Setting Your Default SCHEMA
SELECT * (All Columns) in a Table
SELECT Specific Columns in a Table
Commas in the Front or Back?
Place your Commas in front for better Debugging Capabilities
Sort the Data with the ORDER BY Keyword
ORDER BY Defaults to Ascending
Use the Name or the Number in your ORDER BY Statement
Two Examples of ORDER BY using Different Techniques
Changing the ORDER BY to Descending Order
NULL Values sort First in Ascending Mode (Default)
NULL Values sort First in Descending Mode (DESC)
Major Sort vs. Minor Sorts
Multiple Sort Keys using Names vs. Numbers
Sorts are Alphabetical, NOT Logical
Using A CASE Statement to Sort Logically
How to ALIAS a Column Name
A Missing Comma can by Mistake become an Alias
Comments using Double Dashes are Single Line Comments
Comments for Multi-Lines
Comments for Multi-Lines as Double Dashes Per Line
Formatting Number
Formatting Number Examples
Formatting Dates
Formatting Date Example

Chapter 2 – The WHERE Clause

The WHERE Clause limits Returning Rows
Double Quoted Aliases are for Reserved Words and Spaces
Character Data needs Single Quotes in the WHERE Clause
Character Data needs Single Quotes, but Numbers Don’t
Comparisons against a Null Value
NULL means UNKNOWN DATA so Equal (=) won’t Work
Use IS NULL or IS NOT NULL when dealing with NULLs
NULL is UNKNOWN DATA so NOT Equal won’t Work
Use IS NULL or IS NOT NULL when dealing with NULLs
Using Greater Than or Equal To (>=)
AND in the WHERE Clause
Troubleshooting AND
OR in the WHERE Clause
Troubleshooting Or
Troubleshooting Character Data
Using Different Columns in an AND Statement
Quiz – How many rows will return?
Answer to Quiz – How many rows will return?
What is the Order of Precedence?
Using Parentheses to change the Order of Precedence
Using an IN List in place of OR
The IN List is an Excellent Technique
IN List vs. OR brings the same Results
The IN List Can Use Character Data
Using a NOT IN List
Null Values in a NOT IN List Bring Back No Rows
A Technique for Handling Nulls with a NOT IN List
BETWEEN is Inclusive
NOT BETWEEN is Also Inclusive
LIKE uses Wildcards Percent ‘%’ and Underscore ‘_’
LIKE command Underscore is Wildcard for one Character
LIKE Command Works Differently on Char Vs Varchar
LIKE Command on Character Data
Quiz – What Data is Left Justified and What is Right?
Numbers are Right Justified and Character Data is Left
Answer – What Data is Left Justified and what is Right?
An Example of Data with Left and Right Justification
A Visual of CHARACTER Data vs. VARCHAR Data
Use the TRIM command to remove spaces on CHAR Data
Escape Character in the LIKE Command changes Wildcards
Escape Characters Turn off Wildcards in the LIKE Command
Quiz – Turn off that Wildcard
ANSWER – To Find that Wildcard
The Distinct Command
Distinct vs. GROUP BY
Quiz – How many rows come back from the Distinct?
Answer – How many rows come back from the Distinct?

Chapter 3 – Aggregation

Quiz – You calculate the Answer Set in your own Mind
Answer – You calculate the Answer Set in your own Mind
Quiz – You calculate the Answer Set in your own Mind
Answer – You calculate the Answer Set in your own Mind
The 3 Rules of Aggregation
There are Five Aggregates
Quiz – How many rows come back?
Answer – How many rows come back?
Troubleshooting Aggregates
GROUP BY delivers one row per Group
GROUP BY Dept_No Works GROUP BY 1 Fails
Limiting Rows and Improving Performance with WHERE
WHERE Clause in Aggregation limits unneeded Calculations
Keyword HAVING tests Aggregates after they are Totaled
Keyword HAVING is like an Extra WHERE Clause for Totals
Keyword HAVING tests Aggregates after they are Totaled
Getting the Average Values Per Column
Average Values Per Column For all Columns in a Table

Chapter 4 – Join Functions

A Two-Table Join Using Traditional Syntax
A two-table join using Non-ANSI Syntax with Table Alias
A two-table join using A Different Syntax
You Can Fully Qualify All Columns
A two-table join using ANSI Syntax
Both Queries have the same Results and Performance
Quiz – Can You Finish the Join Syntax?
Answer to Quiz – Can You Finish the Join Syntax?
Quiz – Can You Find the Error?
Answer to Quiz – Can You Find the Error?
Super Quiz – Can You Find the Difficult Error?
Answer to Super Quiz – Can You Find the Difficult Error?
Quiz – Which rows from both tables won’t Return?
Answer to Quiz – Which rows from both tables Won’t Return?
LEFT OUTER JOIN
LEFT OUTER JOIN Results
LEFT OUTER JOIN Using (+)
RIGHT OUTER JOIN
RIGHT OUTER JOIN Example and Results
RIGHT OUTER JOIN Using (+)
FULL OUTER JOIN
FULL OUTER JOIN Results
Which Tables are the Left and which Tables are Right?
Answer – Which Tables are the Left and which are the Right?
INNER JOIN with Additional AND Clause
ANSI INNER JOIN with Additional AND Clause
ANSI INNER JOIN with Additional WHERE Clause
OUTER JOIN with Additional WHERE Clause
OUTER JOIN with Additional AND Clause
OUTER JOIN with Additional AND Clause Results
Quiz – Why is this considered an INNER JOIN?
Evaluation Order for Outer Queries
The DREADED Product Join
The DREADED Product Join Results
The Horrifying Cartesian Product Join
The ANSI Cartesian Join will ERROR
Quiz – Do these Joins Return the Same Answer Set?
Answer – Do these Joins Return the Same Answer Set?
The CROSS JOIN
The CROSS JOIN Answer Set
The Self Join
The Self Join with ANSI Syntax
Quiz – Will both queries bring back the same Answer Set?
Answer – Will both queries bring back the same Answer Set?
Quiz – Will both queries bring back the same Answer Set?
Answer – Will both queries bring back the same Answer Set?
How would you Join these two tables?
An Associative Table is a Bridge that Joins Two Tables
Quiz – Can you write the 3-Table Join?
Answer to Quiz – Can you Write the 3-Table Join?
Quiz – Can you write the 3-Table Join to ANSI Syntax?
Answer – Can you Write the 3-Table Join to ANSI Syntax?
Quiz – Can you Place the ON Clauses at the End?
Answer – Can you Place the ON Clauses at the End?
The 5-Table Join – Logical Insurance Model
Quiz – Write a Five Table Join Using ANSI Syntax
Answer – Write a Five Table Join Using ANSI Syntax
Quiz – Write a Five Table Join Using Non-ANSI Syntax
Answer – Write a Five Table Join Using Non-ANSI Syntax
Quiz –Re-Write this putting the ON clauses at the END
Answer –Re-Write this putting the ON clauses at the END
The Nexus Query Chameleon Writes the SQL for Users.

Chapter 5 – Date Functions

Getting the System Date
Extracting the Day, Month, Year From the SYSDATE
The Current_Timestamp
Extracting From the Current_Timestamp
The ADD_MONTHS Command
Using the ADD_MONTHS Command to Add Years
Using the LAST_DAY Command
Calculating the Days Until the End of the Month
Calculating the Months Between Two Dates
NEXT_DAY Command Finds a Future Day of the Week
The ROUND Command
Another ROUND Example
The TRUNC Command
Another TRUNC Example
Adding Days and Minutes
How to Get the Difference in Hours
Add or Subtract Days Plus Format Dates and Dollars
Formatting Date Example
A Summary of Math Operations on Dates
The EXTRACT Command
Using Intervals
How a Simple Interval Handles Leap Year
Troubleshooting Intervals – Invalid Dates Error

Chapter 6 – Analytics

The Row_Number Command
Quiz – How did the Row_Number Reset?
Quiz – How did the Row_Number Reset?
Using a Derived Table and Row_Number
Ordered Analytics OVER
RANK and DENSE RANK
RANK Defaults to Ascending Order
Getting RANK to Sort in DESC Order
RANK() OVER and PARTITION BY
PERCENT_RANK() OVER
PERCENT_RANK() OVER with 14 rows in Calculation
PERCENT_RANK OVER with 21 rows in Calculation
Finding Gaps between Dates
CSUM – Rows Unbounded Preceding Explained
CSUM – Making Sense of the Data
CSUM – Making Even More Sense of the Data
CSUM – The Major and Minor Sort Key(s)
The ANSI CSUM – Getting a Sequential Number
Reset with a PARTITION BY Statement
PARTITION BY only Resets a Single OLAP not ALL of them
CURRENT ROW AND UNBOUNDED FOLLOWING
Different Windowing Options
Moving Sum has a Moving Window
How ANSI Moving SUM Handles the Sort
Quiz – How is that Total Calculated?
Answer to Quiz – How is that Total Calculated?
Moving SUM every 3-rows Vs a Continuous Average
Partition By Resets an ANSI OLAP
The Moving Window is Current Row and Preceding
Moving Average
Moving Average Using a CAST Statement
Moving Average every 3-rows Vs a Continuous Average
Partition By Resets an ANSI OLAP
Moving Difference using ANSI Syntax
Moving Difference using ANSI Syntax with Partition By
COUNT OVER for a Sequential Number
COUNT OVER Without Rows Unbounded Preceding
Quiz – What caused the COUNT OVER to Reset?
Answer to Quiz – What caused the COUNT OVER to Reset?
The MAX OVER Command
MAX OVER with PARTITION BY Reset
MAX OVER Without Rows Unbounded Preceding
The MIN OVER Command
MIN OVER Without Rows Unbounded Preceding
MIN OVER Using PARTITION BY to Reset
Finding a Value of a Column in the Next Row with MIN
The CSUM For Each Product_Id and the Next Start Date
Quiz – Fill in the Blank
Answer – Fill in the Blank
How Ntile Works
Ntile
Ntile Continued
Ntile Percentile
Another Ntile Example
Using Quantiles (Partitions of Four)
NTILE With a Single Sort Key
NTILE Using a Value of 10
NTILE With a Partition
Using FIRST_VALUE
FIRST_VALUE
FIRST_VALUE After Sorting by the Highest Value
FIRST_VALUE with Partitioning
FIRST_VALUE Combined with Row_Number
FIRST_VALUE And Row_Number with Different Sort
Using LAST_VALUE
LAST_VALUE
Using LAG and LEAD
LEAD
LEAD
LEAD With Partitioning
LEAD to Find the First Occurrence
Using LEAD
Using LEAD With an Offset of 2
Using LAG
Using LAG with an Offset of 2
LAG
LAG with Partitioning
MEDIAN with Partitioning
CUME_DIST
CUME_DIST with a Partition
SUM (SUM (n))

Chapter 7 – Temporary Tables

There are two types of Temporary Tables
CREATING A Derived Table
Creating Multiple Derived Tables in the WITH Command
Creating Multiple Derived Tables in the WITH Command
The Same Derived Query shown Two Different Ways
Most Derived Tables Are Used To Join To Other Tables
The Three Components of a Derived Table
Visualize This Derived Table
Our Join Example With A Different Column Aliasing Style
Column Aliasing Can Default For Normal Columns
Our Join Example With The WITH Syntax
Quiz – Answer the Questions
Answer to Quiz – Answer the Questions
Clever Tricks on Aliasing Columns in a Derived Table
An Example of Two Derived Tables in a Single Query
Example of Two Derived Tables in a Single WITH Statement
WITH RECURSIVE Derived Table Hierarchy
WITH RECURSIVE Derived Table Query
WITH RECURSIVE Derived Table Definition
WITH RECURSIVE Derived Table Seeding
WITH RECURSIVE Derived Table Looping
WITH RECURSIVE Derived Table Looping in Slow Motion
WITH RECURSIVE Derived Table Looping Continued
WITH RECURSIVE Derived Table Looping Continued
WITH RECURSIVE Derived Table Ends the Looping
WITH RECURSIVE Derived Table Definition
WITH RECURSIVE Final Answer Set
Creating and Populating a Global Temporary Table
Global Temporary Table Definitions Persist
Vital Information about Global Temporary Tables
ON COMMIT DELETE ROWS Example
Creating and Populating a Global Temporary Table
Creating a Global Temporary Table Using a CTAS
Creating a Global Temporary Table Using a CTAS Join
Creating a Temporary Table from Another’s Space
A Global Temp Table That Populates Some of the Rows
A Temporary Table with Some of the Columns

Chapter 8 – Sub-query Functions

An IN List is much like a Subquery
An IN List Never has Duplicates – Just like a Subquery
The Subquery
The Three Steps of How a Basic Subquery Works
These are Equivalent Queries
The Final Answer Set from the Subquery
Quiz- Answer the Difficult Question
Answer to Quiz- Answer the Difficult Question
Should you use a Subquery or a Join?
Quiz- Write the Subquery
Answer to Quiz- Write the Subquery
Quiz- Write the More Difficult Subquery
Answer to Quiz- Write the More Difficult Subquery
Quiz – Write the Extreme Subquery
Answer to Quiz- Write the Extreme Subquery
Quiz- Write the Subquery with an Aggregate
Answer to Quiz- Write the Subquery with an Aggregate
Quiz- Write the Correlated Subquery
Answer to Quiz- Write the Correlated Subquery
The Basics of a Correlated Subquery
The Top Query always runs first in a Correlated Subquery
Correlated Subquery Example vs. a Join with a Derived Table
Quiz- A Second Chance To Write a Correlated Subquery
Answer – A Second Chance to Write a Correlated Subquery
Quiz- A Third Chance To Write a Correlated Subquery
Answer – A Third Chance to Write a Correlated Subquery
Quiz- Last Chance To Write a Correlated Subquery
Answer – Last Chance to Write a Correlated Subquery
Quiz – Write the Extreme Correlated Subquery
Answer To Quiz – Write the Extreme Correlated Subquery
Quiz- Write the NOT Subquery
Answer to Quiz- Write the NOT Subquery
Quiz- Write the Subquery using a WHERE Clause
Answer – Write the Subquery using a WHERE Clause
Quiz- Write the Subquery with Two Parameters
Answer to Quiz- Write the Subquery with Two Parameters
How the Double Parameter Subquery Works
More on how the Double Parameter Subquery Works
Quiz – Write the Triple Subquery
Answer to Quiz – Write the Triple Subquery
Quiz – How many rows return on a NOT IN with a NULL?
Answer – How many rows return on a NOT IN with a NULL?
How to handle a NOT IN with Potential NULL Values
IN is equivalent to =ANY
Using a Correlated Exists
How a Correlated Exists matches up
The Correlated NOT Exists

Chapter 9 – Strings

The LENGTH Command Counts Characters
The LENGTH Command – Spaces can Count too
The LENGTH Command and Char (20) Data
The LENGTH Needs a TRIM
The TRIM Command trims both Leading and Trailing Spaces
A Visual of the TRIM Command Using Concatenation
Trim and Trailing is Case Sensitive
How to TRIM Trailing Letters
The SUBSTRING Command
How SUBSTRING Works with NO ENDING POSITION
How SUBSTRING Works with a Starting Position of -1
How SUBSTRING Works with an Ending Position of 0
An Example using SUBSTRING, TRIM and CHAR Together
Concatenation
Concatenation and SUBSTRING
Four Concatenations Together
UPPER and LOWER Commands
LPAD and RPAD
SOUNDEX
REGEXP_LIKE
REGEXP_REPLACE
REGEXP_INSTR
REGEXP_INSTR (1 of 4)
REGEXP_INSTR Options (2 of 4)
REGEXP_INSTR Options (3 of 4)
REGEXP_INSTR Options (4 of 4)
REGEXP_INSTR Example
REGEXP_INSTR Example 2

Chapter 10 – Interrogating the Data

Using the LOWER Command
A LOWER Command Example
Using the UPPER Command
An UPPER Command Example
Non-Letters are Unaffected by UPPER and LOWER
Quiz – Fill in the Answers for the NULLIF Command
Quiz – Fill in the Answers for the NULLIF Command
The COALESCE Command
The COALESCE Answer Set
The COALESCE Command – Fill In the Answers
The COALESCE Answer Set
COALESCE is Equivalent to This CASE Statement
The Basics of CAST (Convert And STore)
Some Great CAST (Convert And Store) Examples
A Rounding Example
Quiz – The Basics of the CASE Statements
Answer to Quiz – The Basics of the CASE Statements
Using an ELSE in the Case Statement
Using an ELSE as a Safety Net
Rules For a Valued Case Statement
Rules For a Searched Case Statement
Valued Case Vs. A Searched Case
Quiz – Valued Case Statement
Answer – Valued Case Statement
Quiz – Searched Case Statement
Answer – Searched Case Statement
The CASE Challenge
The CASE Challenge Answer
Combining Searched Case and Valued Case
A Trick for getting a Horizontal Case
Nested Case
Put a CASE in the ORDER BY

Chapter 11 – View Functions

The Fundamentals of Views
Creating a Simple View to Restrict Sensitive Columns
You SELECT From a View
Creating a Simple View to Restrict Rows
A View Provides Security for Columns and Rows
Basic Rules for Views
How to Modify a View
An Exception to the ORDER BY Rule inside a View
Views Are Sometimes CREATED for Formatting
Creating a View to Join Tables Together
How to Alias Columns in a View CREATE
The Standard Way Most Aliasing is Done
What Happens When Both Aliasing Options Are Present
Resolving Aliasing Problems in a View CREATE
Answer to Resolving Aliasing Problems in a View CREATE
Aggregates on View Aggregates
Altering A Table After a View Has Been Created
A View that Errors After An ALTER

Chapter 12 – Set Operators Functions

Rules of Set Operators
INTERSECT Explained Logically
INTERSECT Explained Logically
UNION Explained Logically
UNION Explained Logically
UNION ALL Explained Logically
UNION ALL Explained Logically
Minus Explained Logically
Minus Explained Logically
An Equal Amount of Columns in both SELECT List
Columns in the SELECT list should be from the same Domain
The Top Query handles all Aliases
The Bottom Query does the ORDER BY
Great Trick: Place your Set Operator in a Derived Table
UNION Vs UNION ALL
A Great Example of how MINUS works
USING Multiple SET Operators in a Single Request
Changing the Order of Precedence with Parentheses
Using UNION ALL for speed in Merging Data Sets

Chapter 13 – Table Create and Data Types

The Basics of Creating a Table
Creating a Table With Default Values
Altering a Table to Add a Column
Altering a Table to Drop a Column
Renaming a Table
Dropping a Table
Defining Primary Keys
Defining a Primary Key After the Table Has Been Created
Defining a Foreign Key After the Table Has Been Created
Creating a Table Using a CTAS
Creating a Table Using a CTAS Join
Creating a Global Temporary Table Using a CTAS
Creating a Global Temporary Table Using a CTAS Join
Creating a Temporary Table From Another’s Space

Chapter 14 – Data Manipulation Language (DML)

INSERT Syntax # 1
INSERT example with Syntax 1
INSERT Syntax # 2
INSERT example with Syntax 2
INSERT/SELECT Command
INSERT/SELECT example using All Columns (*)
INSERT/SELECT example with Less Columns
Two UPDATE Examples
Subquery UPDATE Command Syntax
example of Subquery UPDATE Command
Join UPDATE Command Syntax
The DELETE Command Basic Syntax
DELETE ALL Rows in a Table
A DELETE Example Deleting only Some of the Rows
Example of Subquery DELETE Command
Example of Subquery DELETE That Gets Rid of Null Values

Chapter 15 – Statistical Aggregate Functions

Numeric Manipulation Functions
The Stats Table
The STDDEV_POP Function
The STDDEV_POP Example
The STDDEV_SAMP Function
A STDDEV_SAMP Example
The VAR_POP Function
A VAR_POP Example
The VAR_SAMP Function
A VAR_SAMP Example
The VARIANCE Function
A VARIANCE Example
The CORR Function
A CORR Example
Another CORR Example so you can Compare
The COVAR_POP Function
A COVAR_POP Example
Another COVAR_POP Example so you can Compare
The COVAR_SAMP Function
A COVAR_SAMP Example
Another COVAR_SAMP Example so you can Compare
The REGR_INTERCEPT Function
A REGR_INTERCEPT Example
Another REGR_INTERCEPT Example so you can compare
The REGR_SLOPE Function
A REGR_SLOPE Example
Another REGR_SLOPE Example so you can compare
The REGR_AVGX Function
A REGR_AVGX Example
Another REGR_AVGX Example so you can Compare
The REGR_AVGY Function
A REGR_AVGY Example
Another REGR_AVGY Example so you can compare
The REGR_COUNT Function
A REGR_COUNT Example
The REGR_R2 Function
A REGR_R2 Example
The REGR_SXX Function
A REGR_SXX Example
The REGR_SXY Function
A REGR_SXY Example
The REGR_SYY Function
A REGR_SYY Example
Using GROUP BY