Подтвердить что ты не робот

Правое соединение, даже если строка на второй таблице не существует

Я хочу присоединиться к двум таблицам, даже если на втором нет совпадений.

пользователь таблицы:

uid | name
1     dude1
2     dude2

таблица:

uid | accountid | name
1     1           account1

таблица, которую я хочу:

uid  | username | accountname
1      dude1      account1
2      dude2      NULL

запрос, с которым я пытаюсь:

SELECT user.uid as uid, user.name as username, account.name as accountname
FROM user RIGHT JOIN account ON user.uid=accout.uid

что я получаю:

uid  | username | accountname
1      dude1      account1
4b9b3361

Ответ 1

используйте Left Join вместо

SELECT user.uid as uid, user.name as username, account.name as accountname
FROM user LEFT JOIN account ON user.uid=accountid.uid

Ответ 2

Попробуйте с запросом LEFT JOIN

SELECT user.uid as uid, user.name as username, account.name as accountname
FROM user 
LEFT JOIN account 
ON user.uid=accout.uid

Я бы хотел, чтобы вы взглянули на это визуальное представление JOIN запрос

Ответ 3

Правое соединение сохраняет все результаты из 2-й таблицы (она сохраняет все результаты в правой таблице), вы хотите левое соединение или свопите позиции пользователя и учетной записи в предложение соединения.

SELECT user.uid as uid, user.name as username, account.name as accountname
FROM user LEFT JOIN account ON user.uid=account.uid

Я считаю, что это должно сделать.