Я думаю, что я иду по правильному пути с этого ... Пожалуйста, медведь со мной, как мой SQL не является самым большимSELECT * WHERE NOT EXISTS
Я пытаюсь сделать запрос к базе данных, чтобы выбрать все из одной таблицы, где определенные ячейки не существуют в другом. Это много не делает много смысла, но я надеюсь, что этот кусок кода будет
SELECT * from employees WHERE NOT EXISTS (SELECT name FROM eotm_dyn)
Так в основном у меня есть одна таблица со списком сотрудников и их деталей. Затем еще один стол с некоторыми другими деталями, включая их имя. Там, где имя отсутствует в таблице eotm_dyn, то есть нет записи для них, я хотел бы точно узнать, кто они, или, другими словами, посмотреть, что именно отсутствует.
Вышеприведенный запрос ничего не возвращает, но я знаю, что имена 20ish отсутствуют, поэтому я, очевидно, не получил это правильно.
Может ли кто-нибудь помочь?
Мне нужно «ГДЕ НЕ СУЩЕСТВУЕТ» два раза в год, и я всегда забываю, как точно его использовать. Спасибо - этот пример будет теперь отмечен закладкой. – Mateng
Может ли кто-нибудь дать ссылку на "LEFT JOIN + NULL фильтр менее эффективен, чем НЕ СУЩЕСТВУЕТ"? Это может быть очевидно, но я никогда не видел этого в документах. Благодарю. – toni07
@ toni07 Собственно, это легенда. Победа в LEFT JOIN.https://explainextended.com/2009/09/18/not-in-vs-not-exists-vs-left-join-is-null-mysql/ .. Блог Quassnoi всегда является полезным ресурсом. – Kaii