|
@@ -86,3 +86,32 @@ CREATE TABLE `comment` (
|
|
|
- Выведите все посты, самый старый и самый свежий комментарий, используя агрегирующие функции `MAX` и `MIN` по полю `comment_datetime`
|
|
|
|
|
|
### Таблица `tag`
|
|
|
+
|
|
|
+```mysql
|
|
|
+CREATE TABLE `tag` (
|
|
|
+ tag_id SERIAL,
|
|
|
+ tag_title VARCHAR(128)
|
|
|
+)
|
|
|
+```
|
|
|
+
|
|
|
+#### Задание
|
|
|
+
|
|
|
+Добавьте разных тэгов.
|
|
|
+
|
|
|
+### Таблица `post_to_tag`
|
|
|
+Эта таблица предназначена для организации связи тэга и поста:
|
|
|
+
|
|
|
+```mysql
|
|
|
+CREATE TABLE post_to_tag(
|
|
|
+ post_to_tag_id SERIAL,
|
|
|
+ post_id BIGINT,
|
|
|
+ tag_id BIGINT
|
|
|
+);
|
|
|
+```
|
|
|
+
|
|
|
+#### Задание
|
|
|
+1. Добавьте записи (связи) используя существующие `post_id` и `tag_id`
|
|
|
+2. Выведите все тэги каждого поста используя `LEFT JOIN` от таблицы `post` к таблице `tag` через смежную таблицу `post_to_tag`
|
|
|
+3. Используя `GROUP BY` подсчитайте количество тэгов у всех постов в колонке под именем `tagsCount`. Используйте `AS` для задания псевдонимов.
|
|
|
+4. Используя `GROUP BY` выведите все тэги у всех постов в поле `tagsList`. Используйте `GROUP_CONCAT` для объединения тэгов в одну строку.
|
|
|
+
|