У меня есть три таблицы, как показано ниже. Мне нужно сделать левое соединение в таблице Customer and Order, и это нормально. После левого соединения мне нужен «город» каждого из клиентов, а значение «город» находится в таблице ADDRESS.Оставайтесь соединитесь и получите дополнительные данные из другой таблицы
КЛИЕНТ
cus_id
ЗАКАЗЫ
order_id
cus_id
АДРЕС
cus_id
city
Запрос ниже возвращается 13 записей без внутреннего соединения с адресом таблицы
SELECT a.cus_id,
b.order_id
FROM customer a
LEFT JOIN orders b
ON a.cus_id = b.cus_id
Этот запрос возвращенного 10 результатов с внутренним соединением по АДРЕСУ
SELECT a.cus_id,
b.order_id,
c.city
FROM customer a
LEFT JOIN orders b
ON a.cus_id = b.cus_id
INNER JOIN address c
ON c.cus_id = a_cus_id
Куда делись 3 записи исчезают?
Могут ли быть клиенты без адресов? Что произойдет, если вы просто присоединитесь к «клиенту» и «адресу»? Сколько строк вы получаете? – Mureinik
Учитывая, что у клиента всегда есть адрес, второй запрос с внутренним соединением должен вернуть 13 записей? – Nero