Я ищу помощь в приобретении и отображении информации из связанных таблиц в MySQL. У меня две таблицы:
Они связаны столбцами id.
Я пытаюсь показать имя, фамилию и телефон вместе. В настоящее время я использую:
SELECT имя, фамилия, телефон FROM table1, table2 WHERE table1.id = table2.id
Тем не менее, я чувствую, что я не правильно использую отношения между таблицами, так как считаю, что это будет работать и между несвязанными таблицами.
Кроме того, не каждый идентификатор из таблицы1 имеет запись в таблице2, то есть не у всех есть номер телефона. Вышеуказанный метод показывает только те идентификаторы, которые существуют как в таблице1, так и в таблице2, в то время как я хочу отображать данные тех, у кого нет номера телефона, либо пустым пространством, либо "N/A" в столбце телефона.
Приветствуются любые советы о том, как правильно отображать данные.
Для объединения двух таблиц необходимо использовать оператор LEFT OUTER JOIN
. LEFT OUTER JOIN
прежнему будет отображать записи из table1
даже если в table2
нет id
соответствия. Что-то вроде:
SELECT
table1.name,
table1.surname,
table2.phone
FROM table1
LEFT OUTER JOIN table2
ON table1.id = table2.id
Дополнительная информация: https://www.w3schools.com/sql/sql_join_left.asp