From f8723d2add6f4c24428f58bb861ebfdab26590ff Mon Sep 17 00:00:00 2001
From: Pedram Ghane
Date: Mon, 2 Jun 2025 20:54:23 +0200
Subject: [PATCH] done
---
queries.md | 37 +++++++++++++++++++++++++++++--------
1 file changed, 29 insertions(+), 8 deletions(-)
diff --git a/queries.md b/queries.md
index b06f900..4252ba4 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 books.*, authors.name AS author_name
+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 authors.*, books.title AS book_title
+FROM authors
+LEFT JOIN books ON books.author_id = authors.id;
```
@@ -23,7 +27,9 @@
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 authors.name AS author_name, books.*
+FROM authors
+RIGHT JOIN books ON books.author_id = authors.id;
```
@@ -31,7 +37,9 @@
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 authors.name AS author_name, books.*
+FROM authors
+FULL JOIN books ON books.author_id = authors.id;
```
@@ -41,7 +49,9 @@
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 books.title, publishers.name AS publisher_name, publishers.location
+FROM books
+INNER JOIN publishers ON books.publisher_id = publishers.id;
```
@@ -49,7 +59,9 @@
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 publishers.name AS publisher_name, publishers.location, books.title AS book_title
+FROM publishers
+LEFT JOIN books ON books.publisher_id = publishers.id;
```
@@ -57,7 +69,9 @@
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 books.title, publishers.name AS publisher_name, publishers.location
+FROM publishers
+RIGHT JOIN books ON books.publisher_id = publishers.id;
```
@@ -65,7 +79,14 @@
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
+ authors.name AS author_name,
+ books.title AS book_title,
+ publishers.name AS publisher_name,
+ publishers.location
+FROM authors
+FULL JOIN books ON authors.id = books.author_id
+FULL JOIN publishers ON books.publisher_id = publishers.id;
```