SQL LEFT JOIN Keyword
As per the name SQL Left join returns all the records from the left table and the similar records form the right table. Let’s take a look at the syntax:
SELECT column/columns FROM table_left LEFT JOIN table_right ON table_left.column= table_right.column;
As you can see in the syntax above, the query will show all the records from the table on the left side (table_left) and also the matched records form the table on the right side (table_right).
Let’s take a look at the example:
SELECT country.Region, countrylanguage.Language, country.Name, country.Code FROM country LEFT JOIN countrylanguage ON country.Code=countrylanguage.CountryCode ORDER BY Code LIMIT 10;
In the example above, I am selecting the columns Region, Name and Code form country table and Language from countrylanguage table. As I’ve discussed before the table on the left side will have it’s all records pulled up and displayed, which in this example, is country table. Then the query watches out for the similar records in both the tables and then displays those records from the tables.
If the records are exactly matching from all the columns requested then it will only display single entry otherwise there will be multiple lines of display. For example, lets say the language is different for matching records for AFG country code. Then it will create a row with all the records form left column and then create one more row for the matching records with entries from the right table.
I’ve set the LIMIT 10 as both of tables have approx. 100 lines of records.