Search code examples
phpmysqlmulti-table

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


I have 2 tables. For simplicities sake 'u' has the following columns
userid
divisionid

'd' has the following:
divisionid
name

I did not create this table, otherwise I would not have this problem. u.DIVISION can be NULL. d.DIVISION cannot.

Running the following creates the appropriate data, but it also filters out every single userid that has NULL for it's divisionid. Is there anyway to still show all the userid's regardless of their divisionid and if the divisionid is not null, to then display the name of the division?

"SELECT userid, d.NAME
FROM u,d
WHERE u.divisionid = d.divisionid
ORDER BY userid"


Solution

  • Use an outer join:

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