SQL JOIN
An SQL JOIN clause is
used to combine rows from two or more tables, based on a common field between
them.
The most common type of
join is: SQL INNER JOIN (simple join). An SQL INNER JOIN return all
rows from multiple tables where the join condition is met.
Different
types of SQL JOIN
Before we continue with
examples, we will list the types the different SQL JOINs you can use:
- INNER JOIN: Returns all rows when there is at least one match in BOTH tables
- LEFT JOIN: Return all rows from the left table, and the matched rows from the right table
- RIGHT JOIN: Return all rows from the right table, and the matched rows from the left table
- FULL JOIN: Return all rows when there is a match in ONE of the tables
SQL INNER JOIN Keyword
The INNER JOIN keyword selects all rows from both tables as long
as there is a match between the columns in both tables.
SQL INNER JOIN Syntax
SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name=table2.column_name;
FROM table1
INNER JOIN table2
ON table1.column_name=table2.column_name;
or:
SELECT column_name(s)
FROM table1
JOIN table2
ON table1.column_name=table2.column_name;
FROM table1
JOIN table2
ON table1.column_name=table2.column_name;
PS! INNER
JOIN is the same as JOIN.
SQL LEFT JOIN:
The LEFT JOIN keyword returns all rows from the left table (table1),
with the matching rows in the right table (table2). The result is NULL in the
right side when there is no match.
SQL LEFT JOIN Syntax
SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name=table2.column_name;
FROM table1
LEFT JOIN table2
ON table1.column_name=table2.column_name;
or:
SELECT column_name(s)
FROM table1
LEFT OUTER JOIN table2
ON table1.column_name=table2.column_name;
FROM table1
LEFT OUTER JOIN table2
ON table1.column_name=table2.column_name;
PS! In
some databases LEFT JOIN is called LEFT OUTER JOIN.
SQL RIGHT JOIN Keyword
The RIGHT JOIN keyword returns all rows from the right table
(table2), with the matching rows in the left table (table1). The result is NULL
in the left side when there is no match.
SQL RIGHT JOIN Syntax
SELECT column_name(s)
FROM table1
RIGHT JOIN table2
ON table1.column_name=table2.column_name;
FROM table1
RIGHT JOIN table2
ON table1.column_name=table2.column_name;
or:
SELECT column_name(s)
FROM table1
RIGHT OUTER JOIN table2
ON table1.column_name=table2.column_name;
FROM table1
RIGHT OUTER JOIN table2
ON table1.column_name=table2.column_name;
PS! In
some databases RIGHT JOIN is called RIGHT OUTER JOIN.
SQL FULL OUTER JOIN Keyword
The FULL OUTER JOIN keyword returns all rows from the left table
(table1) and from the right table (table2).
The FULL OUTER JOIN keyword combines the result of both LEFT and
RIGHT joins.
SQL FULL OUTER JOIN Syntax
SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name=table2.column_name;
FROM table1
FULL OUTER JOIN table2
ON table1.column_name=table2.column_name;
Examples:
Create two tables Persons and Orders,Note that
P_ID is primary key in the “Persons” table,that means that no two columns can
have same P_ID.P_ID distinguishes two person even if they have the same
name.P_ID in the orders table is foreign key in that table and O_ID is primary
key key in the orders table
Persons table
|
P_ID
|
Lastname
|
Firstname
|
Address
|
City
|
|
1
|
Hasen
|
Ola
|
Timoteivn
|
Sandnes
|
|
2
|
Svedson
|
Tove
|
Borgvn
|
Sandnes
|
|
3
|
Pettersen
|
kari
|
storgt
|
stavanger
|
Orders table
|
O_ID
|
Orderno
|
P_ID
|
|
1
|
77895
|
3
|
|
2
|
44678
|
3
|
|
3
|
22456
|
1
|
|
4
|
24562
|
1
|
|
5
|
34568
|
15
|
No comments:
Post a Comment