From 358a22e27955eda47adb56c38c70db68ef0f7db5 Mon Sep 17 00:00:00 2001 From: fiona-eh Date: Mon, 2 Dec 2024 16:01:08 +0100 Subject: [PATCH] initial solution --- queries.md | 39 +++++++++++++++++++++++++-------------- 1 file changed, 25 insertions(+), 14 deletions(-) diff --git a/queries.md b/queries.md index b06f900..17f8def 100644 --- a/queries.md +++ b/queries.md @@ -7,7 +7,9 @@ 1. Using an **INNER JOIN**, list all books (left table) that have an assigned author (right table). The result should include only books with assigned authors. ```sql --- Your Query Goes Here +SELECT title, author_id +FROM books +INNER JOIN authors ON books.author_id = authors.id; ```
@@ -15,7 +17,9 @@ 2. Using a **LEFT JOIN**, list all authors (left table) and their corresponding books on the (right table). The result should include all authors, including those who don't have any books assigned. ```sql --- Your Query Goes Here +SELECT name, title +FROM authors +LEFT JOIN books ON authors.id = books.author_id; ```
@@ -23,16 +27,18 @@ 3. Using a **RIGHT JOIN**, list all books (right table) and their corresponding authors on the (left table). The result should include books without assigned authors. ```sql --- Your Query Goes Here -``` +SELECT title, name +FROM authors +RIGHT JOIN books ON authors.id = books.author_id; ```
4. Using a **FULL JOIN**, list all records from the `books` and `authors` tables. The result should include all details from both tables, even if there are no match. ```sql --- Your Query Goes Here -``` +SELECT * +FROM authors +FULL JOIN books ON authors.id = books.author_id;```
@@ -41,31 +47,36 @@ 1. Using an **INNER JOIN**, list all books (left table) and their corresponding publishers on the (right table). The result should include the book's title, publisher's name, and location. ```sql --- Your Query Goes Here -``` +SELECT title, name, location +FROM books +INNER JOIN publishers ON books.publisher_id = publishers.id; ```
2. Using a **LEFT JOIN**, list all publishers (left table) and any books they have published on the (right table). The result should include all publishers, including those who haven't published any books. ```sql --- Your Query Goes Here -``` +SELECT name, title +FROM publishers +LEFT JOIN books ON books.publisher_id = publishers.id; ```
3. Using a **RIGHT JOIN**, list all books (right table) and their corresponding publishers on the (left table). The result should include all books, even those without a linked publisher. ```sql --- Your Query Goes Here -``` +SELECT name, title +FROM publishers +RIGHT JOIN books ON books.publisher_id = publishers.id; ```
4. Using a **FULL JOIN**, list all records from the `authors`, `books`, and `publishers` tables. The result should include all records from the three tables, even if there are no matches between them. ```sql --- Your Query Goes Here -``` +SELECT * +FROM publishers +LEFT JOIN books ON books.publisher_id = publishers.id +RIGHT JOIN authors ON books.author_id = authors.id; ```