#mysql #sql #left-join
#mysql #sql #левое соединение
Вопрос:
В настоящее время я выполняю этот запрос:
select a.x, b.x, c.x
from number as a, customer as b, numbergroup as c
where a.b = b.b and a.c = c.c and c.b = b.b
Однако я хочу извлечь записи из таблицы «a», даже если «a.c = null», которая не извлекается из-за соединения между «a» и «c».
Я нашел информацию о left join
, но я не знаю, как это сделать, когда запрос включает более двух таблиц, как в этом случае.
Комментарии:
1. Разве вы не можете использовать два оператора соединения?
SELECT xyz FROM table_a LEFT JOIN table_b ON xyz = xyz LEFT JOIN table_c ON xyz = xyz
Взгляните на руководство по MySQL2. Вы знаете, что нужно для этого вопроса? Больше повторяющихся ответов 😉
Ответ №1:
select a.x, b.x, c.x
from number as a
left join customer as b on a.b = b.b
left join numbergroup as c on a.c = c.c and c.b = b.b
Комментарии:
1. Что делать, если в результатах из
number
ничего нет, но вам все равно нужно получить результаты изcustomer
, при этом все еще остается ЛЕВОЕ соединениеnumbergroup
? В этом случае это не сработает!