繁体   English   中英

PHP SQL:在2个表之间匹配相应的数据,而不在第1个表中过滤掉数据

[英]PHP SQL: Matching corresponding Data between 2 tables, without Filtering out Data in 1st Table

我有2张桌子。 为简单起见,“ u”具有以下各列
用户身份
部门编号

“ d”具有以下内容:
部门编号
名称

我没有创建该表,否则我不会有此问题。 u.DIVISION 可以为NULL。 d.DIVISION 不能

运行以下命令可以创建适当的数据,但是它还会过滤出每个具有id为NULL的用户ID的用户ID。 无论如何,是否仍要显示所有用户标识,而无论其id是否为null,然后显示该分区的名称?

“ SELECT用户ID,d.NAME
从你
u.divisionid = d.divisionid在哪里
ORDER BY用户ID”

使用外部联接:

SELECT userid, d.NAME
FROM u
LEFT OUTER JOIN division d
ON u.divisionid = d.divisionid
ORDER BY userid

使用Oracle或隐式INNER JOIN语法意味着INNER JOIN 内部联接可消除不符合条件的记录。

使用JOIN子句的显式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 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM