A SQL JOIN combines records from two tables.

A JOIN locates related column values in the two tables.

A query can contain zero, one, or multiple JOIN operations.

INNER JOIN is the same as JOIN; the keyword INNER is optional.

Different types of JOINs

(INNER) JOIN: Select records that have matching values in both tables.

LEFT (OUTER) JOIN: Select records from the first (left-most) table with matching right table records.

RIGHT (OUTER) JOIN: Select records from the second (right-most) table with matching left table records.

FULL (OUTER) JOIN: Selects all records that match either left or right table records.

The SQL JOIN syntax

The general syntax is:

SELECT column-names

  FROM table-name1 JOIN table-name2 

    ON column-name1 = column-name2

 WHERE condition

The general syntax with INNER is:

SELECT column-names

  FROM table-name1 INNER JOIN table-name2 

    ON column-name1 = column-name2

 WHERE condition

Note: The INNER keyword is optional: it is the default as well as the most commmonly used JOIN operation.