SQL 70-461 Training: Merge statement and Recursive queries

22
Presented by Steve Stedman and Aaron Buma

Transcript of SQL 70-461 Training: Merge statement and Recursive queries

Page 1: SQL 70-461 Training: Merge statement and Recursive queries

Presented by Steve Stedman

and Aaron Buma

Page 2: SQL 70-461 Training: Merge statement and Recursive queries

Welcome Welcome to all those joining us remotely.

For any questions via Google On Air Broadcasts, we will address most of these at the end of the training.

Training provided by Emergency Reporting

http://EmergencyReporting.com

Slides and sample code are available at:

http://SteveStedman.com

Page 3: SQL 70-461 Training: Merge statement and Recursive queries

Welcome Viewers From Bellingham, WA

Riverview, FL

Warren, MI

Jacksonville, FL

Chennai, India

Belarus

Trowbridge, UK

Hyderabad, India

Bucharest, Romania

Page 4: SQL 70-461 Training: Merge statement and Recursive queries

Live Broadcast Using Google On Air Broadcasts

There is about a 40 to 50 second delay from live to what you see.

We are still learning how to properly use Google On Air Broadcasts. Please be patient.

Session will be available on my YouTube Channel about an hour after the presentation ends.

http://SteveStedman.com/YouTube

Page 5: SQL 70-461 Training: Merge statement and Recursive queries

Questions We will have time for questions at the end of the session.

Q&A available via Google On Air Hangout panel. Click the 3x3 grid icon near the top right, then select Q&A to see what people are asking, or to ask your own question.

When you ask a question, it shows up for us about 40 to 50 seconds delayed.

Page 6: SQL 70-461 Training: Merge statement and Recursive queries

A Question From a Viewer“on your webpage you mention the training will be covered in 45 weeks, do you mean to say that the preparation for the 70-461 exam will take almost a year.”

That was the original plan, however we have had several weeks that we have doubled up content from the original plan, so I am thinking it will be around 30 weeks, instead of the original estimated 45.

Page 7: SQL 70-461 Training: Merge statement and Recursive queries

Agenda Merge Statement

Data Recursion

Self JOIN

Recursive CTE

Page 8: SQL 70-461 Training: Merge statement and Recursive queries

Presented by Aaron Buma

Page 9: SQL 70-461 Training: Merge statement and Recursive queries

Without Merge – Update/Insert Without merge, conditional Inserts/Updates/Deletes

require multiple statements

Example: Combine your baseball card book with a new deck

Without Merge:

“Insert” into your deck cards you don’t have

“Update” the quantity of cards you have if you already have it and if the value is > $5

Page 10: SQL 70-461 Training: Merge statement and Recursive queries

Merge - Example With Merge:

Page 11: SQL 70-461 Training: Merge statement and Recursive queries

Merge Statement What it can do in one statement:

Perform 2 or 3 UPDATE, INSERT, DELETE statements 2 Statements

One for a MATCHED

One for NOT MATCHED

3 Statements

One for MATCHED x = y AND x > z

One for MATCHED x = y

One for NOT MATCHED

Page 12: SQL 70-461 Training: Merge statement and Recursive queries

Merge Statement - Advanced

The source ‘table’ can be a derived table

Variables

Subselect

You can use the OUTPUT clause to log data changes

Page 13: SQL 70-461 Training: Merge statement and Recursive queries

Merge statement Requires a semi-colon

Can have up to 3 MATCHED (2 WHEN, 1 NOT “UPSERT” is misnomer, you can UPDATE, INSERT or DELETE in a MERGE statement

Introduced in 2008

Page 14: SQL 70-461 Training: Merge statement and Recursive queries

MERGE Statements

Demo

Page 15: SQL 70-461 Training: Merge statement and Recursive queries

Presented by Steve Stedman

Page 16: SQL 70-461 Training: Merge statement and Recursive queries

Recursion SELF-JOIN – some consider recursive

Common Table Expressions

Considered recursive when the CTE references itself

Recursion stops

When the recursive query produces no results

Or specify MAXRECURSION

Page 17: SQL 70-461 Training: Merge statement and Recursive queries

Uses for Recursion Hierarchical Data

Tree Path

Recursive Calculations (mathematic sequences)

String Parsing

Finding Holes

Replacing a Numbers Table

Date Calculations

Page 18: SQL 70-461 Training: Merge statement and Recursive queries

Recursion

Demo

Page 19: SQL 70-461 Training: Merge statement and Recursive queries

Recursion Usage Summary Hierarchical Data

Tree Path

Recursive Calculations (mathematic sequences)

String Parsing

Finding Holes

Replacing a Numbers Table

Date Calculations

Page 20: SQL 70-461 Training: Merge statement and Recursive queries

Any Questions? Merge Statement

Data Recursion

Self JOIN

Recursive CTE

Page 21: SQL 70-461 Training: Merge statement and Recursive queries

For More Information Visit http://EmergencyReporting.com to find out more

about Emergency Reporting.

Aaron on the web http://AaronBuma.com

Twitter: @AaronDBuma

Steve on the web http://SteveStedman.com

twitter: @SqlEmt

Page 22: SQL 70-461 Training: Merge statement and Recursive queries

Tune in next week Thursday March 5th at

9:00am (pacific time). Topics - Review /

Lightning Talks Null Expressions Identity Aggregation Top, Ranking and

Aggregation

OUTPUT Clause Derived Tables Merge Statement Set Operators Derived Tables Common Table

Expressions Recursive Queries

5 minutes per topic, followed by Q&A