@Medovochka

Как составить запрос на выборку авторов в SQL?

Есть 2 таблицы, в которых хранятся Authors и Books (смотрите структуру таблиц ниже). Написать SQL-запрос, который находит авторов, которые не опубликовали ни одной книги за последние 2 года.

spoiler
Таблица Author:

|Authorld | Name |
-----------------------
|ㅤㅤㅤㅤ|ㅤㅤㅤㅤㅤ|

Таблица Book:

|Authorld | Bookld | Name | PublishDateTime |
-----------------------------------------------------------
|ㅤㅤㅤㅤㅤ|ㅤㅤㅤㅤㅤ|ㅤㅤㅤㅤ|ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ|


Я составила такой запрос, но не уверена, ли корректно:

spoiler
SELECT Author.Authorld, Author.Name
FROM Author
LEFT JOIN Book ON Author.Authorld = Book.Authorld
WHERE Book.PublishDateTime < DATEADD(year, -2, GETDATE());
  • Вопрос задан
  • 226 просмотров
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
SELECT *
  FROM Author
  WHERE Authorld NOT IN (
    SELECT Authorld
      FROM Book
      WHERE PublishDateTime > CURDATE() - INTERVAL 2 YEAR
  )
Ответ написан
Комментировать
@Akina
Сетевой и системный админ, SQL-программист.
SELECT *
FROM Author
WHERE NOT EXISTS (
    SELECT NULL
    FROM Book
    WHERE Author.Authorld = Book.Authorld
      AND Book.PublishDateTime >= CURRENT_DATE - INTERVAL 2 YEAR
    )
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы