Chris Saxon
@chrisrsaxon.bsky.social
680 followers 34 following 210 posts
Oracle Developer Advocate for SQL. Lover of quizzes and games of all kinds. Any views expressed belong to me. chrissaxon.co.uk
Posts Media Videos Starter Packs
The #SQL analysis report in Oracle AI Database 26ai shows potential problems in a query

Cartesian products
UNION
Non sargable filters (can’t use indexes)

You can use this to find queries in the cursor cache which you may be able to improve
Using the SQL analysis report to find queries in the cursor cache which can’t use indexes
Run natural language queries against Oracle AI Database with

SELECT AI

e.g.

SELECT AI what are the top 10 movies

Michelle Malcher demos and gives example use cases for it #AIWorld
Select AI example use cases Example using select AI to find the top 10 streamed movies after 2010
Reposted by Chris Saxon
Oracle 26ai¹ was released yesterday.

From the SQL standpoint it's worth mentioning that is has got the QUALIFY clause:

I bet this starts an avalanche (there are already PostgreSQL patches).

modern-sql.com/caniuse/qual...

¹ 26ai is the marketing version, 23.26.0 is the technical version.
QUALIFY clause (window functions)
QUALIFY: filter rows based on window functions
modern-sql.com
Get your desks of #SQL tips at #AIWorld from the swag-as-a-service or Oracle AI Database booths
Deck of SQL tips cards Deck of SQL tips cards
Reposted by Chris Saxon
speed sql - I love it!
Speed SQL results for quiz on 07-OCT-2025
Attempt #1: 10 correct in 43 seconds
✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
#SpeedSQL devgym.oracle.com/pls/apex/f?p...
devgym.oracle.com
That's FAST!

Great work :)
Lots struggled with yesterday's #SQuizL!

Recognizing the first transaction on the Helsinki stock exchange, the solution was

SET TRANSACTION READ WRITE NAME q'[Helsinki Stock Exchange]'

This names the db transaction

Can you guess today's statement from the clue?

devgym.oracle.com/pls/apex/f?p...
SQuizL (aka SQL Wordle) for 8th Oct 2025. Complete the SQL statement from the clue provided (hospital_id) using the fragments below
In this month's SQL Ask TOM Live session, Ric Van Dyke is joining me to discuss how to

Use the WITH clause
Optimize #SQL queries using WITH

Join us at Tues 21ct Oct, 2pm UK time asktom.oracle.com/ords/r/tech/...
Getting WITH it
Using CTEs for better performance (Short Course)
October 2025
Congrats to the Oracle Dev Gym Weekly DB winners for Sept 2025:

1st Stelios Vlasopoulos
2nd Andrey Zaytsev
3rd mentzel.iudith

🍾🏆👏

This dedicated trio are also the top-3 ranked players for Q3 2025

See the full rankings at devgym.oracle.com/pls/apex/f?p...
devgym.oracle.com
#SQL is second in the IEEE Top Programming Languages for jobs in 2025

Good going for a language that's over 50 years old!

spectrum.ieee.org/top-programm...
IEEE top programming languages for jobs in 2025
The top three are
Python
SQL
Java
Reposted by Chris Saxon
Join the Oracle Dev Gym (FREE!) and build your Oracle technology muscles by taking workouts, quizzes, and even entire classes on SQL, PL/SQL, database design, logic and more. 💪 social.ora.cl/6019AE8VJ
social.ora.cl
This also covers various issues you may hit

ORA-30926 => updating the same row twice
ORA-38104 => updating join columns in merge
ORA-01779 => changing non-key preserved tables in 19c and earlier
ORA-00934 => using aggregate functions
Oracle Database 23ai added direct join syntax for updates

UPDATE t1
SET t1.col = t2.col
FROM t2
WHERE

My latest post looks at this and other methods for updating one table from another

Update only merge
Updating a query
Correlated subquery update

blogs.oracle.com/sql/post/how...
Summary of syntax for the ways to update one table from another in Oracle Database
Direct joins (23ai)
Update-only merge
Updating a subquery
Correlated subquery update
Why not? WITHIN GROUP has also been used for PERCENT_CONT/DISC for ages
Happy Birthday #SQuizL!

The daily Wordle-style guess the SQL statement quiz turns 2 today

We hope it makes for a fun way to learn Oracle #SQL syntax

Big thanks to Eli Feuerstein for building it

Play today at devgym.oracle.com/pls/apex/f?p...
SQuizL for 11 Sept 2025. Can you guess the SQL statement using the clues provided?
Congrats to the top 3 players for August in the Weekly DB tournament on Oracle Dev Gym

1 Stelios Vlasopoulos
2 Karel_Prech
3 Andrey Zaytsev

🍾👏🏆

Join them and practice your #SQL skills at devgym.oracle.com/pls/apex/f?p...
devgym.oracle.com
A summary of the key commands for SQLcl project #poug2025
A summary of key SQLcl project commands
Oracle SQLcl project is a tool for managing deployments of database objects and APEX apps

Rafal Grzegorczyk showing us how to use it to move changes from dev->test->prod

#poug2025
The dev test prod setup for the demo Database changes made in dev Exporting the database changes using SQLcl project Deploying the changes to test
Reposted by Chris Saxon
Practice your Oracle #SQL skills with free quizzes on Oracle Dev Gym

SQuizL - complete the statement using the clues provided

Speed SQL - race against the clock to guess the missing keywords

Weekly DB - a new multiple-choice question every week

buff.ly/05p9QME
SQuizL quiz. Complete the SQL statement on the top left using the fragments provided below in six tries or less. A new statement is published every day Speed SQL - guess the missing keyword (????) in
???? locations SET location_name = 'Carolina' WHERE meta_location = 'Mind'
From the four options:
UNION, UPDATE, MATERIALIZED, COMMENT
You have 60 seconds to guess 10 statements. A new batch is issued daily Example multiple-choice question on Oracle Dev Gym. A new question is published every week in the Weekly DB tournament. See how your knowledge stacks up in the leaderboards or play past quizzes at your leisure in the library.
Get faster PL/SQL in #SQL with

alter session set sql_transpiler = on

=> database will convert eligible functions to SQL

Read my latest post for details on

What can be transpiled
Transpiler vs scalar macros
Functional differences
Impact of function-based indexes

blogs.oracle.com/sql/post/fas...
blogs.oracle.com