Online course: High-Performance SQL for Java Developers

The High-Performance SQL for Java Developers training 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, or PostgreSQL.

Varighet: 3 dager, fra kl 09:00- 13:00

Pris: 13500

Målsetning: 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.

Kurskategori: Applikasjons utvikling

Dette kurset levers kun som bedriftsinternt kurs. Ta kontakt med kurs@bouvet.no

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.

Agenda
 

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 - 1h

    - 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 - 2h

    - ACID, 2PL, MVCC
    - Isolation Levels and anomalies
    - Pessimistic and optimistic locking
    - SKIP_LOCKED, NOWAIT

Dette kurset levers kun som bedriftsinternt kurs. Ta kontakt med kurs@bouvet.no

Kursinstruktør

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.

Ønsker du å samle flere ansatte til et bedriftsinternt kurs?

Finner du ikke det helt optimale kurset eller kombinasjonen av kurs? Da ordner vi det - sammen. Vi kan tilrettelegge kurs slik at de inneholder akkurat det dere har behov for. Vi kan sette opp et helt nytt kurs, eller tilpasse eksisterende kurs og materiell. Flere medarbeidere kan selvfølgelig også samles til et eget felles kurs, for maksimal effektivitet. Ta kontakt med meg for et forslag til gjennomføring og et tilbud basert på deres behov.

Henrik Buzzi