Much of the world's data lives in databases. SQL (or Structured Query Language) is a powerful programming language that is used for communicating with and manipulating data in databases. A working knowledge of databases and SQL is a must for anyone who wants to start a career in Data Engineering, Data Warehousing, Data Analytics, Data Science or Business Intelligence. The purpose of this course is to help you learn and apply foundational and intermediate knowledge of the SQL language, and become familiar with many relational database (RDBMS) concepts along the way. You will start with performing basic Create, Read, Update and Delete (CRUD) operations using CREATE, SELECT, INSERT, UPDATE and DELETE statements. You will then learn to filter, order, sort, and aggregate data. You will work with functions, perform sub-selects and nested queries, as well as JOIN data in multiple tables. You will also work with VIEWS, transactions and create stored procedures. The emphasis in this course is on hands-on, practical learning. As such, you will work with real database systems, use real tools, and real-world datasets. You will create a database instance in the cloud. Through a series of hands-on labs, you will practice building and running SQL queries. At the end of the course you will apply and demonstrate your skills with a final project. The SQL skills you learn in this course will be applicable to a variety of RDBMSes such as MySQL, PostgreSQL, IBM Db2, Oracle, SQL Server and others. No prior knowledge of databases, SQL or programming is required, however some basic data literacy is beneficial.