Interactive PostgreSQL SQL Tutorial - https://chartio.com/learn/sql/
Select STAR SQL - https://selectstarsql.com/
SQL Bolt - https://sqlbolt.com/ - Learn SQL with simple, interactive exercises
SQL Window functions - https://www.windowfunctions.com/
PostgreSQL Exercises - https://pgexercises.com/
SQL Zoo - http://sqlzoo.net/
SQL Teaching - https://www.sqlteaching.com/
Any suggestions and comments are welcome!
and many thanks for all the suggestion already made! And seems like we should better remove MySQL specific command from the very first question.
That would be very useful, aka user chooses Oracle, MySQL, MS-SQL, etc.
I have vague ideas about building a browser-based tool that allowed the user to queue up operations to be performed in order in multiple concurrent database sessions, allowing exact locking & blocking behaviour to be experimented with, but have never had time to work on this.
I mean using a specific sqlite/oracle/tsql/... command wouldn't be any better.
This 'Late Payment Email generator' by same person is pretty good : ) I hate figuring out how to write those
It was created in a hackathon and uses sql.js, you can also create your own exercises through sql.js if you know a thing or two about web development ;)
(Creator of SQL Teaching)
Is there any database other than MySQL that does that?
The framework for the problems is that you get the problem statement, the expected results, and then you figure out how to write the SQL to get the results. I have lots of hints if you get stuck, but there's also a hint-free version, which some people prefer.
It really helps for people who like a "learn-by-doing" approach.