0% found this document useful (0 votes)
43 views4 pages

DBMS - Practical No 6hh

Ggg
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)
43 views4 pages

DBMS - Practical No 6hh

Ggg
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

Database Systems Journal

Practical 8
Aim: Join Queries

a. Inner Join
b. Outer Join
Consider relations

CUSTOMER

Customer_id Last_name First_name Favourite_website


4000 Gabhane Madhuri [Link]
5000 Kadukar Leena [Link]
6000 Kapartiware Anjali [Link]
7000 Shende Ashwini [Link]
8000 Gote Ashwini Null
9000 Jogi Vivek [Link]

ORDER

Order_id Customer_id Order_date


1 7000 2016/4/18
2 5000 2016/4/18
3 8000 2016/04/19
4 4000 2016/04/20
5 NULL 2016/05/01

1. Retrieve the customer_id, order_id, order_date from the customer and order table.

2. Retrieve the customer_id, order_id, order_date from the customer and order table
Where customer_id >5000.

a. INNER JOIN:
1. INNER EQUI-JOIN:
[Link] the customer_id ,order_id,order_date from the customer and order table.

SELECT Customer.Customer_id,Orders.Order_id,Orders.Order_date FROM


Customers INNER JOIN Orders ON Customer.Customer_id=Orders.Customer_id
ORDER BY Customer.Customer_id;

mysql> Select Customer.Customer_id,Orders.Order_id,Orders.Order_date from


Customer INNER JOIN Orders ON
-> Customer.Customer_id=Orders.Customer_id ORDER BY
Customer.Customer_id;
+-------------+----------+------------+
| Customer_id | Order_id | Order_date |

Khan S. Alam 36 [Link]

[Link]
Database Systems Journal

+-------------+----------+------------+
| 4000 | 4 | 2016-04-20 |
| 5000 | 2 | 2016-04-18 |
| 7000 | 1 | 2016-04-18 |
| 8000 | 3 | 2016-04-19 |
+-------------+----------+------------+
4 rows in set (0.00 sec)

2. INNER NON EQUI-JOIN:


[Link] the customer_id,order_id,order_date from the customer and order table.
Where customer_id >5000.

SELECT Customer.Customer_id,Orders.Order_id,Orders.Order_date FROM


Customer INNER JOIN Orders ON Customer.Customer_id>5000 ORDER BY
Customer.Customer_id;

mysql> SELECT Customer.Customer_id,Orders.Order_id,Orders.Order_date


FROM Customer INNER JOIN Orders ON Customer.Customer_id>5000 ORDER
BY Customer.Customer_id;
+-------------+----------+------------+
| Customer_id | Order_id | Order_date |
+-------------+----------+------------+
| 6000 | 1 | 2016-04-18 |
| 6000 | 2 | 2016-04-18 |
| 6000 | 3 | 2016-04-19 |
| 6000 | 4 | 2016-04-20 |
| 6000 | 5 | 2016-05-01 |
| 7000 | 1 | 2016-04-18 |
| 7000 | 2 | 2016-04-18 |
| 7000 | 3 | 2016-04-19 |
| 7000 | 4 | 2016-04-20 |
| 7000 | 5 | 2016-05-01 |
| 8000 | 3 | 2016-04-19 |
| 8000 | 4 | 2016-04-20 |
| 8000 | 5 | 2016-05-01 |
| 8000 | 1 | 2016-04-18 |
| 8000 | 2 | 2016-04-18 |
| 9000 | 1 | 2016-04-18 |
| 9000 | 2 | 2016-04-18 |
| 9000 | 3 | 2016-04-19 |
| 9000 | 4 | 2016-04-20 |
| 9000 | 5 | 2016-05-01 |
+-------------+----------+------------+
20 rows in set (0.00 sec)

Khan S. Alam 37 [Link]

[Link]
Database Systems Journal

b. OUTER JOIN:
[Link] the customer_id ,order_id,order_date from the customer and order table.
1. LEFT OUTER JOIN:

SELECT Customer.Customer_id,Orders.Order_id,Orders.Order_date FROM


Customer LEFT OUTER JOIN Orders ON
Customer.Customer_id=Orders.Customer_id ORDER BY Customer.Customer_id;

mysql> SELECT Customer.Customer_id,Orders.Order_id,Orders.Order_date FROM


Customer LEFT OUTER JOIN Orders ON
Customer.Customer_id=Orders.Customer_id ORDER BY Customer.Customer_id;
+-------------+----------+------------+
| Customer_id | Order_id | Order_date |
+-------------+----------+------------+
| 4000 | 4 | 2016-04-20 |
| 5000 | 2 | 2016-04-18 |
| 6000 | NULL | NULL |
| 7000 | 1 | 2016-04-18 |
| 8000 | 3 | 2016-04-19 |
| 9000 | NULL | NULL |
+-------------+----------+------------+
6 rows in set (0.00 sec)

2. RIGHT OUTER JOIN:

SELECT Customer.Customer_id,Orders.Order_id,Orders.Order_date FROM


Customer RIGHT OUTER JOIN Orders ON
Customer.Customer_id=Orders.Customer_id ORDER BY Customer.Customer_id;

mysql> SELECT Customer.Customer_id,Orders.Order_id,Orders.Order_date FROM


Customer RIGHT OUTER JOIN Orders ON
Customer.Customer_id=Orders.Customer_id ORDER BY Customer.Customer_id;
+-------------+----------+------------+
| Customer_id | Order_id | Order_date |
+-------------+----------+------------+
| NULL | 5 | 2016-05-01 |
| 4000 | 4 | 2016-04-20 |
| 5000 | 2 | 2016-04-18 |
| 7000 | 1 | 2016-04-18 |
| 8000 | 3 | 2016-04-19 |
+-------------+----------+------------+
5 rows in set (0.00 sec)

3. FULL OUTER JOIN:

Khan S. Alam 38 [Link]

[Link]
Database Systems Journal

SELECT Customer.Customer_id,Orders.Order_id,Orders.Order_date FROM


Customer FULL OUTER JOIN Orders ON
Customer.Customer_id=Orders.Customer_id ORDER BY Customer.Customer_id;

mysql> SELECT Customer.Customer_id,Orders.Order_id,Orders.Order_date FROM


Customer FULL OUTER JOIN Orders ON
Customer.Customer_id=Orders.Customer_id ORDER BY Customer.Customer_id;

+-------------+------+----------------------+

| Customer_id | Order_id | Order_date |

+-------------+------+----------------------+

| NULL | 5 | 2016/05/01 |

| 4000 | 4 | 2016/04/20 |

| 5000 | 2 | 2016/04/18 |

| 6000 | NULL | NULL |

| 7000 | 1 | 2016/04/18 |

| 8000 | 3 | 2016/04/19 |

| 9000 | NULL | NULL |

+-------------+------+------------------------+

Khan S. Alam 39 [Link]

[Link]

You might also like