SELECT b.
BOOK_ID,
[Link],
COUNT(o.ORDER_ID) AS TOTAL_SALES
FROM BOOKS b
JOIN ORDERS o ON b.BOOK_ID = o.BOOK_ID
GROUP BY b.BOOK_ID, [Link]
ORDER BY TOTAL_SALES DESC
FETCH FIRST 5 ROWS ONLY;
SELECT b.BOOK_ID,
[Link],
[Link],
o.ORDER_DATE,
[Link]
FROM BOOKS b
JOIN ORDERS o ON b.BOOK_ID = o.BOOK_ID
WHERE o.USER_ID = :USER_ID;
SELECT a.AUTHOR_ID,
a.AUTHOR_NAME,
AVG([Link]) AS AVG_RATING
FROM AUTHORS a
JOIN BOOKS b ON a.AUTHOR_ID = b.AUTHOR_ID
JOIN REVIEWS r ON b.BOOK_ID = r.BOOK_ID
GROUP BY a.AUTHOR_ID, a.AUTHOR_NAME
HAVING AVG([Link]) > 4.0;
SELECT u.USER_ID,
u.USER_NAME
FROM USERS u
WHERE NOT EXISTS (
SELECT 1
FROM REVIEWS r
WHERE r.USER_ID = u.USER_ID
);
SELECT SUM(o.TOTAL_PRICE) AS TOTAL_REVENUE
FROM ORDERS o
WHERE o.ORDER_DATE >= ADD_MONTHS(SYSDATE, -6);