@AlexAll

Как выбрать записи из таблицы, idшников которой нет в другой таблице?

В первой таблице NEWS есть два поля id и user_id в второй таблице есть два поля(это составной PrymaryKey) news_id и user_id
Как выбрать все записи из первой таблицы при условии того что во второй таблице нет составного ключа (news_id и user_id)

Нашел только вот что
SELECT *
  FROM 'users'
 WHERE 'users'.'user_id' NOT IN(
     SELECT 'member_id' 
       FROM 'members')


Но это работает только если идет проверка на один idшник, как это сделать с двумя id?
  • Вопрос задан
  • 44 просмотра
Решения вопроса 1
rozhnev
@rozhnev
Fullstack programmer, DBA, медленно, дорого
Можно воспользоваться конструкцией WHERE NOT EXISTS (...):
select *
from news
where not exists (
	select 1 from user_news 
  	where user_news.news_id = news.id and  user_news.user_id = news.user_id
);


SQL fiddle (MariaDB)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
LEFT JOIN, WHERE IS NULL
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы