Jan 27: Relational Algebra, SQL Joins
Learning Objectives
After today's class, you should be able to:
- Summarize relational algebra operations and their relationship to SQL.
- Write SQL queries using JOIN syntax (both
USINGandONsyntax).
Lesson Outline¶
Lecture Slides [30 min]
Lab Activity [45 min]
- Set up for Homework 1 (due Jan 29)
- Create the
hw1.sqlitedatabase
Your To-Do List¶
- Finish reading sections 1.2 and 1.3 in the book
- Begin reading sections 1.4 and 1.5
- Submit HW1 on Gradescope by the end of Friday
Practice Queries on the HW1 databases¶
Instructions
Create a text file named sqlite-queries.sql.
Put your name at the top of the file in a comment (starting with --).
Use this file to record your solutions for each of the queries below.
Submit your work to Gradescope by the end of the day.
World Database
- List all countries in Europe with their population.
- Schema: ID, Name, Population
- Order: Population (descending)
- Find the capital city of Finland.
- Schema: Country, Capital_City
- Order: N/A
- Show all official languages of countries in South America.
- Schema: Country, Language
- Order: Country
- What are the top 10 most populous cities in the world?
- Schema: Name, Population, CountryCode
- Order: Population (descending)
- Count the number of countries per continent.
- Schema: Continent, Num_Countries
- Order: Num_Countries (descending)
Company Database
- Find the current manager of each department
- Schema: dept_name, first_name, last_name
- Order: dept_name
- Show the current department of a specific employee
- Schema: first_name, last_name, dept_name
- Order: N/A
- Top 10 highest paid employees (current salary only)
- Schema: emp_no, first_name, last_name, salary
- Order: salary (descending)
- Average current salary by department
- Schema: dept_name, avg_salary
- Order: avg_salary (descending)
- Count how many employees are in each department (currently)
- Schema: dept_name, num_employees
- Order: num_employees (descending)