bugl
bugl
HomeLearnPatternsPathsSearch
HomeLearnPatternsPathsSearch

Loading lesson path

Learn/SQL/SQL References
SQL•SQL References

SQL JOIN Keyword

Flash cards

Review the key moves

1/4
Core idea

What is the main idea behind SQL JOIN Keyword?

Lesson checks

Practice each idea before moving on

Short Mimo-style checks built from this lesson's code, terms, and sequence.

1Quick choice

Which statement best captures the main point of this lesson?

2Fill blank

Complete the missing token from the example code.

___ Orders.OrderID, Customers.CustomerName
3Order

Put the learning moves in the order that makes the concept easiest to apply.

The following SQL statement selects all orders with customer and shipper information:
The following SQL selects all orders with customer information:
The INNER JOIN command returns rows that have matching values in both tables.

Inner Join

The INNER JOIN command returns rows that have matching values in both tables.

The following SQL selects all orders with customer information:

Example

  SELECT Orders.OrderID, Customers.CustomerName
FROM Orders
INNER JOIN
  Customers ON Orders.CustomerID = Customers.CustomerID;

Note

The INNER JOIN keyword selects all rows from both tables as long as there is a match between the columns. If there are records in the "Orders" table that do not have matches in "Customers", these orders will not be shown!

The following SQL statement selects all orders with customer and shipper information:

Example

  SELECT Orders.OrderID, Customers.CustomerName, Shippers.ShipperName
FROM
  ((Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID)

  INNER JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID);

Left Join

The LEFT JOIN command returns all rows from the left table, and the matching rows from the right table. The result is NULL from the right side, if there is no match.

The following SQL will select all customers, and any orders they might have:

Example

SELECT Customers.CustomerName, Orders.OrderID

FROM Customers

LEFT JOIN Orders
ON Customers.CustomerID = Orders.CustomerID

ORDER BY Customers.CustomerName;

Note

The LEFT JOIN keyword returns all records from the left table (Customers), even if there are no matches in the right table (Orders).

Right Join

The RIGHT JOIN command returns all rows from the right table, and the matching records from the left table. The result is NULL from the left side, when there is no match.

The following SQL will return all employees, and any orders they might have placed:

Example

 SELECT Orders.OrderID, Employees.LastName, Employees.FirstName
FROM Orders
RIGHT JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID

 ORDER BY Orders.OrderID;

Note

The RIGHT JOIN keyword returns all records from the right table (Employees), even if there are no matches in the left table (Orders).

Full Outer Join

The FULL OUTER JOIN command returns all rows when there is a match in either left table or right table.

The following SQL statement selects all customers, and all orders:

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
FULL OUTER JOIN Orders
ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CustomerName;

Note

The FULL OUTER JOIN keyword returns all the rows from the left table (Customers), and all the rows from the right table (Orders). If there are rows in "Customers" that do not have matches in "Orders", or if there are rows in "Orders" that do not have matches in "Customers", those rows will be listed as well.

Previous

SQL IS NOT NULL Keyword

Next

SQL LEFT JOIN Keyword