PostgreSQL使用null条件变量连接表

时间:2010-11-01 11:07:37

标签: java postgresql

我在PostgreSQL中遇到sql查询时遇到问题,而我正在尝试加入很多表。 在'WHERE'部分,我有一些条件,我正在比较一些id值,例如

operator.agent_id = app.operator_id;

当每个id都没有空值时,一切正常,但是如果一个id等于null,则查询结果为空时。 我可以获得这样的结果,如果一个id等于null,那么只有这个表中的值为null,但是其余的是正确的吗?

更具体地说,我使用EJB3编写Java编程:

stringQuery = "SELECT .... FROM ... WHERE...";
Query query = entityManager.createNativeQuery(stringQuery);
List<Object[]> objects = query.getResultList();

2 个答案:

答案 0 :(得分:1)

SELECT  *
FROM    app
LEFT JOIN
        operator
ON      operator.agent_id = app.operator_id

答案 1 :(得分:0)

将其移动到您的WHERE子句中具有条件的连接(左连接)会导致内连接。