PHP SQL:匹配2个表之间的相应数据,而无需在第一表中滤除数据
-
03-10-2019 - |
题
我有2张桌子。为简单起见,'u'具有以下列
用户身份
部门
“ D”有以下内容:
部门
姓名
我没有创建此表,否则我将不会有这个问题。 U.Division 能够 为null。 d.条件 不能.
运行以下功能会创建适当的数据,但它还滤除了每个用户ID的每个用户ID的驱动器。无论如何,是否仍然可以显示所有用户ID的分区ID,如果divisionID不为空,则可以显示该部门的名称?
“选择userId,d.name
来自u,D
u.divisionid = d.divisionId
订购用户ID”
解决方案
使用外部联接:
SELECT userid, d.NAME
FROM u
LEFT OUTER JOIN division d
ON u.divisionid = d.divisionid
ORDER BY userid
其他提示
使用oracle或暗示的加入语法暗示 INNER JOIN
. 。内部联接消除了不符合标准的记录。
使用 JOIN
子句允许您指定加入的类型。
一种 LEFT OUTER JOIN
将所有行放在第一表中,无论第二个表中是否有匹配行。
SELECT userid, d.NAME
FROM u
LEFT OUTER JOIN division d
ON d.divisionid = u.divisionid
ORDER BY userid
不隶属于 StackOverflow