Reverse Snowflake Joins (abbreviated as revj) is a tool to understand SQL and document SQL queries. It is good for maintaining big queries written by somebody else. "Big SQL" can be as many as 20 tables, joined by multiple fields.
Parts of the query appear directly in the diagram: Ex age=30 , GROUP BY (year), HAVING MIN(age) > 18 .
Getting these queries right is difficult because many tools generate poor SQL when dealing with complex joins. Manually written SQL is also error-prone, for example one might forget to remove a table if it is no longer needed to filter/group by one field in that table.
If there are disconnected tables it means there is a cartesian product. There are legitimate cases for cartesian products, however these cases are not common.
Same way, loops are usually not desired.
What it isn't?
It's not an EXPLAIN tool. If you write by mistake a cartezian join, no matter how good the indexes are, it will remain incorrect.
It's not a query execution tool. Because there are thousands of those, with drag-and-drop and predictive typing, and for sure everyone has it's favorite.
What's New in This Release: [ read full changelog ]
· This version fixes "cast(x as integer)", which previously produced an error.