Zenler Player
Your course is loading. Hang tight.
Writing SQL Queries for PostgreSQL
Back to curriculum
0% Complete
0% Complete
Who is this course for?
Who is Greg?
What will I learn in this course?
Overview of lab setup
Module introduction
What is PostgreSQL?
What is pgSQL?
Types of SQL statements
What are databases?
What are database clusters?
Connecting to PostgreSQL
Connecting to popkornkraze with pgAdmin
What is PSQL?
Finding help and examples for pgSQL syntax
Lab 1: Introduction to querying PostgreSQL
Quiz 1: Introduction to querying PostgreSQL
Module introduction
What are tables?
Finding out what's in a table
What are schemas?
What is Popkorn Kraze ?
SELECT statements
Using aliases for columns and tables
Quoting (delimiting) names
Using 2 part names
ORDER BY clause
Restricting output with OFFSET, FETCH and LIMIT
Removing duplicates with DISTINCT
Querying literals, expressions and functions
Lab 2: Querying a single table
Lab 2: Answers
Quiz 2: Querying a single table
Module introduction
Filtering output with the WHERE clause
Finding patterns with LIKE and ILIKE
Logical operations with AND, OR, and NOT
Logical values withe boolean data type
Ranges of values with the BETWEEN operator
Checking lists of values by using the IN operator
Limiting output rows by using FETCH or LIMIT
Using FETCH WITH TIES
Working with NULL values (the lack of data)
What are user-defined functions?
Lab 3: Filtering the rows to return
Lab 3: Answers
Quiz 3: Filtering the rows to return
Module introduction
Using statement terminators
Working with scripts in pgAdmin
Using query history and scratch pad
Copying and saving query results
Commenting code
Formatting your scripts for readability
Module introduction
What are data types?
Exact whole numbers
Exact decimal numbers
Approximate numbers
Numeric operators
Common numeric functions
Lab 5: Querying numbers
Lab 5: Answers
Quiz 5: Querying numbers
Module introduction
String data types
Literal string values
String operators
Trimming strings with LTRIM, RTRIM, and TRIM
Changing case with UPPER, LOWER
Extracting parts of strings with LEFT, RIGHT, SUBSTRING
Determining the length of strings
Replace substrings
Duplicating strings with REPEAT
Finding substrings with POSITION
Extracting delimited string tokens
Replacing characters with TRANSLATE
Lab 6: Querying strings
Lab 6: Answers
Quiz 6: Querying strings
Module introduction
Date and time data types
Literal date and time values
Current date and time
Extracting components from date and time values
Adding and subtracting date and time values
Calculating date and time differences
Calculating ages
Get string names for date and time parts
Calculating beginning and end of month
Constructing dates and times from components
Changing time zone offsets
Formatting date and time values
Lab 7: Querying dates and times
Lab 7: Answers
Quiz 7: Querying dates and times
Module introduction
Replacing NULL values with COALESCE
Returning NULL When Equal with NULLIF
Comparing NULL values using IS DISTINCT FROM
Implicit vs explicit conversions
Converting data types with CAST function
Converting data types with CAST operator
Other common data types
Lab 8: Converting between data types
Lab 8: Answers
Quiz 8: Converting between data types
Module introduction
Counting rows and columns with COUNT
Summarizing data with SUM, AVG, MIN, MAX
Summarizing data in sections with GROUP BY
Filtering returned groups with HAVING
Understanding logical query execution order
Numbering rows with window functions
Partitioning ranking and numbering with PARTITION BY
Retrieving one row from each group with DISTINCT ON
Other interesting aggregates
Lab 9: Aggregating data
Lab 9: Answers
Quiz 9: Aggregating data
Module introduction
Outputting messages with RAISE NOTICE
Using conditional expressions with CASE
Simplifying conditionals with GREATEST, LEAST
Defining variables and assigning values
Querying system functions
Adding conditional logic with IF, ELSE
Creating loops with WHILE
Creating loops with FOR
Advanced loop options
Lab 10: Implementing logic in scripts
Lab 10: Answers
Module introduction
Using CROSS JOIN
What is a primary key?
What is a foreign key?
Using INNER JOIN
Using modern join syntax
Using LEFT OUTER JOIN
Other OUTER join types
Joining more than two tables
Joining a table to itself (self join)
Joins without equality (non-equi joins)
Lab 11: Querying multiple tables
Lab 11: Answers
Quiz 11: Querying multiple tables
Module introduction
Using UNION and UNION ALL
Excluding data with EXCEPT
Finding common data with INTERSECT
Selecting from set-returning functions
Repetitively selecting with LATERAL joins
Lab 12: Applying set operations to tables
Lab 12: Answers
Quiz 12: Applying set operations to tables
Module introduction
Using subqueries
Using scalar subqueries
Using lists from subqueries
Checking for existence with EXISTS subqueries
Using set-returning subqueries
Using VALUES row constructors
Simplifying queries with common table expressions (CTEs)
Using multiple CTEs in a single query
Lab 13: Using subqueries
Lab 13: Answers
Quiz 13: Using subqueries
Module introduction
What is a stored procedure?
Executing stored procedures
Executing dynamic SQL statements
Querying the system catalog
Lab 14: Working with stored procedures and catalog views
Lab 14: Answers
Module introduction
Inserting data into a table
Inserting multiple rows at once with VALUES
What are default constraints?
What are identity columns?
Identifying the last values inserted
What is a check constraint?
What is a unique constraint?
Deleting rows from a table
Inserting rows with data from another table
Selecting rows into a new table
Truncating a table vs deleting all rows
Updating data in a table
Merging data into a table
Lab 15: Modifying data
Lab 15: Answers
Quiz 15: Modifying data
Summary and further steps
Module 0: Getting started
Who is this course for?
Preview
Who is Greg?
Preview
What will I learn in this course?
Preview
Overview of lab setup
Module 1: Introduction to querying PostgreSQL
Module introduction
What is PostgreSQL?
What is pgSQL?
Types of SQL statements
What are databases?
What are database clusters?
Connecting to PostgreSQL
Connecting to popkornkraze with pgAdmin
What is PSQL?
Finding help and examples for pgSQL syntax
Lab 1: Introduction to querying PostgreSQL
Quiz 1: Introduction to querying PostgreSQL
Module 2: Querying a single table
Module introduction
What are tables?
Finding out what's in a table
What are schemas?
What is Popkorn Kraze ?
SELECT statements
Using aliases for columns and tables
Quoting (delimiting) names
Using 2 part names
ORDER BY clause
Restricting output with OFFSET, FETCH and LIMIT
Removing duplicates with DISTINCT
Querying literals, expressions and functions
Lab 2: Querying a single table
Lab 2: Answers
Quiz 2: Querying a single table
Module 3: Filtering the rows to return
Module introduction
Filtering output with the WHERE clause
Finding patterns with LIKE and ILIKE
Logical operations with AND, OR, and NOT
Logical values withe boolean data type
Ranges of values with the BETWEEN operator
Checking lists of values by using the IN operator
Limiting output rows by using FETCH or LIMIT
Using FETCH WITH TIES
Working with NULL values (the lack of data)
What are user-defined functions?
Lab 3: Filtering the rows to return
Lab 3: Answers
Quiz 3: Filtering the rows to return
Module 4: Working with queries
Module introduction
Using statement terminators
Working with scripts in pgAdmin
Using query history and scratch pad
Copying and saving query results
Commenting code
Formatting your scripts for readability
Module 5: Querying numbers
Module introduction
What are data types?
Exact whole numbers
Exact decimal numbers
Approximate numbers
Numeric operators
Common numeric functions
Lab 5: Querying numbers
Lab 5: Answers
Quiz 5: Querying numbers
Module 6: Querying strings
Module introduction
String data types
Literal string values
String operators
Trimming strings with LTRIM, RTRIM, and TRIM
Changing case with UPPER, LOWER
Extracting parts of strings with LEFT, RIGHT, SUBSTRING
Determining the length of strings
Replace substrings
Duplicating strings with REPEAT
Finding substrings with POSITION
Extracting delimited string tokens
Replacing characters with TRANSLATE
Lab 6: Querying strings
Lab 6: Answers
Quiz 6: Querying strings
Module 7: Querying dates and times
Module introduction
Date and time data types
Literal date and time values
Current date and time
Extracting components from date and time values
Adding and subtracting date and time values
Calculating date and time differences
Calculating ages
Get string names for date and time parts
Calculating beginning and end of month
Constructing dates and times from components
Changing time zone offsets
Formatting date and time values
Lab 7: Querying dates and times
Lab 7: Answers
Quiz 7: Querying dates and times
Module 8: Converting between data types
Module introduction
Replacing NULL values with COALESCE
Returning NULL When Equal with NULLIF
Comparing NULL values using IS DISTINCT FROM
Implicit vs explicit conversions
Converting data types with CAST function
Converting data types with CAST operator
Other common data types
Lab 8: Converting between data types
Lab 8: Answers
Quiz 8: Converting between data types
Module 9: Aggregating data
Module introduction
Counting rows and columns with COUNT
Summarizing data with SUM, AVG, MIN, MAX
Summarizing data in sections with GROUP BY
Filtering returned groups with HAVING
Understanding logical query execution order
Numbering rows with window functions
Partitioning ranking and numbering with PARTITION BY
Retrieving one row from each group with DISTINCT ON
Other interesting aggregates
Lab 9: Aggregating data
Lab 9: Answers
Quiz 9: Aggregating data
Module 10: Implementing logic in scripts
Module introduction
Outputting messages with RAISE NOTICE
Using conditional expressions with CASE
Simplifying conditionals with GREATEST, LEAST
Defining variables and assigning values
Querying system functions
Adding conditional logic with IF, ELSE
Creating loops with WHILE
Creating loops with FOR
Advanced loop options
Lab 10: Implementing logic in scripts
Lab 10: Answers
Module 11: Querying multiple tables
Module introduction
Using CROSS JOIN
What is a primary key?
What is a foreign key?
Using INNER JOIN
Using modern join syntax
Using LEFT OUTER JOIN
Other OUTER join types
Joining more than two tables
Joining a table to itself (self join)
Joins without equality (non-equi joins)
Lab 11: Querying multiple tables
Lab 11: Answers
Quiz 11: Querying multiple tables
Module 12: Applying set operations to tables
Module introduction
Using UNION and UNION ALL
Excluding data with EXCEPT
Finding common data with INTERSECT
Selecting from set-returning functions
Repetitively selecting with LATERAL joins
Lab 12: Applying set operations to tables
Lab 12: Answers
Quiz 12: Applying set operations to tables
Module 13: Using subqueries
Module introduction
Using subqueries
Using scalar subqueries
Using lists from subqueries
Checking for existence with EXISTS subqueries
Using set-returning subqueries
Using VALUES row constructors
Simplifying queries with common table expressions (CTEs)
Using multiple CTEs in a single query
Lab 13: Using subqueries
Lab 13: Answers
Quiz 13: Using subqueries
Module 14: Working with stored procedures and catalog views
Module introduction
What is a stored procedure?
Executing stored procedures
Executing dynamic SQL statements
Querying the system catalog
Lab 14: Working with stored procedures and catalog views
Lab 14: Answers
Module 15: Modifying data
Module introduction
Inserting data into a table
Inserting multiple rows at once with VALUES
What are default constraints?
What are identity columns?
Identifying the last values inserted
What is a check constraint?
What is a unique constraint?
Deleting rows from a table
Inserting rows with data from another table
Selecting rows into a new table
Truncating a table vs deleting all rows
Updating data in a table
Merging data into a table
Lab 15: Modifying data
Lab 15: Answers
Quiz 15: Modifying data
Module 16: Next steps
Summary and further steps
×
This is an unpublished lesson. This lesson will not be shown for students unless you set it as Public.
Back to Dashboard
No contents are available in this lesson!
No lessons available !
Back to Dashboard
Lesson contents locked
Enroll to unlock this lesson.
Enroll to unlock
Next Lesson