I’ve done a new project recently: QuerySniper.
A kind of « visual » join system for SQL database. Currently only supporting MySQL, the system is able to graphically print intermediate results of a join.
The system is based on this idea:
SELECT * FROM company WHERE id IN (SELECT company_id FROM user WHERE id = 1)
gives the same result as:
SELECT company.* FROM company, user WHERE user.id = 1 AND company.id = user.company_id
From this, it was easy to design a step by step SELECT, keeping intermediate results and programatically build next query with result of previous query, allowing to do something close to the first SELECT above (select calling select calling…).
Here is the query builder in action:
And the final result:
For the following database schema, with random data (using the excellent Mockaroo):
Go check it out on Github Here, it’s free!