Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Декартово произведение

Оператор not | Изменение данных с помощью условий равенства | Условия вхождения в диапазон | Mysql> SELECT account_id, product_cd, cust_id, avail_balance _> FROM account | Условия членства | Подзапросы | Оператор not in | Символы маски | Регулярные выражения | Упражнения |


Читайте также:
  1. NUMARK MixDeck Quadуниверсальная DJ-система, воспроизведение CD, mp3 CD, USB-накопителей, USB-MIDI-контроллер
  2. Векторное произведение
  3. Водяные часы – техническое произведение искусства
  4. Вопрос 18 Свободное воспроизведение программ для ЭВМ и баз данных. Декомпилирование программ для ЭВМ
  5. Вопрос 19 Договор об отчуждении исключительного права на произведение
  6. Вопрос 23 Охрана и защита авторских прав. Ответственность за нарушение исключительного права на произведение
  7. Вопрос №2. Процесс работы над художественным произведением.

Начнем с самого простого: поместим таблицы employee и department

 

в блок from запроса и посмотрим, что произойдет. Вот запрос, выбираю_ щий имена и фамилии сотрудников, а также название отдела. Здесь

в блоке from указаны обе таблицы, разделенные ключевым словом join:

 

mysql> SELECT e.fname, e.lname, d.name

_> FROM employee e JOIN department d;

 

+__________+___________+________________+ | fname | lname | name | +__________+___________+________________+

 

| Michael | Smith | Operations |
| Susan | Barker | Operations |
| Robert | Tyler | Operations |
| Susan | Hawthorne | Operations |
| John | Gooding | Operations |
| Helen | Fleming | Operations |
| Chris | Tucker | Operations |
| Sarah | Parker | Operations |
| Jane | Grossman | Operations |
| Paula | Roberts | Operations |
| Thomas | Ziegler | Operations |
| Samantha | Jameson | Operations |
| John | Blake | Operations |
| Cindy | Mason | Operations |
| Frank | Portman | Operations |
| Theresa | Markham | Operations |
| Beth | Fowler | Operations |
| Rick | Tulman | Operations |

 

      Глава 5. Запрос к нескольким таблицам
       
| Michael | Smith | Loans |
| Susan | Barker | Loans |
| Robert | Tyler | Loans |
| Susan | Hawthorne | Loans |
| John | Gooding | Loans |
| Helen | Fleming | Loans |
| Chris | Tucker | Loans |
| Sarah | Parker | Loans |
| Jane | Grossman | Loans |
| Paula | Roberts | Loans |
| Thomas | Ziegler | Loans |
| Samantha | Jameson | Loans |
| John | Blake | Loans |
| Cindy | Mason | Loans |
| Frank | Portman | Loans |
| Theresa | Markham | Loans |
| Beth | Fowler | Loans |
| Rick | Tulman | Loans |
| Michael | Smith | Administration |
| Susan | Barker | Administration |
| Robert | Tyler | Administration |
| Susan | Hawthorne | Administration |
| John | Gooding | Administration |
| Helen | Fleming | Administration |
| Chris | Tucker | Administration |
| Sarah | Parker | Administration |
| Jane | Grossman | Administration |
| Paula | Roberts | Administration |
| Thomas | Ziegler | Administration |
| Samantha | Jameson | Administration |
| John | Blake | Administration |
| Cindy | Mason | Administration |
| Frank | Portman | Administration |
| Theresa | Markham | Administration |
| Beth | Fowler | Administration |
| Rick | Tulman | Administration |

 

+__________+___________+________________+ 54 rows in set (0.00 sec)

 

Хм… у нас только 18 сотрудников и 3 разных отдела. Но как же полу_ чилось, что в результирующем наборе оказалось 54 строки? Пригля_ девшись, можно заметить, что каждый из 18 сотрудников встречается трижды. При этом все его данные идентичны, кроме названия отдела. Поскольку запрос не определил, как должны быть соединены эти две таблицы, сервер БД сгенерировал Декартово произведение, т. е. все воз_ можные перестановки двух таблиц (18 сотрудников умножить на 3 от_дела получается 54 перестановки). Такой тип соединения называют пе_ рекрестным соединением (cross join). Его редко используют (намерен_но, по крайней мере). Перекрестные соединения – один из типов соеди_ нений, которые будут изучаться в главе 10.


 

Что такое соединение?  
   

 


Дата добавления: 2015-08-17; просмотров: 49 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Что такое соединение?| Внутренние соединения

mybiblioteka.su - 2015-2024 год. (0.006 сек.)