SQL, or structured query language, is the most common language for extracting and organizing data that is stored in a relational database (tables that consist of rows and columns). It is a specific declarative programming language: queries use names such as SELECT or LIMIT that encapsulate a set of logic. You don’t have to specify each logical step behind what you’re trying to do in order to use SQL, you can merely declare functions that align with what you’re seeking to perform (e.g., select a portion of the data from a table with the query SELECT) instead of laying out each step.
Getting to Know SQL
SQL is a mainstay for most people working with data, as many databases are managed relationally. This means that data is stored in a tabular fashion, with data points associated with a central key.
(Image source: screenshot)
In the example above, you can see that each row has a country name as a central key, with the column labeled “name” being the center of the data following it. If you work throughout the row, you’ll be able to get data pieces that are related to the country name: the “continent” the country is located in, the “area” it holds, its “population,” and its “gdp” metrics.
SQL is used to manage databases. Data analysts will use SQL to query tables of data and derive insights from it. Data scientists will use SQL to load data into their models. Data engineers and database administrators will use SQL to ensure that everybody in their company has easy and intuitive access to the data they need.
Most websites will have a SQL backend that automatically stores everything from user details to user engagement across a particular app.
There are different versions and frameworks for SQL, with the most prominent being MySQL, an open-source solution that helps facilitate SQL’s role in managing back-end data for web applications.
SQL in Action
SQL is written to be a query language—it’s meant to be an intuitive way to access data. What it sacrifices in terms of pure functionality, it gains in terms of making data queries accessible. This is why many projects still use SQL and its associated frameworks (such as MySQL) as their data storage and querying solution.
Most websites will use SQL as a back-end data storage and data processing solution. Examples of this include Facebook and Yahoo—both use MySQL as a backend to store data and to process it.
SQL Developer Salaries
The average salary for most SQL-skilled programmers is about $70,000, though there’s a split between data analysts who use SQL (who tend to earn less) and software engineers and programmers who use SQL (who tend to earn more). If you’re a data scientist or data engineer who is creating pipelines for other people to analyze, you’ll earn more than the data analyst whose job is focused on querying the data and presenting it to others.
In order to learn SQL, you’ll want to first start with a tool like SQLZoo, an interactive interface that will allow you to practice different queries all the way from basic SELECT functionality to advanced subqueries. Use the quiz sections and stick it out until the very end: practice makes perfect!
You’ll want to focus on these learning objectives:
- Understanding how to perform basic SQL commands and get the data you need from a database
- Understanding the concept of SQL tables, how tables are organized, and how to join data from different tables in order to create a greater subselection of data
- Using SQL to perform calculations and aggregations for you on the data you’ve selected and queried
- Using SQL to present your findings in a visual or table-like manner
- Structuring and creating SQL databases that are intuitive for others to query data
(Image source: screenshot)
A critical skill to leave with is the ability to interface with multiple SQL tables. You won’t be able to get much done with complex databases without the ability to manipulate JOIN queries with precision. As an example, the tables above are related in such a way that data about actors and movies is placed separately: in order to process any data that involves their union (e.g. which actors appeared in which movies?), you’ll need to master JOINs.
Mode Analytics also offers a way for you to exercise your SQL skills in order to solve different business case situations with a free tutorial class filled with structured, real-life uses of SQL.
By going through both resources, you’ll learn the technical underpinnings of SQL methods. Then you’ll start understanding the mentality of the data analyst who uses SQL to extract and process data. You’ll have the technical chops to play with the data and the business savvy to meaningfully use that ability.
This listable will provide you with more than 18 resources to help accelerate your SQL learning. Should you ever need a refresh on SQL concepts and some practice with queries, you can always use W3School’s section on SQL.
Another resource that might be more beginner-friendly in terms of placing people directly in a production environment is Codecademy’s Node.js and SQLite course. If you take the previous courses, you’ll get greater context on the back end of any particular system, and you’ll be able to interact with SQL in a way that is more natural than just blankly querying it. You’ll be able to structure tables of your own and think through how to process data not only for yourself but for others.
Codecademy also has an introduction to SQL that becomes a bridge to their data analysis course.
This post was written by Roger Huang. It’s adapted from his 80-page guide on how to get a programming job without a degree, curated from his experience helping students at Springboard.
Roger is a former entrepreneur who taught himself Python and data analysis skills. After working with Springboard to grow career track offerings, Roger is now working on making cryptocurrencies accessible for all.
Ready for more? To further develop your data science skills, check out Springboard’s Data Science Career Track today.