MD *_*AIN 0 sql join sql-server-2012
假设我有两张这样的桌子

现在我想要做正确的加入Menu_Table有Menu_access_Table.
我想从中获取所有行Menu_Table.
SELECT
*
FROM
Menu_Table
RIGHT JOIN
Menu_Access_Table ON Menu_Table.menu_id = Menu_Access_Table.menu_id
WHERE
Menu_Access_Table.user_id=11
Run Code Online (Sandbox Code Playgroud)
如果user_id=11我下面没有条目,我仍然希望从中获取所有行Menu_Table!可能吗?我正在使用SQL Server 2012.
如果你想从中获取所有行Menu_Table,你想要做一个LEFT JOIN,而不是一个RIGHT JOIN.
你可以把附加条件放在ON:
SELECT *
FROM Menu_Table
LEFT JOIN Menu_Access_Table ON Menu_Table.menu_id = Menu_Access_Table.menu_id
AND Menu_Access_Table.user_id = 11
Run Code Online (Sandbox Code Playgroud)