В схеме применяется соглашения о наименовании:
- таблицы, описывающие отношение "Многие-ко-Многим", имеют префикс
mtm
; - таблицы-словари имеют префикс
dict
.
Получить всех пользователей с именем Максим:
SELECT *
FROM user
WHERE name = 'Максим';
Получить все фильмы вышедшие в 2022 году
SELECT *
FROM film
WHERE EXTRACT(YEAR FROM release_date) = 2022;
Получить топ 10 самых лайкнутых фильмов:
SELECT film.name,
COUNT(likes.user_id) AS cnt_likes
FROM mtm_user_film_likes AS likes
JOIN film ON likes.film_id = film.id
GROUP BY likes.film_id
ORDER BY cnt_likes DESC
LIMIT 10;
Получить общих друзей у пользователя с ID = 1 и ID = 2:
SELECT user_2_id
FROM mtm_user_user_friendship
WHERE user_1_id = 1
INTERSECT
SELECT user_2_id
FROM mtm_user_user_friendship
WHERE user_1_id = 2