我在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();
答案 0 :(得分:1)
SELECT *
FROM app
LEFT JOIN
operator
ON operator.agent_id = app.operator_id
答案 1 :(得分:0)
将其移动到您的WHERE子句中具有条件的连接(左连接)会导致内连接。