У меня есть запрос, который, как я знаю, может быть выполнен с использованием подвыбора, но из-за больших размеров таблицы (100k + строк на таблицу) я хотел бы найти альтернативу с использованием объединения. Это не домашнее задание, но в таких терминах проще поделиться примером.
Предположим, есть две таблицы:
Студенты
: id: имя
1 Том
2 Салли
3 бен
Книги
: id: student_id: book
1 1 Математика 101
2 1 История
3 2 NULL
4 3 Математика 101
Я хочу найти всех студентов, у которых нет учебника истории. Рабочий отбор:
выберите имя из студентов, у которых нет идентификатора (выберите student_id из книг, где book = 'History');
Это возвращает Салли и Бена.
Спасибо за ваши ответы!