We use a RIGHT OUTER JOIN when we want to get all the values from the table on the right, or the ‘joined’ table, and then see the matching data from the first table, or the table on the left. The now familiar join syntax will be RIGHT OUTER JOIN followed by ON with the join criteria. In order to help demonstrate this more clearly, I will order by the column CatIdentifier. I do this because I expect to see a record for every cat even if they don’t have an accompanying dog record.

SELECT NameOfCat, NameOfDog, BreedOfDog
RIGHT OUTER JOIN Cat ON Dog.OwnerIdentifier = Cat.OwnerIdentifier
ORDER BY Cat.CatIdentifier;


NameOfCat      NameOfDog       BreedOfDog
———–             ————–            ————-

Garfield            Odie                    Abruzzenhund
Ellie                  NULL                   NULL
Dexter             NULL                   NULL
Arwen             Aragorn               Labany
Milo                 NULL                   NULL
Bella                Murry                  Labradoodle
Bella                Spike                   Border Collie
Bella               Jake                      Border Collie
Lucy                Rover                  Labrador Retriever
Luna              Pongo                  Lancashire Heeler

(317 row(s) affected)

Remember—NULL values mean there is no information for that column.

Our visualization for a RIGHT OUTER JOIN would look like this.




Now you may be wondering here—What if I switched the order of the tables, could I use a Left Outer Join? Yes, you could. If you noticed that, go eat a piece of candy as your reward. 🙂

Personal Preference: I rarely use RIGHT OUTER JOINs because it makes more sense to line up my columns ‘from the left’ and move right. For this reason, I use LEFT OUTER JOINs 99.99% of the time.


Want to follow along on your own database?

Do you want to follow along with the examples?  We have created a sample database you can use to follow along and try in your own database.  Go to the download page and follow the instructions.  Have fun on the SQL trail!