bugl
bugl
HomeLearnPatternsSearch
HomeLearnPatternsSearch

Loading lesson path

Learn/SQL/SQL References
SQL•SQL References

SQL JOIN Keyword

Concept visual

SQL JOIN Keyword

Pointer walk
two pointers
leftright102132436485116
left=0
right=6
1
3

Start at both ends

JOIN Keyword

Previous

❮ SQL Keywords

Next

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

Formula

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

Formula

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

Formula

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).

Previous

SQL IS NOT NULL Keyword

Next

SQL LEFT JOIN Keyword