Читайте также: |
|
_> WHERE account_id = (SELECT MAX(account_id) FROM account);
+____________+____________+_________+_______________+
Типы подзапросов | |||||
| | account_id | | product_cd | | cust_id | avail_balance | | ||
+____________+____________+_________+_______________+ | |||||
| | | SBL | | | 13 | | 50000.00 | |
+____________+____________+_________+_______________+ 1 row in set (0.65 sec)
В этом примере подзапрос возвращает максимальное значение столбца account_id таблицы account. Затем содержащее выражение возвращает данные по этому счету. Если возникают какие_нибудь вопросы по по_ воду того, что делает подзапрос, можно выполнить его отдельно (без скобок) и посмотреть, что он возвращает. Вот подзапрос из предыду_ щего примера:
mysql> SELECT MAX(account_id) FROM account;
+_________________+ | MAX(account_id) | +_________________+
| | 24 | |
+_________________+
1 row in set (0.00 sec)
Итак, подзапрос возвращает одну строку и один столбец. Это позволя_ ет использовать его как одно из выражений в условии равенства (если бы подзапрос возвращал две или более строк, он мог бы сравниваться с чем_то, но не мог бы быть равным чему_то; более подробно об этом позже). В этом случае можно взять значение, возвращаемое подзапро_ сом, и подставить его в правую часть условия фильтрации в основном запросе:
mysql> | SELECT account_id, product_cd, | cust_id, avail_balance | |||
_> | FROM account a | ||||
_> | WHERE | account_id = | 24; | ||
+____________+____________+_________+_______________+ | |||||
| account_id | | product_cd | | cust_id | | avail_balance | | ||
+____________+____________+_________+_______________+ | |||||
| | | SBL | | | 13 | | 50000.00 | |
+____________+____________+_________+_______________+ 1 row in set (0.02 sec)
Здесь удобно использовать подзапрос, потому что он позволяет извле_ кать информацию о счете с наибольшим порядковым номером одним запросом. В противном случае пришлось бы с помощью одного запроса получать максимальный account_id и затем писать второй запрос для выбора необходимых данных из таблицы account. Как вы увидите, под_ запросы полезны и во многих других ситуациях и могут стать одним из самых мощных инструментов в вашем наборе SQL_инструментов.
Дата добавления: 2015-08-17; просмотров: 42 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Gt; FROM account | | | Типы подзапросов |