“Your SQL is not like my SQL”
One candidate I was interviewing for an analytics position, blurted out the following sentence:
Your SQL is not like my SQL
In the database world SQL is near-ubiquitous to the point that now even Excel does SQL, this predominance leads to a few issues in identifying what knowing SQL really means. Some people think knowing SQL is just a SELECT * away, others think it is a little bit more than that.
In my view there is three schools of SQL, Transactional, Analytical & the data engineering school, which while not mutually exclusive will tend to stress some particular features over others.
Transactional SQL: Is mostly for Software Engineer working on production databases, who need to ensure consistency in high frequency environment. If you are applying for this kind of position it will be necessary to understand beside basic SQL such concepts as transaction locks and triggers.
Analytical SQL: The SQL of Analysts, broad enough is so misunderstood that I believe needs to be split in two:
- Basic Analytical SQL: Which deals with the proper use of table’s granularity and aggregations. For positions requiring Basic analytical SQL, a good knowledge of subqueries and joins is necessary. Some of the more complex use case of basic analytical SQL deal with issues such as value…