Азы 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 
Не нашли ответ?
Ответить на вопрос
Похожие вопросы