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

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

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


Читайте также:
  1. Lt;question> Что такое резюме?
  2. Lt;question>Что такое микротема?
  3. Lt;question>Что такое норма литературного языка?
  4. Lt;question>Что такое «тезис»?
  5. quot;Что такое дружба и мой взгляд на дружбу".
  6. А, да-да-да, было такое.
  7. августа, на центральной площади Олимпийского парка, пройдет концерт Легендарной группы SCOOTERПропустить такое просто НЕВОЗМОЖНО!

 

Запросы к одной таблице, конечно, не редкость, но большинство за_ просов обращены к двум, трем или даже более таблицам. Для иллюст_ рации давайте рассмотрим описания таблиц employee и department и затем определим запрос, извлекающий данные из обеих:

 

mysql> DESC employee; +____________________+______________________+______+_____+____________+ | Field | Type | Null | Key | Default | +____________________+______________________+______+_____+____________+

 

| emp_id | smallint(5) unsigned | | PRI | NULL |
| fname | varchar(20) | | |   |
| lname | varchar(20) | | |   |
| start_date | date | | | 0000_00_00 |
| end_date | date | YES | | NULL |
| superior_emp_id | smallint(5) unsigned | YES | MUL | NULL |
| dept_id | smallint(5) unsigned | YES | MUL | NULL |
| title | varchar(20) | YES | | NULL |
| assigned_branch_id | smallint(5) unsigned | YES | MUL | NULL |

 

+____________________+______________________+______+_____+____________+ 9 rows in set (0.11 sec)

 

mysql> DESC department; +_________+______________________+______+_____+_________+


 

Что такое соединение?        
     
| Field | Type | Null | Key | Default |
+_________+______________________+______+_____+_________+
| dept_id | smallint(5) unsigned | | PRI | NULL |
| name | varchar(20) | | | |

 

+_________+______________________+______+_____+_________+ 2 rows in set (0.03 sec)

 

Скажем, требуется выбрать имя и фамилию каждого сотрудника, а так_ же название отдела, в котором он работает. Поэтому запрос должен бу_ дет извлекать столбцы employee.fname, employee.lname и department.name. Но как можно получить данные двух таблиц одним запросом? Ответ кроется в столбце employee.dept_id, в котором хранится ID отдела каж_ дого сотрудника (более формально, столбец employee.dept_id является внешним ключом, ссылающимся на таблицуdepartment). Запрос, кото_рый вскоре будет представлен, указывает серверу использовать стол_ бец employee.dept_id как мост между таблицами employee и department, обеспечивая таким образом возможность включения столбцов обеих таблиц в результирующий набор запроса. Такой тип операции называ_ ется соединением.

 


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


<== предыдущая страница | следующая страница ==>
Упражнения| Декартово произведение

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