
Задача из курса Geekbrains по Базам данных:
У вас есть социальная сеть, где пользователи (id, имя) могут ставить друг другу лайки. Создайте необходимые таблицы для хранения данной информации. Создайте запрос, который выведет информацию:
● id пользователя;
● имя;
● лайков получено;
● лайков поставлено;
● взаимные лайки.
Создал схему:
-- Таблица users
CREATE TABLE IF NOT EXISTS social_db
.users
(
id
INT NOT NULL AUTO_INCREMENT,
name
VARCHAR(45) NOT NULL,
PRIMARY KEY (id
),
UNIQUE INDEX id_UNIQUE
(id
ASC) VISIBLE)
ENGINE = InnoDB;
-- Таблица likes
CREATE TABLE IF NOT EXISTS social_db
.likes
(
id
INT NOT NULL AUTO_INCREMENT,
from_user
INT NOT NULL,
to_user
INT NOT NULL,
PRIMARY KEY (id
, from_user
, to_user
),
UNIQUE INDEX id_like_UNIQUE
(id
ASC) VISIBLE,
CONSTRAINT fk_like_from_user
FOREIGN KEY (from_user
)
REFERENCES social_db
.users
(id
)
ON DELETE CASCADE
ON UPDATE CASCADE,
CONSTRAINT fk_like_to_user
FOREIGN KEY (to_user
)
REFERENCES social_db
.users
(id
)
ON DELETE CASCADE
ON UPDATE CASCADE)
ENGINE = InnoDB;
Как написать запрос?



