Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

java-filmorate

Template repository for Filmorate project.

db.png

db.txt

Операции с фильмами:

  1. Получить список всех фильмов:
SELECT * FROM films;
  1. Получение фильма по ID:
SELECT * FROM films WHERE id = ?;
  1. Добавление нового фильма:
INSERT INTO films (name, description, release_date, duration, mpa_rating_id) 
VALUES (?, ?, ?, ?, ?);
  1. Обновление данных фильма:
UPDATE films SET name = ?, description = ?, release_date = ?, duration = ?, mpa_rating_id = ? 
WHERE id = ?;
  1. Получение всех жанров фильма по его ID:
SELECT gr.id, gr.name 
FROM genres gr 
JOIN film_genres fg ON gr.id = fg.genre_id 
WHERE fg.film_id = ?;
  1. Получение самых популярных фильмов:
SELECT f.id, f.name, f.description, f.release_date, f.duration, f.mpa_rating_id 
FROM films f 
LEFT JOIN (
    SELECT film_id, COUNT(*) AS count 
    FROM film_likes 
    GROUP BY film_id
) t ON f.id = t.film_id 
ORDER BY t.count DESC 
LIMIT ?;
  1. Добавление лайка пользователем к фильму:
INSERT INTO film_likes (film_id, user_id) 
VALUES (?, ?);
  1. Удаление лайка пользователем с фильма:
DELETE FROM film_likes 
WHERE film_id = ? AND user_id = ?;
  1. Получение количества лайков у фильма:
SELECT COUNT(*) 
FROM film_likes 
WHERE film_id = ?;

Операции с пользователями:

  1. Получение списка всех пользователей:
SELECT * FROM users;
  1. Получение пользователя по ID:
SELECT * FROM users WHERE id = ?;
  1. Добавление нового пользователя:
INSERT INTO users (email, login, username, birthday) VALUES (?, ?, ?, ?);
  1. Обновление данных пользователя:
UPDATE users SET email = ?, login = ?, username = ?, birthday = ? WHERE id = ?;
  1. Получение всех друзей пользователя:
SELECT u.id, u.email, u.login, u.username, u.birthday 
FROM users u 
JOIN friends f ON u.id = f.friend_id 
WHERE f.user_id = ?;
  1. Получение общих друзей двух пользователей:
SELECT u.id, u.email, u.login, u.username, u.birthday 
FROM users u 
JOIN friends f1 ON u.id = f1.friend_id AND f1.user_id = ? 
JOIN friends f2 ON u.id = f2.friend_id AND f2.user_id = ?;

Операции с жанрами:

  1. Получение всех жанров:
SELECT * FROM genres;
  1. Получение жанра по ID:
SELECT * FROM genres WHERE id = ?;

Операции с рейтингами:

  1. Получение всех рейтингов:
SELECT * FROM ratings;
  1. Получение рейтинга по ID:
SELECT * FROM ratings WHERE id = ?;

About

Template repository for Filmorate project.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages