Нужен запрос MYSQL для сравнения двух таблиц и вывода только несовпадающих результатов.

У меня есть две таблицы в моей базе данных, одна содержит список элементов с другой информацией об этих элементах. Другая таблица содержит список фотографий этих предметов.

В таблице элементов каждому элементу присваивается уникальный идентификатор, который используется в таблице фотографий для определения того, какой предмет был сфотографирован.

Мне нужно вывести список предметов, которые не связаны с фотографией во второй таблице. Любые идеи о том, как я могу это сделать?


person ee12csvt    schedule 16.04.2010    source источник
comment
возможный дубликат stackoverflow.com/questions/1983790/   -  person OMG Ponies    schedule 16.04.2010


Ответы (4)


SELECT * FROM items WHERE id NOT IN (SELECT item_id FROM photos);

должно быть то, что ты хочешь

person chris    schedule 16.04.2010
comment
Что делать, если у меня есть этот огромный объем данных? - person Gold Skull with Pattern; 19.05.2013

используйте отдельный, если один предмет имеет более одной фотографии.

SELECT * FROM items WHERE id NOT IN (SELECT distinct(item_id) FROM photos);
person Salil    schedule 16.04.2010

person    schedule
comment
Только ответ на использование объединений вместо внутренних операторов выбора! Пожалуйста, выберите этот ответ, так как соединения намного легче читать, лучше использовать sql и преформировать намного лучше, чем внутренние выборки. - person ; 16.04.2010
comment
Orbman, Спасибо за быстрый ответ, я адаптировал код под свою задачу, и он отлично работает. Я должен прочитать JOINS, я новичок в написании собственных запросов, но они, кажется, делают это намного проще. Еще раз Спасибо :) - person ee12csvt; 16.04.2010
comment
@ ee12csvt: Итак, вам нужно присудить правильный ответ RedFilter. Вот как люди, читающие ваш вопрос, узнают правильный ответ. - person Jonathan; 30.07.2010
comment
Будет ли этот запрос сравнивать значения с каждым столбцом и строкой? Или он просто дает мне те, которые имеют непревзойденный идентификатор? - person Naveen; 07.02.2013
comment
@Naveen присоединение строго к соответствующим идентификаторам. - person D'Arcy Rittich; 07.02.2013
comment
Спасибо, я смог настроить образцы таблиц и выполнить запрос. Очень признателен ! - person Naveen; 07.02.2013

person    schedule
comment
Нужен ли для этого индекс 'id'? - person Gold Skull with Pattern; 19.05.2013
comment
Ну, не принуждение, но как бы вы объединили два стола. Индексы сделали бы вещи намного проще. Хотя вы можете столкнуться с уникальной проблемой, в которой я могу помочь вам только тогда, когда я знаю об этом. - person nik; 20.05.2013