Изучаем sql


Правила операций с множествами



Pdf көрінісі
бет105/261
Дата28.07.2022
өлшемі1,6 Mb.
#147825
1   ...   101   102   103   104   105   106   107   108   ...   261
Байланысты:
Изучаем SQL ( PDFDrive )

Правила операций с множествами
В следующих разделах обозначены некоторые правила, которых необ
ходимо придерживаться при работе с составными запросами.
Результаты сортирующего составного запроса
Если требуется сортировать результаты составного запроса, после по
следнего входящего в него запроса можно добавить блок 
order
by
. В бло
ке 
order
by
указываются имена столбцов из первого запроса составного
запроса. До сих пор в каждом примере главы имена столбцов в обоих
запросах составного запроса совпадали, но так делать не обязательно,
что и показывает следующий пример:
mysql> 
SELECT emp_id, assigned_branch_id
> FROM employee
> WHERE title = 'Teller'
> UNION
> SELECT open_emp_id, open_branch_id
> FROM account
> WHERE product_cd = 'SAV'
> ORDER BY emp_id;
+++
| emp_id | assigned_branch_id |
+++
| 1 | 1 |
| 7 | 1 |
| 8 | 1 |
| 9 | 1 |
| 10 | 2 |
| 11 | 2 |
| 12 | 2 |
| 14 | 3 |
| 15 | 3 |
| 16 | 4 |
| 17 | 4 |
| 18 | 4 |
+++
12 rows in set (0.04 sec)
В этом примере в двух запросах заданы разные имена столбцов. Если
в блоке 
order
by
указать имя столбца из второго запроса, будет получе
на следующая ошибка:


Правила операций с множествами
119
mysql> 
SELECT emp_id, assigned_branch_id
> FROM employee
> WHERE title = 'Teller'
> UNION
> SELECT open_emp_id, open_branch_id
> FROM account
> WHERE product_cd = 'SAV'
> ORDER BY open_emp_id;
ERROR 1054 (42S22): Unknown column 'open_emp_id' in 'order clause'
Чтобы избежать этой проблемы, рекомендуется в обоих запросах да
вать столбцам одинаковые псевдонимы.


Достарыңызбен бөлісу:
1   ...   101   102   103   104   105   106   107   108   ...   261




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

    Басты бет