Search code examples
mysqlinner-join

Join returns empty values


I have two tables,

Table: Person

+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| PersonId    | int     |
| FirstName   | varchar |
| LastName    | varchar |
+-------------+---------+
PersonId is the primary key column for this table.

and

Table: Address

+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| AddressId   | int     |
| PersonId    | int     |
| City        | varchar |
| State       | varchar |
+-------------+---------+
AddressId is the primary key column for this table.

I want to write a SQL query for a report that provides the following information for each person in the Person table, regardless if there is an address for each of those people:

FirstName, LastName, City, State

What have I done?

# Write your MySQL query statement below
SELECT Person.FirstName, Person.LastName, Address.City, Address.State
FROM Person
INNER JOIN Address ON Person.PersonId=Address.PersonId;

For some reason the join returns empty data. Please give hints not solution.


Solution

  • Considering the "regardless if there is an address" phrase, you are requesting a LEFT JOIN.

    You requested hints, not a solution, so I'll leave just a link to a Wikipedia article on SQL Joins that should point you in the right direction.