Nanodegree key: nd072
Version: 1.0.0
Locale: en-us
Learn SQL.
Master SQL, the core language for data analysis and enable insight-driven decision-making and strategy for your business.
Content
Part 01 : Welcome to the SQL Nanodegree Program
Welcome to the SQL Nanodegree program! Learn more about the pre-requisites, structure of the program, and getting started!
-
Module 01: SQL Nanodegree Program Orientation
-
Lesson 01: SQL Nanodegree Program Introduction
Welcome to the SQL Nanodegree program! In this lesson, you will learn more about the structure of the program and meet your instructors.
-
Lesson 02: Knowledge, Community, and Careers
You are starting a challenging but rewarding journey! Take 5 minutes to read how to get help with projects and content.
-
Part 02 : Introduction to SQL
When it comes to extracting insights from stored data, SQL is one of the most versatile tools available.
Learn how to execute core SQL commands to define, select, manipulate, control access, aggregate and join data and data tables. Understand when and how to use subqueries, several window functions, as well as partitions to complete complex tasks. Clean data, optimize SQL queries, and write select advanced JOINs to enhance analysis performance. Explain which cases you would want to use particular SQL commands, and apply the results from queries to address business problems.
-
Module 01: Introduction to SQL
-
Lesson 01: Basic SQL
In this section, you will gain knowledge about SQL basics for working with a single table. You will learn the key commands to filter a table in many different ways.
- Concept 01: Welcome to Intro to SQL course
- Concept 02: Video: SQL Introduction
- Concept 03: Video: The Parch & Posey Database
- Concept 04: Video + Text: The Parch & Posey Database
- Concept 05: Quiz: ERD Fundamentals
- Concept 06: Video: Why SQL
- Concept 07: Video: How Databases Store Data
- Concept 08: Types of Databases
- Concept 09: Video: Types of Statements
- Concept 10: Statements
- Concept 11: Video: SELECT & FROM
- Concept 12: Your First Queries in SQL Workspace
- Concept 13: Solution: Your First Queries
- Concept 14: Formatting Best Practices
- Concept 15: Video: LIMIT
- Concept 16: Quiz: LIMIT
- Concept 17: Solution: LIMIT
- Concept 18: Video: ORDER BY
- Concept 19: Quiz: ORDER BY
- Concept 20: Solutions: ORDER BY
- Concept 21: Video: ORDER BY Part II
- Concept 22: Quiz: ORDER BY Part II
- Concept 23: Solutions: ORDER BY Part II
- Concept 24: Video: WHERE
- Concept 25: Quiz: WHERE
- Concept 26: Solutions: WHERE
- Concept 27: Video: WHERE with Non-Numeric Data
- Concept 28: Quiz: WHERE with Non-Numeric
- Concept 29: Solutions: WHERE with Non-Numeric
- Concept 30: Video: Arithmetic Operators
- Concept 31: Quiz: Arithmetic Operators
- Concept 32: Solutions: Arithmetic Operators
- Concept 33: Text: Introduction to Logical Operators
- Concept 34: Video: LIKE
- Concept 35: Quiz: LIKE
- Concept 36: Solutions: LIKE
- Concept 37: Video: IN
- Concept 38: Quiz: IN
- Concept 39: Solutions: IN
- Concept 40: Video: NOT
- Concept 41: Quiz: NOT
- Concept 42: Solutions: NOT
- Concept 43: Video: AND and BETWEEN
- Concept 44: Quiz: AND and BETWEEN
- Concept 45: Solutions: AND and BETWEEN
- Concept 46: Video: OR
- Concept 47: Quiz: OR
- Concept 48: Solutions: OR
- Concept 49: Text: Recap & Looking Ahead
-
Lesson 02: SQL Joins
In this lesson, you will learn how to combine data from multiple tables together.
- Concept 01: Video: Motivation
- Concept 02: Video: Why Would We Want to Split Data Into Separate Tables?
- Concept 03: Video: Introduction to JOINs
- Concept 04: Text + Quiz: Your First JOIN
- Concept 05: Solution: Your First JOIN
- Concept 06: Text: ERD Reminder
- Concept 07: Text: Primary and Foreign Keys
- Concept 08: Quiz: Primary - Foreign Key Relationship
- Concept 09: Text + Quiz: JOIN Revisited
- Concept 10: Video: Alias
- Concept 11: Quiz: JOIN Questions Part I
- Concept 12: Solutions: JOIN Questions Part I
- Concept 13: Video: Motivation for Other JOINs
- Concept 14: Video: LEFT and RIGHT JOINs
- Concept 15: Text: Other JOIN Notes
- Concept 16: LEFT and RIGHT JOIN
- Concept 17: Solutions: LEFT and RIGHT JOIN
- Concept 18: Video: JOINs and Filtering
- Concept 19: Quiz: Last Check
- Concept 20: Solutions: Last Check
- Concept 21: Text: Recap & Looking Ahead
-
Lesson 03: SQL Aggregations
In this lesson, you will learn how to aggregate data using SQL functions
- Concept 01: Video: Introduction to Aggregation
- Concept 02: Video: Introduction to NULLs
- Concept 03: Video: NULLs and Aggregation
- Concept 04: Video + Text: First Aggregation - COUNT
- Concept 05: Video: COUNT & NULLs
- Concept 06: Video: SUM
- Concept 07: Quiz: SUM
- Concept 08: Solution: SUM
- Concept 09: Video: MIN & MAX
- Concept 10: Video: AVG
- Concept 11: Quiz: MIN, MAX, & AVG
- Concept 12: Solutions: MIN, MAX, & AVG
- Concept 13: Video: GROUP BY
- Concept 14: Quiz: GROUP BY
- Concept 15: Solutions: GROUP BY
- Concept 16: Video: GROUP BY Part II
- Concept 17: Quiz: GROUP BY Part II
- Concept 18: Solutions: GROUP BY Part II
- Concept 19: Video: DISTINCT
- Concept 20: Quiz: DISTINCT
- Concept 21: Solutions: DISTINCT
- Concept 22: Video: HAVING
- Concept 23: HAVING
- Concept 24: Solutions: HAVING
- Concept 25: Video: DATE Functions
- Concept 26: Video: DATE Functions II
- Concept 27: Quiz: DATE Functions
- Concept 28: Solutions: DATE Functions
- Concept 29: Video: CASE Statements
- Concept 30: Video: CASE & Aggregations
- Concept 31: Quiz: CASE
- Concept 32: Solutions: CASE
- Concept 33: Text: Recap
-
Lesson 04: SQL Subqueries & Temporary Tables
In this lesson, you will learn about subqueries, a fundamental advanced SQL topic. This lesson will walk you through the appropriate applications of subqueries, the different types of subqueries, and review subquery syntax and examples.
- Concept 01: Introduction to Subqueries
- Concept 02: Subqueries in Real-world Applications
- Concept 03: Subqueries vs. Joins
- Concept 04: Subqueries and Joins Deep-dives
- Concept 05: Subquery Basics
- Concept 06: Subqueries: Placement
- Concept 07: Placement: WITH
- Concept 08: Placement: Nested
- Concept 09: Placement: Inline
- Concept 10: Placement: Scalar
- Concept 11: Subqueries: Dependencies
- Concept 12: Write Your First Subquery
- Concept 13: Solutions: Write Your First Subquery
- Concept 14: Subquery Formatting
- Concept 15: Subquery Examples
- Concept 16: More Subquery Examples
- Concept 17: Subquery Example: Challenge
- Concept 18: Subquery Examples: Solution to Challenge
- Concept 19: Quiz: Subquery Mania
- Concept 20: Solution: Subquery Mania
- Concept 21: Practicing a WITH Subquery
- Concept 22: Quiz: WITH
- Concept 23: Solutions: WITH
- Concept 24: Subquery Tradeoffs
- Concept 25: Subquery Strategy
- Concept 26: Subquery Conclusion
-
Lesson 05: SQL Data Cleaning
Cleaning data is an important part of the data analysis process. You will be learning how to perform data cleaning using SQL in this lesson.
- Concept 01: Introduction to SQL Data Cleaning
- Concept 02: Data Cleaning Real-world Applications
- Concept 03: Data Cleaning Strategy
- Concept 04: Methods to Cover
- Concept 05: Commonly-Used Data Functions
- Concept 06: LEFT, RIGHT, SUBSTR
- Concept 07: Quiz: LEFT & RIGHT
- Concept 08: Solutions: LEFT & RIGHT
- Concept 09: BONUS Concept: STRING_SPLIT
- Concept 10: CONCAT
- Concept 11: Quiz: CONCAT, LEFT, RIGHT, and SUBSTR
- Concept 12: CAST
- Concept 13: Quiz: CAST
- Concept 14: Solutions: CAST
- Concept 15: Advanced Cleaning Functions
- Concept 16: POSITION, STRPOS
- Concept 17: Quiz: POSITION, STRPOS
- Concept 18: Solutions: POSITION, STRPOS
- Concept 19: Quiz: CONCAT & STRPOS - Bringing it together
- Concept 20: Solutions: CONCAT & STRPOS - Bringing it together
- Concept 21: COALESCE
- Concept 22: Quiz: COALESCE
- Concept 23: Solutions: COALESCE
- Concept 24: Recap: Data Cleaning
-
Lesson 06: SQL Window Functions
Window functions allow users to compare one row to another without doing any joins using one of the most powerful concepts in SQL data analysis.
- Concept 01: Introduction to Window Functions
- Concept 02: Window Functions in Real-world Applications
- Concept 03: What is a Window Function?
- Concept 04: Terms to be Covered
- Concept 05: Core Window Functions
- Concept 06: Quiz: Window Functions 1
- Concept 07: Solutions: Window Functions 1
- Concept 08: Quiz: Window Functions 2
- Concept 09: Solutions: Window Functions 2
- Concept 10: Group By vs. Window Functions
- Concept 11: Aggregates in Window Functions
- Concept 12: Quiz: Aggregates in Window Functions
- Concept 13: Solutions: Aggregates in Window Functions
- Concept 14: Ranking Window Functions
- Concept 15: Quiz: ROW_NUMBER & RANK
- Concept 16: Solutions: ROW_NUMBER & RANK
- Concept 17: Advanced Functions: Aliases for Multiple Window Functions
- Concept 18: Quiz: Aliases for Multiple Window Functions
- Concept 19: Solutions: Aliases for Multiple Window Functions
- Concept 20: Comparing a Row to Previous Row
- Concept 21: Comparing Adjacent Row Values: LAG and LEAD
- Concept 22: Quiz: Comparing a Row to Previous Row
- Concept 23: Solutions: Comparing a Row to Previous Row
- Concept 24: Percentiles
- Concept 25: Quiz: Percentiles
- Concept 26: Solutions: Percentiles
- Concept 27: Window Functions Conclusions
-
Lesson 07: SQL Advanced JOINS & Performance Tuning
Learn advanced joins and how to make queries that run quickly across giant datasets. Most of the examples in the lesson involve edge cases, some of which come up in interviews.
- Concept 01: Video: Introduction to Advanced SQL
- Concept 02: Text + Images: FULL OUTER JOIN
- Concept 03: Quiz: FULL OUTER JOIN
- Concept 04: Solutions: FULL OUTER JOIN
- Concept 05: Video: JOINs with Comparison Operators
- Concept 06: Quiz: JOINs with Comparison Operators
- Concept 07: Solutions: JOINs with Comparison Operators
- Concept 08: Video: Self JOINs
- Concept 09: Quiz: Self JOINs
- Concept 10: Solutions: Self JOINs
- Concept 11: Video: UNION
- Concept 12: Quiz: UNION
- Concept 13: Solutions: UNION
- Concept 14: Video: Performance Tuning Motivation
- Concept 15: Video + Quiz: Performance Tuning 1
- Concept 16: Video: Performance Tuning 2
- Concept 17: Video: Performance Tuning 3
- Concept 18: Video: JOINing Subqueries
- Concept 19: More Practice!
- Concept 20: Video: SQL Completion Congratulations
-
Lesson 08: Deforestation Exploration
In this project, students will be putting their SQL skills to the test to help determine where to concentrate efforts to combat deforestation.
-
Part 03 : Management of Relational & Non-Relational Databases
Databases need to be structured properly to enable efficient and effective querying and analysis of data. Build normalized, consistent, and performant relational data models. Use SQL Database Definition Language (DDL) to create the data schemas designed in Postgres and apply SQL Database Manipulation Language (DML) to migrate data from a denormalized schema to a normalized one. Understand the tradeoffs between relational databases and their non-relational counterparts, and justify which one is best for different scenarios. With a radical shift of paradigms, learn about MongoDB and Redis to get an understanding of the differences in behaviors and requirements for non-relational databases.
-
Module 01: Management of Relational & Non-Relational Databases
-
Lesson 01: Intro to DBMS: Relational and Non-Relational Databases
Get introduced to database management systems, as well as learning the difference between relational and non-relational databases.
- Concept 01: Meet Your Instructor
- Concept 02: Prerequisites
- Concept 03: Introduction to SQL vs. NoSQL
- Concept 04: The Importance of Trade-offs
- Concept 05: History of "SQL vs NoSQL"
- Concept 06: Course Outline
- Concept 07: Tools, Environment & Dependencies
- Concept 08: Project: Udiddit, A Social News Aggregator
- Concept 09: Good Luck!
-
Lesson 02: Normalizing Data
Find out about the different forms of normalized data for optimizing database storage.
- Concept 01: Introduction to Data Normalization
- Concept 02: Pitfalls of Denormalized Data
- Concept 03: First Normal Form
- Concept 04: Exercise: First Normal Form
- Concept 05: Solution: First Normal Form Exercise
- Concept 06: Second Normal Form
- Concept 07: Exercise: Second Normal Form
- Concept 08: Solution: Second Normal Form Exercise
- Concept 09: Third Normal Form
- Concept 10: Exercise: Third Normal Form
- Concept 11: Solution: Third Normal Form Exercise
- Concept 12: Edge Case: Valid Repetitions
- Concept 13: Lesson Conclusion
- Concept 14: Glossary
-
Lesson 03: Data Definition Language (DDL)
Learn about the data definition language, such as creating tables and different data types.
- Concept 01: Introduction to SQL DDL with Postgres
- Concept 02: Creating Tables
- Concept 03: Exercise: Creating Tables
- Concept 04: Solution: Creating Tables Exercise
- Concept 05: Numeric Data Types
- Concept 06: Numeric Data Types: Integers
- Concept 07: Numeric Data Types: Decimals
- Concept 08: Text Data Types
- Concept 09: Date/Time Data Types
- Concept 10: Other Data Types
- Concept 11: Exercise: Data Types
- Concept 12: Solution: Data Types Exercise
- Concept 13: Modifying Table Structure
- Concept 14: Exercise: Modifying Table Structure
- Concept 15: Solution: Modifying Table Structure Exercise
- Concept 16: Other DDL Commands
- Concept 17: Lesson Conclusion
- Concept 18: Glossary
-
Lesson 04: Data Manipulation Language (DML)
Dive into the data manipulation language in order to alter existing tables and data.
- Concept 01: Intro to SQL DML with Postgres
- Concept 02: Inserting Data in Postgres: Form One
- Concept 03: Inserting Data in Postgres: Form Two
- Concept 04: Inserting Data in Postgres: Quizzes
- Concept 05: Exercise: Inserting Data in Postgres
- Concept 06: Solution: Inserting Data in Postgres
- Concept 07: Updating Data in Postgres
- Concept 08: Updating Data in Postgres Quizzes
- Concept 09: Exercise: Updating Data in Postgres
- Concept 10: Solution: Updating Data in Postgres
- Concept 11: Deleting Data in Postgres
- Concept 12: Data Manipulation: Transactions
- Concept 13: Final Exercise: Data Manipulation
- Concept 14: Solution: Data Manipulation
- Concept 15: Lesson Conclusion
- Concept 16: Glossary
-
Lesson 05: Consistency with Constraints
Find out how to keep consistency amongst your data by adding constraints.
- Concept 01: Introduction to Consistency
- Concept 02: The Big Picture on Consistency
- Concept 03: Unique Constraints
- Concept 04: Primary Key Constraints
- Concept 05: Exercise: Unique & Primary Key Constraints
- Concept 06: Solution: Unique & Primary Key Constraints
- Concept 07: Foreign Key Constraints
- Concept 08: Foreign Key Constraints: Modifiers
- Concept 09: Exercise: Foreign Key Constraints
- Concept 10: Solution: Foreign Key Constraints Exercise
- Concept 11: Check Constraints
- Concept 12: Check Constraints Quizzes
- Concept 13: Final Review
- Concept 14: Exercise: Final Review
- Concept 15: Solution: Final Review Exercise
- Concept 16: Lesson Conclusion
- Concept 17: Glossary
-
Lesson 06: Performance with Indexes
Maximize your database performance by using indexes when and where appropriate.
- Concept 01: Introduction to Indexing
- Concept 02: Developing Your Intuition About Indexing
- Concept 03: Creating an Index
- Concept 04: Multi-Column Indexes
- Concept 05: Multi-Column Indexes Quizzes
- Concept 06: Unique Indexes
- Concept 07: Exercise: Indexing
- Concept 08: Solution: Indexing Exercise
- Concept 09: Verifying Index Usage with EXPLAIN: Part I
- Concept 10: Verifying Index Usage with EXPLAIN: Part II
- Concept 11: Using EXPLAIN ANALYZE
- Concept 12: Verifying Index Usage with EXPLAIN Quizzes
- Concept 13: Indexing Exercise 2: Indexes + Explain
- Concept 14: Solution: Indexes + Explain Exercise
- Concept 15: Edge Case: Adding Too Many Indexes
- Concept 16: Exercise: Creating a Complete Schema
- Concept 17: Solution: Creating a Complete Schema Exercise
- Concept 18: Lesson Conclusion
- Concept 19: Glossary
-
Lesson 07: Intro to Non-Relational Databases
With your relational database skills in hand, you’re ready for a look into the other side of data, with non-relational databases.
- Concept 01: NoSQL: What's the Deal?
- Concept 02: Big Picture
- Concept 03: Overview: MongoDB and Redis
- Concept 04: Overview: MongoDB and Redis Quizzes
- Concept 05: MongoDB: Getting Started
- Concept 06: MongoDB: Basic Queries
- Concept 07: MongoDB: Further Data Manipulation
- Concept 08: Exercise: Querying MongoDB
- Concept 09: Solution: Querying MongoDB Exercise
- Concept 10: MongoDB: Basic Design Patterns
- Concept 11: Exercise: MongoDB Design Patterns
- Concept 12: Solution: MongoDB Design Patterns Exercise
- Concept 13: Redis by Example
- Concept 14: Redis: Lists, Sets and Hashes
- Concept 15: Redis by Example Quizzes
- Concept 16: Redis: Building Something Useful
- Concept 17: Exercise: Redis
- Concept 18: Solution: Redis Exercise
- Concept 19: Lesson Conclusion
- Concept 20: Glossary
- Concept 21: Course Conclusion
-
Lesson 08: Udiddit, A Social News Aggregator
Investigate a poorly designed database for Udiddit, a social news aggregator. You’ll design a new, normalized and performant database and migrate over data from the previous database.
-
Part 04 : Career Services
The Careers team at Udacity is here to help you move forward in your career - whether it's finding a new job, exploring a new career path, or applying new skills to your current job.
-
Module 01: Nanodegree Career Service
-
Lesson 01: Take 30 Min to Improve your LinkedIn
Find your next job or connect with industry peers on LinkedIn. Ensure your profile attracts relevant leads that will grow your professional network.
- Concept 01: Get Opportunities with LinkedIn
- Concept 02: Use Your Story to Stand Out
- Concept 03: Why Use an Elevator Pitch
- Concept 04: Create Your Elevator Pitch
- Concept 05: Use Your Elevator Pitch on LinkedIn
- Concept 06: Create Your Profile With SEO In Mind
- Concept 07: Profile Essentials
- Concept 08: Work Experiences & Accomplishments
- Concept 09: Build and Strengthen Your Network
- Concept 10: Reaching Out on LinkedIn
- Concept 11: Boost Your Visibility
- Concept 12: Up Next
-