Left and right joins, PL-SQL Programming

Assignment Help:

Left and Right Joins

LEFT OUTER JOIN can be used when you want to retrieve the data from the main table (table1) even if there is no match in other tables (table_2, table_3....). While RIGHT OUTER JOIN is used to retrieve the data the from all other tables (table_2, table_3...) even if there is no match in the main table. As an example, in our classicalmodels sample database, when the company wants to establish a new office, the SQL script to insert a new office to the databse as follows:

INSERT INTO classicmodels.offices

(officeCode, city, phone, addressLine1, addressLine2, state, country, postalCode, territory)

VALUES  ('8', 'Boston', '+1 215 837 0825', '1550 dummy street', 'dummy address', 'MA', 'USA', '02107', 'NA')

At this time, the company hasn't hired any new employees yet, so the new office does not have any employees. If we want to know which employees belong to what offices and all the offices of the company, we can use RIGHT JOIN as follows:

SELECT firstname,

lastname,

addressLine1

 FROM employees as e  RIGHT OUTER JOIN offices as o

 ON o.officeCode = e.officeCode

The Right join on offices will cause all records from the offices table (the table on the right in the join stmt) to display, even if there is not a corresponding record in the employees table. Notice the last record contains null values for the first and last name values pulled from employees table. This is because there are no records in the employees table with an office code of 8 (the boston office we just added to the office table.)

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

| firstname | lastname  | addressLine1             |

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

| Mary      | Patterson | 100 Market Street        |

| Diane     | Murphy    | 100 Market Street        |

| Jeff      | Firrelli  | 100 Market Street        |

| Anthony   | Bow       | 100 Market Street        |

| Leslie    | Jennings  | 100 Market Street        |

| Leslie    | Thompson  | 100 Market Street        |

| Julie     | Firrelli  | 1550 Court Place         |

| Steve     | Patterson | 1550 Court Place         |

| FoonYue  | Tseng     | 523 East 53rd Street     |

| George    | Vanauf    | 523 East 53rd Street     |

| Gerard    | Bondur    | 43 Rue JouffroyD'abbans |

| Loui      | Bondur    | 43 Rue JouffroyD'abbans |

| Gerard    | Hernandez | 43 Rue JouffroyD'abbans |

| Pamela    | Castillo  | 43 Rue JouffroyD'abbans |

| Martin    | Gerard    | 43 Rue JouffroyD'abbans |

| Mami      | Nishi     | 4-1 Kioicho              |

| Yoshimi   | Kato      | 4-1 Kioicho              |

| William   | Patterson | 5-11 Wentworth Avenue    |

| Andy      | Fixter    | 5-11 Wentworth Avenue    |

| Peter     | Marsh     | 5-11 Wentworth Avenu    |

| Tom       | King      | 5-11 Wentworth Avenue    |

| Larry     | Bott      | 25 Old Broad Street      |

| Barry     | Jones     | 25 Old Broad Street      |

| NULL      | NULL      | 1550 dummy street        |

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

24 rows in set (0.00 sec)

As you can see, the RIGHT JOIN get the all the data from second table (offices) and data from the first table even the condition does not match.


Related Discussions:- Left and right joins

Merge and truncate in sql, MERGE and TRUNCATE in SQL SQL has two more ...

MERGE and TRUNCATE in SQL SQL has two more table update operators, MERGE and TRUNCATE. MERGE, like INSERT, takes a source table s and uses it to update a target table t. Brief

Defining records, Defining and Declaring Records To create records, yo...

Defining and Declaring Records To create records, you have to define a RECORD type, and then declare records of that type. You may also define RECORD types in the declarative

Calculate the number of tuples, Question: (a) The objective of query opti...

Question: (a) The objective of query optimization is to choose the most efficient strategy for implementing a given relational query, thereby improving the system performance. On

Update stock levels, At times, customers make mistakes in submitting their ...

At times, customers make mistakes in submitting their orders and call to cancel the order. Brewbean's wants to create a trigger that automatically updates the stock level of all pr

Group and having query, Using a join on 2 tables, select all columns and 10...

Using a join on 2 tables, select all columns and 10 rows from the 2 tables without the use of a Cartesian product. Query: SELECT * FROM EMPLOYEE1 E JOIN STAFF S ON E.EMP_

Advantages of packages, Advantages of Packages The benefits of the Pack...

Advantages of Packages The benefits of the Packages are as shown below: Modularity The Packages encapsulate logically associated items, types, and subprograms in the

Block structure in pl/sql, Block Structure The PL/SQL is a block-struct...

Block Structure The PL/SQL is a block-structured language. That is, the fundamental units (procedures, anonymous blocks, and functions) that make up a PL/SQL program are logi

Exit statement - syntax, EXIT Statement   You can use the EXIT stateme...

EXIT Statement   You can use the EXIT statement to exit a loop. The EXIT statement has 2 forms: the conditional EXIT WHEN and the unconditional EXIT. With the either form, you

Creating a sql file, Creating a SQL file 1. Open a new file in Notepad...

Creating a SQL file 1. Open a new file in Notepad++ and save it to the location c:\mysql\bin, with the name lab8script.sql (the file extension should be .sql ). Add a MySQL co

Procedures - syntax, Procedures The procedure is a subprogram which can...

Procedures The procedure is a subprogram which can take parameters and be invoked. Normally, you can use a procedure to perform an action. The procedure has 2 sections: the spe

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd