Как выполнить ЛЕВОЕ СОЕДИНЕНИЕ с более чем 2 таблицами?

#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 Взгляните на руководство по MySQL

2. Вы знаете, что нужно для этого вопроса? Больше повторяющихся ответов 😉

Ответ №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 ? В этом случае это не сработает!