Есть таблица users
Есть таблица articles
После того, как юзер на сайте перейдет на новость, она автоматически будет как прочитанная. То есть, есть таблица read_articles.
Собственно, структура ее:
id | article_id | user_id
Как мне вывести пользователю с id #2 (допустим) все его
непрочитанные статьи? Вот у меня набросок есть один (он выводит те статьи, какие прочитаны):
SELECT articles.id, articles.title, articles.text FROM articles INNER JOIN read_articles ON articles.id = read_articles.article_id WHERE read_articles.user_id = 2;
Я подумал, чтобы вывести статьи какие непрочитаны, надо в том куске кода поставить знак не =, а != (ну то есть так):
SELECT articles.id, articles.title, articles.text FROM articles INNER JOIN read_articles ON articles.id != read_articles.article_id WHERE read_articles.user_id = 2;
Но он выводит вообще все записи по 3-4 раза почему-то
Собственно, вопрос, насколько эффективно то как я сейчас это делаю, и кто может помочь вывести НЕПРОЧИТАННЫЕ статьи? Мне кажется то как у меня сделано совсем неэффективно, неправильно JOINю, и что то в таком роде