Давайте предположим, что две таблицы:MySQL: Выберите из одной таблицы, добавить значение из другой таблицы, если существует
STUDENTS:
id | name | faculty_id
и:
FACULTIES:
id | name
Я пытаюсь запросить для студентов по students.id
, а также возвращающие faculties.name
, где students.faculty_id = faculties.id
.
я использовал:
SELECT students.*, faculties.name FROM students
JOIN faculties on students.faculty_id = faculties.id
WHERE students.id = ' ... ';
Это хорошо работает, но есть проблема:
Если, по какой-то ошибке, студент был назначен несуществующий faculty_id
, чем он никогда не будет найден. Я бы хотел написать более «гибкий» запрос, который возвращал бы faculty.name
, только если совпадение найдено, иначе просто оставьте его пустым.
Кроме того, в запросе не должно быть циклов с интенсивной интенсивностью памяти, поскольку вы можете запрашивать по имени и т. Д., Что приводит к большому количеству совпадений.
Работает как волшебство! – Dean
Рад, что это помогло! – dbinns66