Азы SQL. Имеется сайт, на котором пользователи пишут статьи и могут их комментировать. Все данные сайта хранятся в базе данных. Структура базы данных: Таблица users – пользователь сайта: id – уникальный идентификатор записи na...
Азы SQL. Имеется сайт, на котором пользователи пишут статьи и могут их комментировать. Все данные сайта хранятся в базе данных. Структура базы данных:
Таблица users – пользователь сайта:
id – уникальный идентификатор записи
name – имя пользователя
age – возраст пользователя
admin – true = администратор сайта, false = обычный пользователь
Таблица article – статьи:
id - уникальный идентификатор записи
user_id – идентификатор пользователя из таблицы users, написавшего статью
annotation – аннотация к статье
text – полный текст статьи
Таблица comments – комментарии к статье:
id - уникальный идентификатор записи
user_id - идентификатор пользователя из таблицы users, написавшего комментарий
text – текст комментария
is_deleted – true = комментарий помечен как удаленный, false = комментарий не помечен
Таблица article_comment_association – привязка комментариев к статьям:
article_id – уникальный идентификатор статьи из таблицы articles
сomment_id – уникальный идентификатор комментария из таблицы comments
Создайте запросы, возвращающие следующие данные:
1. Все идентификаторы статей, в тексте которых есть слово “beta” или цифра 4
2. Все идентификаторы статей, которые не содержат комментариев
3. Все имена пользователей, у которых есть статьи с комментариями
4. Список идентификаторов статей и количество комментариев к этим статьям
Ответ(ы) на вопрос:
Гость
не указано, какая используется СУБД, ниже запросы подойдут для Postgresql:
1. select article.id from article where article.text like '%beta%' or '%4%'
2. select article.id from article where comments.text is NULL and article_comment_association.article_id=article.id and article_comment_association.сomment_id=comments.id
3. select users.name from users where users.id=article.user_id and article_comment_association.article_id=article.id and article_comment_association.сomment_id=comments.id
4. SELECT article.id, COUNT(comments.id) AS "CNT" from article, comments
where article_comment_association.article_id=article.id and article_comment_association.сomment_id=comments.id
Не нашли ответ?
Похожие вопросы