我有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
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top