MySQL: получение данных из связанных таблиц - PullRequest
0 голосов
/ 23 мая 2018

Я ищу помощь в получении и отображении информации из связанных таблиц в MySQL.У меня есть две таблицы:

  1. «таблица1» с идентификатором столбцов, имя, фамилия
  2. «таблица2» с идентификатором столбцов, телефон

Они связаны между собойпо столбцам id.

Я пытаюсь отобразить имя, фамилию и телефон вместе.В настоящее время я использую:

ВЫБЕРИТЕ имя, фамилию, телефон ОТ таблицы1, таблица2 ГДЕ table1.id = table2.id

Однако я чувствую, что яЯ не использую отношения между таблицами должным образом, так как я считаю, что это будет работать и между несвязанными таблицами.

Кроме того, не каждый идентификатор из таблицы1 имеет запись в таблице2, что означает, что не у всех есть телефонный номер.Приведенный выше метод приводит к отображению только тех идентификаторов, которые существуют как в table1, так и в table2, в то время как я хочу отображать данные тех, у кого также нет номера телефона, либо через пробел, либо через «N / A» в столбце телефона.

Будем весьма благодарны за любые советы о том, как правильно отображать данные.

1 Ответ

0 голосов
/ 23 мая 2018

Вам нужно использовать оператор LEFT OUTER JOIN, чтобы объединить две таблицы вместе.LEFT OUTER JOIN будет по-прежнему показывать записи из table1, даже если не найдено совпадений id в table2.Что-то вроде:

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

...