Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab5.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
27.8 Кб
Скачать

Пример 3. Левое внешнее соединение

Найдите номера руководителей отделов, названия отделов и их фамилии. В том же запросе определите служащих, которые не руководят отделами.

Используем левое внешнее соединение этих двух таблиц, которое выглядит следующим образом:

SELECT mngr_no, department, last_name FROM employee e LEFT JOIN department d ON d.mngr_no= e.dept_no

MNGR_NO   DEPARTMENT            LAST_NAME  

=======   ===================   ============

                                Nelson     

                                Young      

                                Lambert    

                                Johnson    

                                Forest     

                                Weston     

                                Lee        

                                Hall       

                                Young      

                                Papadopoulos

                                Fisher     

                                Bennet     

                                De Souza   

                                Baldwin    

                                Reeves     

                                Stansbury  

                                Phong      

                                Ramanathan 

                                Steadman   

                                Nordstrom  

                                Leung      

                                O'Brien    

                                Burbank    

                                Sutherland 

                                Bishop     

                                MacDonald  

                                Williams   

                                Bender     

                                Cook       

                                Brown      

                                Ichida     

                                Page       

                                Parker     

                                Yamamoto   

                                Ferrari    

                                Yanowski   

                                Glon       

                                Johnson    

                                Green      

121       Field Office: Italy   Osborne    

                                Montgomery 

                                Guckenheimer

В этом примере за счет применения левого внешнего соединения в результирующую таблицу попали не только те строки, в которых имеется соответствие, но также та строки из первой из соединяемых таблиц (левой), которая не нашли себе соответствия во второй таблице (правой). В этой строке все поля второй таблицы заполнены значениями NULL.

 

Пример 4. Правое внешнее соединение

Найдите номера руководителей отделов, названия отделов и их фамилии. В том же запросе определите отделы, которыми не руководят.

Используем правое внешнее соединение этих двух таблиц, которое выглядит следующим образом:

SELECT mngr_no, department, last_name FROM employee e RIGHT JOIN department d ON d.mngr_no= e.dept_no

MNGR_NO   DEPARTMENT                  LAST_NAME

=======   =========================   =========

105       Corporate Headquarters              

85        Sales and Marketing                 

2         Engineering                         

46        Finance                             

          Marketing                           

          Software Products Div.              

          Software Development                

9         Quality Assurance                   

15        Customer Support                    

107       Consumer Electronics Div.           

20        Research and Development            

94        Customer Services                    

11        Field Office: East Coast            

72        Field Office: Canada                

34        Pacific Rim Headquarters            

118       Field Office: Japan                 

          Field Office: Singapore             

36        European Headquarters               

141       Field Office: Switzerland           

134       Field Office: France                

121       Field Office: Italy         Osborne 

В этом примере при выполнении правого внешнего соединения в результирующую таблицу были включены не только та строка, которая имеет одинаковые значения в сопоставляемых столбцах, но также и те строки из второй (правой) таблицы, которые не нашли соответствия со строками в первой (левой) таблице. В этой строке все поля из первой таблицы получили значения NULL.

 

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]