As you’re researching technology bootcamps, we’re willing to bet you’ll come across SQL. We see SQL in the curricula of so many different types of bootcamps, from Web Development to Data Science. With a wide variety of uses, and not many alternatives, SQL is a technology that you’ll arguably need to use no matter what job you get in tech. Jonathan Balaban, a senior instructor from Metis, joined us to answer all your SQL questions: what is SQL used for, which companies use SQL, and how you can learn SQL as a beginner!
Meet The Expert
- Senior Instructor at Metis
- Has a degree in Operations Research and learned distributions, probabilities, pure math, algorithms, and SQL in his undergrad degree.
- Wishes bootcamps had been around when he was in school because he would have enjoyed accelerated, hands-on learning. Jonathan says “My academic experience was awesome, but it wasn’t tied to real-world data, so I had to learn a lot on the job.”
- Created the curriculum for Metis’ new live, online SQL Fundamentals course
What is SQL and what is it used for?
SQL is an acronym that stands for Structured Query Language. “Structured” means we’re talking about data that’s structured in a specific format called a relational database. “Query” is a fancy term for “pulling” or “searching” the things that matter to you or your company out of that huge data set and being able to do further analysis or making smarter decisions with it.
With SQL, we can:
- interact with a relational database to manage the data (insert new data in)
- modify data or delete data
- do any number of simple or complex queries
- combine data in any number of ways
- analyze the data by making graphs, visualizations etc.
SQL has been a Standard of the American National Standards Institute (ANSI) since 1986, and of the International Organization for Standardization (ISO) since 1987. Even in 2018, when everything is modern and new, SQL is very much alive, strong, and in use at all of the fanciest tech companies you can imagine.
What are the origins of SQL?
Ted Codd was an English research scientist working at IBM (like half the world). IBM was a real powerhouse in terms of information and new technologies. He came up with this concept of a relational database, or a way to store data in an organized way, in different tables. But then the question was – how do they talk to each other? Data in one table may be related to another – keys tell us how data is related. This is important because we’re collecting so much data now. A lot of studies show that in the last 5 years, more data has been created than all of the data that existed from the beginning of recorded time.
Donald D. Chamberlin and Raymond F. Boyce were Americans who realized they needed to create a simple language to quickly and easily interact with relational databases and pull data out. People really adopted the relational database once SQL was created.
How is SQL used across tech?
Let’s go through a few:
- SQL in Web Development: in the 90’s, websites were static and all you could do was read information. As multimedia and interactivity became more popular (filling out forms, clicking on buttons, buying a product etc) – SQL became the mechanism by which those websites are now able to capture data and use that data to make decisions.
- SQL in Data Engineering: You could say this is the core application for SQL. You need to build the piping inside of a company where you can capture, transform, and store data correctly so that Analysts can pull it when necessary. So of course Data Engineers need to know SQL.
- SQL in Business Analysts: At certain companies, you may not need to know SQL at all because you can email the Help Desk and ask for specific data. But the reality is that you may not hear back for five to 10 days. So you could wait around or you could learn SQL and empower yourself to pull that data yourself. When you have the autonomy to do that, you don’t have to deal with the bottleneck.
- Are there “SQL Developers” who just use SQL? There are SQL developers at Microsoft or Oracle. If you take the Metis SQL Fundamentals class, it could be the first step in a series of steps that get you there. These are really high paying jobs because it takes attention to detail and understanding of the nuances of databases.
What are relational databases used for?
A relational database is a database structured to recognize relations among stored items of information.
For example, imagine you work for a rideshare company like Uber or Lyft – how would you want to capture data?
You would definitely want to capture information about Rides – where each one started, ended, how much it cost, etc.
A relational database can then store info about Drivers. We have a pool of drivers (could be 1000 to 10000) and need to store information about their drivers’ licenses, when they expire, their rating, how many rides they’ve given, how much money they’ve made over time.
The next table is Passenger information. We can store passenger rating. The interaction between a Passenger and a Driver creates a Ride, but we can split that into categories and store them in different tables. And we use less space and memory to manage that data, but we need SQL to make these tables talk to each other. We can connect a Ride to a Passenger and a Driver with an ID.
What are other database tools like MySQL and NoSQL?
SQL is a standard language – adding new methods and definitions is standardized. But there are different flavors or variants of SQL – mySQL and Postgres are the most common.
MySQL is just a platform – it can run within a console or a shell. It’s basically the SQL language plus a bit of spice.
NoSQL is more of a methodology than a package. It stands for Not Only SQL. I think this is a study in bad branding, because it sounds like you won’t need to use SQL, but in fact the opposite is true. SQL is the core, but they’ve added on cool functionality for the internet age. The scale of data is bigger than ever before, and we can move from relational databases into more loosely structured databases.
Which companies use SQL?
I would flip the question – which companies don’t use SQL? I’d put money on you not being able to find one. Any time you have a lot of data, you’ll see SQL.
- Facebook is a big user of SQL and actually created their own variant called Hive.
- Microsoft, of course, runs SQL on all of their internal platforms.
- Google’s Cloud is centered around SQL.
Why are people still using SQL after 32 years?
I think it’s because SQL is super intuitive. Other languages die down and get replaced as something better and faster comes along. But SQL is very simple and focused on doing certain things very well. Even if SQL will be dead in 5 to 10 years (which I doubt), that’s still a long time to be able to empower yourself.
Regardless of how long it will be around, I think SQL is one of the best languages for someone new to Computer Science and programming. It’s simple, you can interact with a database, you don’t need a fancy computer or connection to get started.
Should beginners learn SQL?
For those who are thinking, “well I don’t know any programming languages and I can’t wrap my head around this.” I want to say – SQL is about as easy as it gets for beginners. I can’t think of a language written more like English. By the end of the first 3 hours in our SQL Fundamentals course, you’ll already be doing basic queries and modifying data.
There are a lot of people who would benefit from learning SQL:
- Anyone who is using Excel. If you’re making Pivot Tables or using Visual Basic (VBA) to create macros or automate things, then SQL is a natural evolution of that and the perfect next step. Even if it’s not Excel, you may be using Salesforce or another platform with datasets and records of people, things, products, etc. SQL has less overhead than these platforms, it’s scalable and fast, and it’s also customizable.
- It’s also something I recommend for data science bootcamp students. We teach SQL in the bootcamp curriculum, so getting the basics down beforehand is a great idea.
- Someone who is interviewing for data-related roles. We hear a lot of SQL questions being asked in interviews – it’s a great language to gauge communication skills.
- For someone who used to work with SQL, our Metis SQL fundamentals course would be a great refresher.
How can beginners start learning SQL?
- If you want a really low threshold introduction, Khan Academy is always great. I refresh myself on math concepts (and even show my kids videos) on Khan Academy
- Codecademy and W3 Schools have interactive capabilities and host mini-data sets to play around with
- We teach SQL at our immersive data science bootcamp, but this will be in the context of machine learning and building models. Currently, my students are taking data from different online repositories and hosting it in their own databases.
- The Metis 12-hour SQL Fundamentals course, a SQL course for beginners
Tell us about the Metis SQL Fundamentals course!
The course is called SQL Fundamentals because there’s no requirement to have ever used or touched SQL before. This is a 12-hour program and it’s accessible to anyone who is motivated to stick through the course. We’ll start at a low bar but we’ll move quite quickly. You can turn around and start using these skills right away on the job.
It’s live online, so you’ll have an instructor and a TA. The instructor will teach different concepts for the first half of each class, and the second half will be playing around with data.
In the curriculum, we’ll cover:
- Creating and managing new tables: We use two real-world data sets, one about soccer and one about tennis. I selected these data sets because they have characteristics similar to business cases (you don’t need to be a sports fan).
- Queries: we’ll pull the subset of data you want and join to different tables
- Subqueries: nesting queries inside of each other
- Sets: Pulling de-duplicated lists
- Functions: you can do a number of math calculations right in SQL
- Advanced Data Management: Best practices for designing databases, changing permissions, etc.
What types of students should take a SQL course?
The students who we’re looking for have these 4 criteria:
- Grit – SQL isn’t the prettiest thing in the world, but that’s why people get paid so much to do it. It’s in demand!
- Curiosity – you should have curiosity about how data relates to each other
- Creativity – our class will get you from beginner to intermediate, but it will allow you to get really creative with the limited methods you learn.
- Attention to detail – you need to have a keen eye for syntax and making sure that the data you pull is correct. You need to be careful, back up your data etc – you don’t want to delete all of your company’s data!
Jonathan, thank you so much – that was a great primer and if folks want to learn more about SQL, SQL is a part of any goodbootcamp’s curriculum, but specifically, you can check out Metis’ new SQL Fundamentals class.
Episode 34: October 2018 Bootcamp News
Read or listen to our October 2018 roundup of news and trends in the coding education industry!
Ultimate Guide to Learning Blockchain
Blockchain is taking over the world, but what is it?
Where Are They Now?
Bootcampers 3 years later...