Изучаем sql



Pdf көрінісі
бет90/261
Дата28.07.2022
өлшемі1,6 Mb.
#147825
1   ...   86   87   88   89   90   91   92   93   ...   261
Байланысты:
Изучаем SQL ( PDFDrive )
论文说明

Глава 5. Запрос к нескольким таблицам
операционистам с помощью ID сотрудников, а затем результирующая
таблица соединяется с подзапросом по отделению Woburn на основе
ID филиала. Результаты аналогичны предыдущей версии запроса (по
пробуйте и убедитесь сами), но на вид запросы очень отличаются друг
от друга.
На самом деле здесь нет ничего необычного, но осознать происходящее
можно не сразу. Обратите внимание, например, на отсутствие блока
where
в основном запросе. Поскольку все условия фильтрации касаются
таблиц 
employee
и 
branch
, они находятся в подзапросах. В основном за
просе никакие условия фильтрации не нужны. Единственный способ
проиллюстрировать происходящее – выполнить подзапросы и посмот
реть на результирующие наборы. Вот результаты выполнения первого
подзапроса к таблице 
employee
:
mysql> 
SELECT emp_id, assigned_branch_id
> FROM employee
> WHERE start_date <= '20030101'
> AND (title = 'Teller' OR title = 'Head Teller');
+++
| emp_id | assigned_branch_id |
+++
| 8 | 1 |
| 9 | 1 |
| 10 | 2 |
| 11 | 2 |
| 13 | 3 |
| 14 | 3 |
| 16 | 4 |
| 17 | 4 |
| 18 | 4 |
+++
9 rows in set (0.03 sec)
Таким образом, результирующий набор состоит из набора ID сотруд
ников и ID соответствующих им отделений. Соединив таблицу 
account
посредством столбца 
emp_id
, имеем промежуточный результирующий
набор, содержащий все строки таблицы 
account
и дополнительный
столбец с ID отделения, в котором работает сотрудник, открывший каж
дый из счетов. Вот результаты второго подзапроса к таблице 
branch
:
mysql> 
SELECT branch_id
> FROM branch
> WHERE name = 'Woburn Branch';
++
| branch_id |
++
| 2 |
++
1 row in set (0.02 sec)


Соединение трех и более таблиц
101
По этому запросу возвращается однаединственная строка с одним
столбцом: ID отделения Woburn. Эта таблица соединена со столбцом
assigned_branch_id
промежуточного результирующего набора, что по
зволяет отсеять из окончательного результирующего набора все счета,
открытые несотрудниками отделения Woburn.


Достарыңызбен бөлісу:
1   ...   86   87   88   89   90   91   92   93   ...   261




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет