выбрать из таблицы1 строки, указатели которых отсутствуют в таблице2

  • Автор темы Holger Dee Assuran
  • Дата начала
Статус
Закрыто для дальнейших ответов.
H

Holger Dee Assuran

#1
Использую MySQL5
Можно ли одним запросом выбрать из таблицы1 строки, указатели которых отсутствуют в таблице2?
Как это сделать циклом я себе примерно представляю, но хотелось-бы решить эту задачку элегантно - в один запрос.

Мое решение как сделать такую выборку циклом:
1. Выбрать все записи из таблицы1 и записать их в массив1
2. Обработать массив1 циклом, выполняя запрос поиска указателя из таблицы1 в таблице2. Если указатель в таблице2 не найден - записываем строку в массив2.
3. В результате получим массив2 содержащий строки из таблицы1, указатели которых отсутствуют в таблице2.

/Moerated By Morpheus/ Слегка подправил
 
P

Pasha

#2
SELECT ... WHERE table1_id NOT IN (SELECT table2_p1 FROM table2)
или
SELECT ... FROM table1
EXCEPT
SELECT ... FROM table1 JOIN table2
 
Статус
Закрыто для дальнейших ответов.