High-Performance SQL for Java Developers - online (bedrifter)



Kursarrangør: Bouvet
Sted: Nettkurs / Nettstudie
Hele landet
Type:Bedriftsinternt / Større grupper
Nettkurs og nettstudie
Undervisningstid: Please contact us for information
Varighet: 3 days
Pris: 13.500

We provide online course about High-Performance SQL for Java Developers. The course is aimed to level up your SQL skills with techniques such as Window Functions, recursive queries Pivoting JSON processing, and many other database querying features supported by Oracle, SQL Server, MySQL, PostgreSQL.

Content:
Throughout four years of teaching my High-Performance Java Persistence course, I came to realize that there is so much Java developers can learn about the latest SQL features introduced by Oracle, SQL Server, PostgreSQL, or MySQL. This training spans over the course of 2 days and covers the Top 4 relational database systems: Oracle, SQL Server, PostgreSQL, and MySQL.

From execution plans to the best way to paginate data, this training explains lesser-known techniques such as LATERAL JOIN, CROSS APPLY, as well as Derived Tables, Common Table Expressions, recursive queries, and the amazing Window Functions, PIVOT, or UPSERT statements. Last but not least, we are going to learn that, not only modern databases support JSON column types, but you can combine JSON structures with the traditional relational ones, therefore getting the best of both worlds.

All examples are inspired by real-life scenarios, and they come in a GitHub repository for which attendees have exclusive and unlimited time access. At the end of these two days of training, the attendees will be better prepared to solve various data-intensive tasks using all these awesome SQL features that have been over the past 20 years.

Program:
Day 1)
Introduction (1h 30m):
• Beyond SQL:92
• SQL Parsing
• SQL Operation Order
• TOP-N queries
• OFFSET pagination
• Keyset Pagination

Subqueries (1h 15m):
• EXISTS and NOT EXISTS
• IN and NOT IN
• ANY and ALL
• INSERT with subqueries
• Aggregation with subqueries

Joins (1h 15m):
• CROSS JOIN
• INNER and LEFT/RIGHT OUTER JOIN
• FULL OUTER JOIN
• NATURAL JOIN
• LATERAL JOIN and CROSS APPLY

Day 2)
Window Functions (1h 30m):
• Analytics queries and window frame processing
• ROW_NUMBER, RANK, and DENSE_RANK
• FIRST_VALUE, LAST_VALUE, LEAD and LAG
• CUME_DIST and PERCENT_RANK
• PERCENTILE_DISC and PERCENTILE_CONT

Derived Tables, CTE, Hierarchical Queries (1h 30m):
• Derived Tables
• CTE (Common Table Expressions)
• Recursive CTE
• Hierarchical queries

PIVOT, UNPIVOT, FILTER, and CASE (1hour):
• CASE Expressions
• PostgreSQL FILTER Expressions
• PIVOT
• UNPIVOT

Day 3)
UPSERT and MERGE (30m):
• MERGE statements
• UPSERT statements

JSON processing (1h 30m):
• Schemaless data structures and JSON
• JSON queries
• EAV Model

Transactions and Concurrency Control (2 hours):
• ACID, 2PL, MVCC
• Isolation Levels and anomalies
• Pessimistic and optimistic locking
• SKIP_LOCKED, NOWAIT

Course instructor: Vlad Mihalcea

Vlad Mihalcea is a Java Champion, one of the top Hibernate ORM project committers, passionate about concurrency challenges, high-performance enterprise solutions, and online transaction processing. Vlad wrote the High-Performance Java Persistence book which became one of the best-selling Java books on Amazon. Vlad regularly speaks at Java conferences all over the world.

He is passionate about enterprise systems, data access frameworks, and distributed systems. He wrote hundreds of articles about Hibernate on his blog , and he has a gold badge for the Hibernate, Java, and JPA tags on StackOverflow. He believes in Open Source Software, and he thinks every developer should get involved, one way or the other.

Target group:
Businesses