SQL - MySQL for Data Analytics and Business Intelligence
4.5 (6,436 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
26,457 students enrolled

SQL - MySQL for Data Analytics and Business Intelligence

SQL that will get you hired – SQL for Business Analysis, Marketing, and Data Management
Bestseller
4.5 (6,436 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
26,457 students enrolled
Created by 365 Careers
Last updated 3/2019
English
English [Auto-generated], Indonesian [Auto-generated], 5 more
  • Italian [Auto-generated]
  • Polish [Auto-generated]
  • Portuguese [Auto-generated]
  • Romanian [Auto-generated]
  • Spanish [Auto-generated]
Current price: $11.99 Original price: $194.99 Discount: 94% off
2 days left at this price!
30-Day Money-Back Guarantee
This course includes
  • 9.5 hours on-demand video
  • 147 articles
  • 91 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to Udemy's top 3,000+ courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Become an expert in SQL
  • Learn how to code in SQL

  • Boost your resume by learning an in-demand skill

  • Create, design, and operate with SQL databases
  • Start using MySQL – the #1 Database Management System
  • Prepare for SQL developer, Database administrator, Business Analyst, and Business Intelligence job opportunities
  • Adopt professionally tested SQL best practices
  • Gain theoretical insights about relational databases
  • Work with a sophisticated real-life database throughout the course
  • Get maximum preparation for real-life database management
  • Add data analytical tools to your skillset
  • Develop business intuition while solving tasks with big data
  • Study relational database management theory that you will need in your workplace every day
  • Learn how to create a database from scratch
  • The ability to take control of your dataset – insert, update, and delete records from your database
  • Be confident while working with constraints and relating data tables
  • Become a proficient MySQL Workbench user
  • Acquire top-notch coding techniques and best practices
  • Know how to answer specific business questions by using SQL’s aggregate functions
  • Handle complex SQL joins with ease
  • Approach more advanced topics in programming like SQL’s triggers, sequences, local and global variables, indexes, and more
  • Merge coding skills and business acumen to solve complex analytical problems
  • Become a proficient SQL user by writing flawless and efficient queries
  • Tons of exercises that will solidify your knowledge
  • The freedom to query anything you like from a database
Requirements
  • No prior experience is required. We will start from the very basics
Description

How important is database management in the age of big data and analytics?

It is really important.   


How many employers would be happy to hire employees who can use data for the purposes of business intelligence?   

All of them.  

How many people have these skills?

Not enough.  

This is why now is the time to learn SQL and gain a competitive advantage in the job market. Remember, the average salary of a SQL developer is $92,000! That’s a lucrative career.   


How come?   

Well, when you can work with SQL, it means you don’t have to rely on others sending you data and executing queries for you. You can do that on your own. This allows you to be independent and dig deeper into the data to obtain the answers to questions that might improve the way your company does its business. For instance, Database management is the foundation for data analysis and intelligent decision making.   


Worried that you have no previous experience? 

Not an issue. We will start from the very basics and gradually teach you everything you need to know. Step by step. With no steps skipped.   


Why take this course in particular? Isn’t it like the rest of the SQL courses out there?  

We would like to think it isn’t. Our team worked hard to create a course that is:  

  • Easy to understand  

  • Time efficient and concise  

  • Shows how SQL can be crucial for data analytics and business intelligence   


  • Comprehensive – it covers several topics not shown in other SQL courses   


  • Practical – it teaches you how to work with a real-life database   


  • Corresponds to professional best practices  

  • Taught in MySQL – The most popular SQL database management system  

  • Contains plenty of downloadable exercises, course notes, and quiz questions  

Some of these aspects have been covered in other courses. Others haven’t. However, no one provides such a variety of topics in one place.  

We firmly believe this course is the best training material out there. It is a truly interactive experience preparing you for a real-life working environment.   


We love teaching   

So far, over 210,000 students have enrolled in our courses here on Udemy. Teaching is what we do best, and we take pride in going the extra mile to create the best content for you, our students. Our mission is to help you bridge the gap between theoretical knowledge taught at school and in universities and the practical application required at the workplace.   

So, why do you need to enroll in this course and learn SQL?  

  1. Salary/Income. As we pointed out earlier, learning SQL is a great opportunity. There is a significant surge in demand for skills revolving around database management, database administration, and business analysis relying on data. Companies will pay top dollars for specialists who have such know-how  

  2. Profession of the future. In the years to come, data will only grow in importance and size. Therefore, it is great to pick up a skill that will likely increase in demand over the years to come  

  3. Analytical reasoning. Programming languages are a great way to train your mind. Furthermore, understanding a business task and looking for its solution through writing code can be really interesting and stimulating once you become familiar with the basics  

What about certificates? Do you provide a certificate?

Upon completion of the course, you will be able to download a certificate of completion with your name on it. Then, you can upload this certificate on LinkedIn and show potential employers this is a skill you possess.  

Sounds awesome, right?  

So, what are you waiting for? Click the “Take this course” button, and let’s begin this journey together!  

Who this course is for:
  • People interested in SQL developer, Database administrator, Business Analyst, and Business Intelligence job opportunities
  • Beginners to programming
  • Everyone who wants to learn how to code and apply their skills in practice
Course content
Expand all 279 lectures 09:39:18
+ Introduction to databases, SQL, and MySQL
4 lectures 14:12

In this video we will discuss:

  • what this course is about
  • who it is for
  • the heterogeneous set of topics we have prepared for you in the course curriculum
Preview 04:14

Why study SQL?

Whether you are working in Business Intelligence (BI), data science, database administration, or back-end development, you will have to retrieve information from a server storing large amounts of data. To achieve this, you’ll need SQL.

Preview 03:17
Why SQL?
2 questions

Why did we choose MySQL and not some other relational database management system?

Because it is:

  • reliable
  • mature
  • open-source
Preview 01:57
Why MySQL?
1 question

You will be much faster in learning and writing efficient queries if you go through a brief introduction to databases. It is the best thing to begin with, so in this video we will discover terms like:

  • record
  • field
  • data table
  • data entity
  • database
  • relation
  • and much more.
Preview 04:44
Introduction to databases
2 questions
+ SQL theory
6 lectures 20:34

Although with some procedural elements, SQL is mainly regarded as a declarative programming language, it is nonprocedural. This means, while coding, you will not be interested in how you want the job done. The focus is on what result you want to obtain.

SQL as a declarative language
02:10
SQL as a declarative language
2 questions

The Data Definition Language, DDL, is called a language, but you can think of it as a syntax, a set of statements that allow the user to define or modify data structures and objects, such as tables. Examples of the statements of the Data Definition Language are:

  • CREATE
  • ALTER
  • RENAME
  • TRUNCATE
Data definition language (DDL)
04:12
Data definition language (DDL)
1 question

A brief explanation on what SQL keywords are about.

SQL keywords
01:12
SQL keywords
1 question

We will learn about some DML statements that allow us to manipulate the data in the tables of a database:

  • SELECT
  • INSERT
  • UPDATE
  • DELETE
Data manipulation language (DML)
04:55
Data manipulation language (DML)
1 question

The Data Control Language is a syntax containing only two statements – GRANT and REVOKE. These statements allow us to manage the rights users have in a database.

Data control language (DCL)
05:03
Data control language (DCL)
1 question

A brief introduction the Transaction Control Language (TCL) and its application.

Transaction control language (TCL)
03:02
Transaction control language (TCL)
1 question
+ Basic database terminology
7 lectures 34:53

In this lesson, we will provide you with the tools that are essential for dealing with relational databases. They will help you maintain a database that can be characterized as:

  • compact
  • well-structured
  • efficient
Preview 04:51
Relational database essentials
2 questions

In this lecture, we will focus on the differences between spreadsheets and databases. This exercise will be relevant not only for current Excel users. Those of you who do not use Excel regularly will still have the chance to understand the advantages and the disadvantages of using databases or spreadsheets. 

Preview 08:06
Databases vs spreadsheets
2 questions

To complete our theoretical preparation, we will need to learn more database terminology. We will discuss the meaning of such terms as:

  • database designer
  • entity-relationship diagram
  • relational and database schema
  • database manipulation, management, and administration
Database terminology
04:17
Database terminology
1 question

In this video, we will introduce the concept of using primary keys in MySQL.

Relational schemas - Primary key
04:55
Relational schemas - Primary key
1 question

In this lesson, we will present the concept of using foreign keys in MySQL, as well as their relation to primary keys.

Relational schemas - Foreign key
04:58
Relational schemas - Foreign key
3 questions

Here, we will explain what unique keys are, and will introduce you to null values in SQL.

Relational schemas - Unique key and null values
03:07
Relational Schemas - Unique key
1 question

This is a lecture in which we will try to illustrate that relationships between tables can be categorized. We will study the main types of relationships you will likely need in your workplace.

Relationships
04:39
Relational Schemas – Relationships
1 question
+ Installing MySQL and getting acquainted with the interface
6 lectures 25:13

A guide for the installation of the MySQL server and MySQL Workbench.

Installing MySQL
10:48
Additional note – Installing – Visual C
00:23

This is a visualization that explains which MySQL features we must install and why.

The Client-Server Model
00:00

A brief description of what it means to set up a connection between Workbench and the MySQL Server. 

Setting up a connection
02:34
New Authentication Plugin - Creating a New User
06:18

The focus of this video is getting acquainted with the MySQL Workbench interface.

Introduction to the MySQL interface
05:09
+ First steps in SQL
20 lectures 43:13

In this lesson, we will show you how to create your own database, also called schema, starting from scratch.

Creating a Database - Part I
05:12
SQL files
00:49
Creating a Database - Part I - exercise
00:06
Creating a Database - Part I - solution
00:03

In this video, we will look at the MySQL Workbench interface in more detail as it can help us manage our database better. 

Creating a Database - Part II
02:21
Creating a Database - Part II - exercise
00:02
Creating a Database - Part II - solution
00:00

In this lecture, we will introduce you to the measures that characterize the various data types available in SQL.

Introduction to data types
02:16
Introduction to data types
1 question

The text format in SQL is called string. In this lecture, we will explore a few string data types in SQL.

String data types
05:01
String data types
2 questions

Numbers are stored in so-called numeric data types. We will go through the most notable types in MySQL – integer, fixed-point, and floating-point data types.

Integers
04:10
Integers
1 question

In this lesson, we will compare two numeric data types in SQL – the fixed-point and the floating-point data type. 

Fixed and floating-point data types
05:43
Fixed and floating-point data types
1 question

In addition to string and numeric data types, SQL allows you to store data that represents a date, time, binary, or list of options, amongst others. In this lesson, we will cover a few noteworthy data types that you will frequently see and work with.

Other useful data types
06:12
Other useful data types
1 question

In this lecture, we will take our “first steps” into creating SQL tables. We will study in a bit more detail the rules allowing us to create a table. 

Creating a table
05:16
Creating a table - exercise
00:10
Creating a table - solution
00:12

In this video we will explain what the purpose of using queries is. As an example, we will use a query to set a default database.

Using databases and tables
03:03
Using databases and tables - exercise
00:10
Using databases and tables - solution
00:02

Here we will share a few notes on using data tables in MySQL.

Additional notes on using tables
02:12
Additional notes on using tables
1 question
Additional notes on using tables - exercise
00:09
+ MySQL constraints
16 lectures 36:34

In this section, we’ll learn how to assign constraints on tables. Our focus in this lesson will be on the primary key constraint.

PRIMARY KEY constraint
05:23
PRIMARY KEY Constraint
1 question
PRIMARY KEY constraint - exercise
00:26
PRIMARY KEY constraint - solution
00:21

You know that relationships between the tables in a database are formed through the interaction between primary and foreign keys. We’ll learn how to work with the latter in this lecture.

FOREIGN KEY constraint - Part I
05:25

In this video, we will execute the query we created during the previous lesson, and then we will present a few possible ways to add a foreign key constraint in SQL.

FOREIGN KEY constraint - Part II
05:26
FOREIGN KEY constraint - Part II - exercise
00:07
FOREIGN KEY constraint - Part II - solution
00:03

Unique keys ensure that all values in a column (or a set of columns) are different. Just like primary and foreign keys, unique keys are implemented in SQL through a constraint – the Unique constraint.

UNIQUE Constraint
05:00
UNIQUE Constraint - exercise
00:35

The DEFAULT constraint helps us assign a default value to every row of a column. In this lecture, we will go through a couple of examples that will best clarify the subject.

DEFAULT Constraint
05:24
DEFAULT Constraint - exercise
00:12
DEFAULT Constraint - solution
00:06

The “not null” restriction in MySQL is applied through the NOT NULL constraint. It means that, when you insert values in the table, you cannot leave the respective field empty. And if you leave it empty, MySQL will signal an error.

NOT NULL Constraint - Part I
05:53
NOT NULL Constraint - Part I - exercise
00:05
NOT NULL Constraint - Part I - solution
00:05

In this lesson we will explain the differences between the following three elements:

  • a NULL value
  • a “NONE” response
  • the number zero
NOT NULL Constraint - Part II
01:59
+ SQL best practices
2 lectures 09:45

Throughout the course, we are strictly complying with coding style rules. There are many ways you can write your SQL code, but there are only a few that are considered to be professional.

Coding techniques and best practices - Part I
05:34
Coding techniques and best practices – Part I
1 question

Here we’ll apply what we learned in the previous lecture in an exercise.

Coding techniques and best practices - Part II
04:11
Coding techniques and best practices – Part II
2 questions
+ Loading the 'employees' database
2 lectures 02:58

In the remaining part of the course, you’ll be manipulating data in MySQL. To help you achieve this goal, we have re-organized the huge ‘employees’ database script in an SQL file that you can download and run in Workbench. 

Loading the 'employees' database
02:19
Loading the 'employees' database
00:39
+ SQL SELECT statement
58 lectures 01:13:29

The statement you will be using almost all the time is SELECT. It is one of the most important statements in MySQL and SQL. When extracting information, SELECT goes with FROM. You are always selecting something from a certain table or other types of SQL objects. 

SELECT - FROM
04:57
SELECT - FROM - exercise
00:05
SELECT - FROM - solution
00:05

In the body of the query, after the SELECT - FROM structure we’ve already seen, we must add the WHERE keyword and then specify a condition. In the lectures to come, we will examine all possible types of conditions to be used after the WHERE clause.

WHERE
02:30
WHERE - exercise
00:03
WHERE - solution
00:04

AND is an operator that allows you to logically combine two statements in the condition code block.

AND
02:14
AND - exercise
00:03
AND - solution
00:05

In this lecture, we will see the output we can expect when declaring conditions with the OR operator. 

OR
03:35
OR - exercise
00:03
OR - solution
00:05

This video will introduce you to the logical order with which you must comply when you use both the AND and OR operators in the same WHERE block.

Operator precedence
03:34
Operator precedence - exercise
00:03
Operator precedence - solution
00:06

Using the IN operator allows for a quicker and more professional way to approach data retrieval when we must satisfy more than two conditions. 

IN - NOT IN
03:12
IN - NOT IN - exercise 1
00:05
IN - NOT IN - solution 1
00:04
IN - NOT IN - exercise 2
00:04
IN - NOT IN - solution 2
00:05

Sometimes you will need to look for a specific pattern in a column. Technically, this requires the use of the LIKE and NOT LIKE operators in combination with parentheses within which the pattern must be indicated.

LIKE - NOT LIKE
03:36
LIKE - NOT LIKE - exercise
00:17
LIKE - NOT LIKE - solution
00:13

This is a brief video about using the following wildcard characters in MySQL:

  • the percentage symbol
  • the underscore symbol
  • the star sign
Wildcard characters
01:44
Wildcard characters - exercise
00:07
Wildcard characters - solution
00:08

The BETWEEN operator helps us designate the interval to which a given value belongs. That’s why it is always used in combination with the AND operator. 

BETWEEN - AND
02:19
BETWEEN - AND - exercise
00:11
BETWEEN - AND- solution
00:19

Next on our agenda is the IS NOT NULL operator. As its name suggests, it will be used to extract values that are not null. IS NULL is simply the operator with opposite functionality.

IS NOT NULL - IS NULL
01:37
IS NOT NULL - IS NULL - exercise
00:03
IS NOT NULL - IS NULL - solution
00:04

In this video, we’ll focus on the way we work with other comparison operators in SQL – the ones derived from mathematics (=, >, >=, <, <=).

Other comparison operators
04:30
Other comparison operators - exercise
00:11
Other comparison operators - solution
00:09

SELECT DISTINCT is the MySQL combination you need to retrieve a list from a data table that contains no duplicate values.

SELECT DISTINCT
02:05
SELECT DISTINCT - exercise
00:14
SELECT DISTINCT - solution
00:03

A separate and more detailed section about MySQL Aggregate Functions follows later in the course. Therefore, in this lesson we will briefly present the idea about using the SELECT statement with aggregate functions.

Introduction to aggregate functions
05:24
Introduction to aggregate functions - exercise
00:10
Introduction to aggregate functions - solution
00:06

The SQL ORDER BY clause is used to sort the output in ascending or descending order. It can be used in combination with the ASC or DESC keywords respectively:

  • ORDER BY… ASC
  • ORDER BY… DESC
ORDER BY
03:46
ORDER BY - exercise
00:03
ORDER BY - solution
00:03

When working in SQL, results can be grouped according to a specific field or fields. Technically, this is done by using the GROUP BY clause. Remember, GROUP BY is one of the most powerful and useful tools in SQL!

GROUP BY
06:00

Knowing how to use an alias, or an alias name, is crucial. This tool will allow you to rename a selection from your query. Doing so won’t change your result, however it can significantly clarify the analysis undertaken.

Using Aliases (AS)
02:08
Using Aliases (AS) - exercise
00:12
Using Aliases (AS) - solution
00:06

HAVING is a clause frequently implemented with GROUP BY because it refines the data in your output from records that do not satisfy a certain condition. 

HAVING
03:26
HAVING - exercise
00:20
HAVING - solution
00:18

In SQL, the conditions defined by the WHERE clause are applied before re-organizing the output into groups, while the conditions set by the HAVING clause are implemented after that moment. In this video, we will elaborate on this key distinction between the two clauses.

Preview 04:03

In this lesson, we will make a few observations on the queries executed in the previous videos.

WHERE vs HAVING- Part II
03:08
WHERE vs HAVING - Part II - exercise
00:07
WHERE vs HAVING - Part II - solution
00:07

To end this extensive section about the SELECT statement, we will show you a few ways in which you could set a limit to the number of rows displayed in the output of a specific query. 

LIMIT
04:51
LIMIT - exercise
00:02
LIMIT - solution
00:03
+ SQL INSERT statement
9 lectures 13:51

In this section, we are ready to explore the SQL INSERT statement in a bit more detail. More precisely, we will focus on the following structure:

  • INSERT INTO… VALUES…
The INSERT statement - Part I
06:04

In this video we will show a few characteristics of the SQL INSERT statement.

The INSERT statement - Part II
02:19
The INSERT statement - exercise 1
00:43
The INSERT statement - solution 1
00:16
The INSERT statement - exercise 2
00:13
The INSERT statement - solution 2
00:14

Here, we will explore a very powerful feature of the SQL INSERT statement – you can use a classical SQL SELECT statement to retrieve information from a table and then insert it into another table. The SQL structure required in this case is:

  • INSERT INTO… SELECT…
Inserting data INTO a new table
03:55
Inserting Data INTO a New Table - exercise
00:05
Inserting Data INTO a New Table - solution
00:01