Skip to content

100 questions on structured query language ranging from beginner to advance

License

Notifications You must be signed in to change notification settings

Oyebamiji-Micheal/Sql100

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SQL100

100 Exercises on Structured Query Language

https://sql100.pythonanywhere.com


Table of Contents


Project Description

Thus far have I come in my learning. This is the second project in the 100daysofsql challenge I started a few months ago. During the challenge, one of the major issues I faced was finding a site with a lot of practice questions. Most sites either require paying a stipend while others require a relatively high amount before users can run queries. The primary objective of this project is to provide an alternative to anyone who wishes to practice structured query language for free. I am not an SQL expert nor a database analyst but the little I can offer have I offered.
This project was deployed to PythonAnywhere using a free tier account, any support to help scale it up is very much welcomed. You can reach me using any of the media outlined in the contact section.


Limitations

While working on this project locally, I used MySQL Server 8.0.28 which allowed the flexibility of using Window Functions, Stored Procedures, Functions and some other cool concepts. However, the problem started during deployment to PythonAnywhere's free tier account which uses a MySQL server version of 5.7.34. A lot of problems were encountered due to a change in server versions. The first problem came with Window Functions which was not supported until version 8.0 (April 19, 2018). To my surprise, the queries below are not equivalent i.e. one can't be used in place of the other

    SELECT * FROM Students LIMIT 5;
    SELECT * FROM students LIMIT 5;

To further this conundrum 😞, queries that involve ordering on a column containing duplicates yield different results when execute multiple times. To this end, most questions had to be adjusted and a few queries had to be rewritten to allow for compatibility. If you, therefore, notice an unusual output, consider the server version while writing queries. If you encountered a bug or observed something else such as an incorrect answer or query result, kindly use the discussion section or reach me using any of the media outlined in the contact section. This project wasn't meant to be deployed to a specific website from the start, if server versions had been considered, issues involving compatibility and the ones mentioned earlier would be completely avoided.


Running Locally

For the sake of practice with different RDMS and server versions, all datasets used in this project have been made available and can be found here.
NB: These datasets were generated programmatically with a few python scripts; they are not and should not be assumed to be a reflecting of a real world data!


Resources


Source Code

This project's source code has been pushed to a private repository. If you wish to contribute by adding more features or questions, kindly reach out to me.


Contact

You can contact me using any of the media below



About

100 questions on structured query language ranging from beginner to advance

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages