SQL based language for the SQL impaired?

This page summarizes the projects mentioned and recommended in the original post on /r/SQL

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • jOOQ

    jOOQ is the best way to write SQL in Java

  • I have a bachelor's in computer science, took a databases class in college (which I did poorly in), and worked as a backend developer for two years, but I always struggled with SQL. I can do the basic SELECT * FROM table WHERE column = 1 but when the SQL statement gets long with lots of joins I couldn't understand it and relied on another programmer for help. When I need to build a website myself I end up going with MongoDB because that allows me to write code instead of writing SQL. That being said, instead of doing all the data processing stuff in the backend, I'd like to try doing as much of it as I can in the database and learn some programmimg language that is SQL-esque (for my next personal project). I know Scala and am very comfortable doing functional programming stuff like List(1,2,3).filter(_.isEven()) to get the even numbers in a list or writing List(1,2,3).reduce(_+_) to apply the addition operation on all the numbers in a list. I know the Big Data framework Apache Spark is written in and works with Scala, but I really want to learn something that works with a traditional database that runs on one centralized server and not have to worry about the distributed computing MapReduce paradigm stuff (also installing the Big Data ecosystem on my personal computer is a pain). Like I want to try building something with a traditional database like Oracle, SQL Server, etc. Something I find really helpful is having IDE code error highlighting and auto-completion and the ability to run a static analysis code quality checker tool, which I can do with Scala code, but I don't know of a way to have those things with traditional SQL Strings sent from the backend to the database. I know of things like Java's JOOQ or C#'s LINQ, but I don't want to use one of those, I want to use something in the database that is database specific and pushes as much data processing as possible into the database. I heard of languages like PL/SQL, T-SQL, and PL/pgSQL to add procedural control to SQL, making it like a real programming language. On Wikipedia I found this list of PL/SQL editors but there are so many choices and I don't know which one to pick (it has to not cost me money and I would love one that has auto-completion with error highlighting and suggestions or maybe some sort of graphical query builder tool that gives me choices of what to put to compose my statement). I saw someone on Reddit say that more recently they added the ability to add database triggers in various programming languages. I also heard mentions online of this thing called "dbt" which adds software engineering tools like version control to SQL, but I don't know if that can help me get around my difficulty with SQL or if it is something I would want to use. Any advice would be appreciated.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts