The PL/SQL RIGHT JOIN return all rows from the right table, although there are no matches in the left table.
Phones table
PHONE_ID |
PHONE_NAME |
BRAND_ID |
1 |
Galaxy Note Edge |
1 |
2 |
N910 Galaxy Note 4 |
1 |
3 |
Galaxy S5 Duos 4G |
1 |
4 |
iPhone 5S |
2 |
5 |
iPhone 6 Plus |
2 |
6 |
930 Lumia |
3 |
7 |
830 Lumia |
3 |
Phone_orders table
ORDER_ID |
PHONE_ID |
1 |
3 |
2 |
3 |
3 |
4 |
4 |
6 |
Right Join example
SELECT p.phone_id, p.phone_name, o.order_id
FROM phones p RIGHT JOIN phone_orders o
ON p.phone_id=o.phone_id
ORDER BY p.phone_id, o.order_id;
Output
PHONE_ID |
PHONE_NAME |
ORDER_ID |
3 |
Galaxy S5 Duos 4G |
1 |
3 |
Galaxy S5 Duos 4G |
2 |
4 |
iPhone 5S |
3 |
6 |
930 Lumia |
4 |