0% found this document useful (0 votes)
122 views5 pages

Joins and Keys: SQL Join

1) Joins allow selecting data from two or more related tables based on matching keys. Primary keys uniquely identify each row in a table while foreign keys in one table reference primary keys in another table. 2) SQL JOIN statements like INNER JOIN, LEFT JOIN, and RIGHT JOIN are used to select columns from two tables based on matching keys. INNER JOIN returns only rows with matches in both tables while LEFT and RIGHT JOIN return all rows from the left or right table respectively. 3) UNION combines the results of two separate SELECT statements but removes duplicate rows. UNION ALL returns all rows including duplicates. Both require columns with the same data types.

Uploaded by

Ranylene Olaybal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
122 views5 pages

Joins and Keys: SQL Join

1) Joins allow selecting data from two or more related tables based on matching keys. Primary keys uniquely identify each row in a table while foreign keys in one table reference primary keys in another table. 2) SQL JOIN statements like INNER JOIN, LEFT JOIN, and RIGHT JOIN are used to select columns from two tables based on matching keys. INNER JOIN returns only rows with matches in both tables while LEFT and RIGHT JOIN return all rows from the left or right table respectively. 3) UNION combines the results of two separate SELECT statements but removes duplicate rows. UNION ALL returns all rows including duplicates. Both require columns with the same data types.

Uploaded by

Ranylene Olaybal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

SQL JOIN

Joins and Keys

Sometimes we have to select data from two or more tables to make our result complete. We have to
perform a join.

Tables in a database can be related to each other with keys. A primary key is a column with a unique
value for each row. Each primary key value must be unique within the table. The purpose is to bind data
together, across tables, without repeating all of the data in every table.

In the "Employees" table below, the "Employee_ID" column is the primary key, meaning that no two rows
can have the same Employee_ID. The Employee_ID distinguishes two persons even if they have the
same name.

When you look at the example tables below, notice that:

 The "Employee_ID" column is the primary key of the "Employees" table


 The "Prod_ID" column is the primary key of the "Orders" table
 The "Employee_ID" column in the "Orders" table is used to refer to the persons in the
"Employees" table without using their names

Employees:
Employee_ID Name
01 Hansen, Ola
02 Svendson, Tove
03 Svendson, Stephen
04 Pettersen, Kari

Orders:
Prod_ID Product Employee_ID
234 Printer 01
657 Table 03
865 Chair 03

Referring to Two Tables

We can select data from two tables by referring to two tables, like this:

Example
Who has ordered a product, and what did they order?
SELECT Employees.Name, Orders.Product
FROM Employees, Orders
WHERE Employees.Employee_ID=Orders.Employee_ID

Result
Name Product
Hansen, Ola Printer
Svendson, Stephen Table
Svendson, Stephen Chair
Example

Who ordered a printer?


SELECT Employees.Name
FROM Employees, Orders
WHERE Employees.Employee_ID=Orders.Employee_ID
AND Orders.Product='Printer'

Result
Name
Hansen, Ola

Using Joins
OR we can select data from two tables with the JOIN keyword, like this:

Example INNER JOIN

Syntax
SELECT field1, field2, field3
FROM first_table
INNER JOIN second_table
ON first_table.keyfield = second_table.foreign_keyfield

Who has ordered a product, and what did they order?


SELECT Employees.Name, Orders.Product
FROM Employees
INNER JOIN Orders
ON
Employees.Employee_ID=Orders.Employee_ID

The INNER JOIN returns all rows from both tables where there is a match. If there are rows in Employees
that do not have matches in Orders, those rows will not be listed.

Result
Name Product
Hansen, Ola Printer
Svendson, Stephen Table
Svendson, Stephen Chair

Example LEFT JOIN


Syntax
SELECT field1, field2, field3
FROM first_table
LEFT JOIN second_table
ON first_table.keyfield = second_table.foreign_keyfield

List all employees, and their orders - if any.


SELECT Employees.Name, Orders.Product
FROM Employees
LEFT JOIN Orders
ON Employees.Employee_ID=Orders.Employee_ID
The LEFT JOIN returns all the rows from the first table (Employees), even if there are no matches in the
second table (Orders). If there are rows in Employees that do not have matches in Orders, those rows
also will be listed.

Result
Name Product
Hansen, Ola Printer
Svendson, Tove
Svendson, Stephen Table
Svendson, Stephen Chair
Pettersen, Kari

Example RIGHT JOIN


Syntax
SELECT field1, field2, field3
FROM first_table
RIGHT JOIN second_table
ON first_table.keyfield = second_table.foreign_keyfield

List all orders, and who has ordered - if any.

SELECT Employees.Name, Orders.Product


FROM Employees
RIGHT JOIN Orders
ON Employees.Employee_ID=Orders.Employee_ID

The RIGHT JOIN returns all the rows from the second table (Orders), even if there are no matches in the
first table (Employees). If there had been any rows in Orders that did not have matches in Employees,
those rows also would have been listed.

Result
Name Product
Hansen, Ola Printer
Svendson, Stephen Table
Svendson, Stephen Chair

Example
Who ordered a printer?
SELECT Employees.Name
FROM Employees
INNER JOIN Orders
ON Employees.Employee_ID=Orders.Employee_ID
WHERE Orders.Product = 'Printer'

Result
Name
Hansen, Ola
SQL UNION and UNION ALL

UNION
The UNION command is used to select related information from two tables, much like the JOIN
command. However, when using the UNION command all selected columns need to be of the same data
type.
Note: With UNION, only distinct values are selected.

SQL Statement 1
UNION
SQL Statement 2

Employees_Norway:
E_ID E_Name
01 Hansen, Ola
02 Svendson, Tove
Svendson,
03
Stephen
04 Pettersen, Kari

Employees_USA:
E_ID E_Name
01 Turner, Sally
02 Kent, Clark
Svendson,
03
Stephen
04 Scott, Stephen

Using the UNION Command


Example
List all different employee names in Norway and USA:
SELECT E_Name FROM Employees_Norway
UNION
SELECT E_Name FROM Employees_USA

Result
E_Name
Hansen, Ola
Svendson, Tove
Svendson, Stephen
Pettersen, Kari
Turner, Sally
Kent, Clark
Scott, Stephen
Note: This command cannot be used to list all employees in Norway and USA. In the example above we
have two employees with equal names, and only one of them is listed. The UNION command only selects
distinct values.
UNION ALL
The UNION ALL command is equal to the UNION command, except that UNION ALL selects all values.

SQL Statement 1
UNION ALL
SQL Statement 2

Using the UNION ALL Command


Example
List all employees in Norway and USA:
SELECT E_Name FROM Employees_Norway

UNION ALL

SELECT E_Name FROM Employees_USA

Result
E_Name
Hansen, Ola
Svendson, Tove
Svendson, Stephen
Pettersen, Kari
Turner, Sally
Kent, Clark
Svendson, Stephen
Scott, Stephen

You might also like