Изучаем sql


SELECT account_id, product_cd, cust_id, avail_balance



Pdf көрінісі
бет150/261
Дата28.07.2022
өлшемі1,6 Mb.
#147825
1   ...   146   147   148   149   150   151   152   153   ...   261
Байланысты:
Изучаем SQL ( PDFDrive )

SELECT account_id, product_cd, cust_id, avail_balance
> FROM account a
> WHERE account_id = 24;
+++++
| account_id | product_cd | cust_id | avail_balance |
+++++
| 24 | SBL | 13 | 50000.00 |
+++++
1 row in set (0.02 sec)
Здесь удобно использовать подзапрос, потому что он позволяет извле
кать информацию о счете с наибольшим порядковым номером одним
запросом. В противном случае пришлось бы с помощью одного запроса
получать максимальный 
account_id
и затем писать второй запрос для
выбора необходимых данных из таблицы 
account
. Как вы увидите, под
запросы полезны и во многих других ситуациях и могут стать одним
из самых мощных инструментов в вашем наборе SQLинструментов.
Типы подзапросов
Наряду с различиями, отмеченными ранее относительно типа возвра
щаемой подзапросом таблицы (одна строка/один столбец, одна стро


170
Глава 9. Подзапросы
ка/несколько столбцов или несколько столбцов), есть и другой показа
тель, по которому можно дифференцировать подзапросы. Некоторые
подзапросы полностью самодостаточны (называются 
несвязанными
подзапросами 
(
noncorrelated subqueries
)), тогда как другие ссылаются
на столбцы содержащего выражения (называются 
связанными подза
просами 
(
correlated subqueries
)). В нескольких следующих разделах
рассмотрены эти два типа подзапросов и приведены разные операто
ры, позволяющие взаимодействовать с ними.
Несвязанные подзапросы
Приведенный ранее в этой главе пример является несвязанным подза
просом. Он может выполняться самостоятельно и не использует ниче
го из содержащего выражения. Большинство подзапросов являются
несвязанными. Только выражения 
update
или 
delete
часто используют
связанные подзапросы (более подробно об этом позже). Упомянутый
пример не только является несвязанным, но и возвращает таблицу, со
стоящую всего из одной строки и одного столбца. Такой тип подзапро
са называется 
скалярным подзапросом 
(
scalar subquery
), и его можно
помещать в любую часть условия, использующего обычные операторы
(
=

<>

<

>

<=

>=
). Следующие примеры показывают применение ска
лярного подзапроса в условии неравенства:
mysql> 


Достарыңызбен бөлісу:
1   ...   146   147   148   149   150   151   152   153   ...   261




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

    Басты бет