105800 Views
82496 Views
47243 Views
47066 Views
45458 Views
38527 Views
Pi-Apps
Intermediate MicroPython
Arduino Alvik
Raspberry Pi Time machine
Now Ad-Free
Guiding Light
Intermediate level MicroPython
Introduction to FreeCAD for Beginners
Building a Robot Arm with Raspberry Pi and PCA9685
Building User Authentication for Static Sites with FastAPI
Mastering Pydantic for Robust Data Validation
Mastering Markdown for Documentation with Jekyll
KevsRobots Learning Platform
35% Percent Complete
By Kevin McAleer, 3 Minutes
Module 6 focuses on more advanced querying techniques in SQLite, including working with multiple tables and performing joins. You will learn how to retrieve data from multiple tables, establish relationships, and use join operations to combine data.
Real-world databases often involve multiple tables that are related to each other. To retrieve meaningful data, we need to understand how to work with these tables collectively.
Tables can be related to each other through common attributes or columns. Common types of relationships include:
Understanding these relationships allows us to retrieve related data effectively.
To combine data from multiple tables, we use SQL join operations. SQLite supports several types of joins, including inner joins, outer joins, left joins, and right joins.
The inner join returns only the records that have matching values in both tables being joined.
# Inner join example query = ''' SELECT books.title, authors.name FROM books INNER JOIN authors ON books.author_id = authors.id ''' result = connection.execute(query) data = result.fetchall()
In this example, we join the “books” and “authors” tables based on the common column “author_id” and retrieve the book titles along with the corresponding author names.
Outer joins return all records from one table and the matching records from the other table. If no match is found, NULL values are filled in for the missing data.
# Left outer join example query = ''' SELECT books.title, authors.name FROM books LEFT OUTER JOIN authors ON books.author_id = authors.id ''' result = connection.execute(query) data = result.fetchall()
In this example, we perform a left outer join between the “books” and “authors” tables, retrieving all books and the corresponding author names. If there is no matching author, NULL is returned for the author name.
We can join multiple tables together to retrieve data across related tables.
# Joining multiple tables example query = ''' SELECT books.title, authors.name, genres.genre_name FROM books INNER JOIN authors ON books.author_id = authors.id INNER JOIN genres ON books.genre_id = genres.id ''' result = connection.execute(query) data = result.fetchall()
In this example, we join the “books,” “authors,” and “genres” tables, retrieving book titles along with author names and genre names.
To make SQL queries more readable, we can use table aliases to provide shorthand names for tables.
# Using table aliases example query = ''' SELECT b.title, a.name FROM books AS b INNER JOIN authors AS a ON b.author_id = a.id ''' result = connection.execute(query) data = result.fetchall()
In this example, we use the aliases “b” and “a” for the “books” and “authors” tables, respectively, to simplify the query.
By understanding how to work with multiple tables and perform joins, you will be able to retrieve and combine data from various sources, providing more comprehensive insights from your databases.
< Previous Next >