Читайте также:
|
|
Как и оператор all, оператор any (любой) обеспечивает возможность сравнивать значение с элементами набора значений. Однако, в отли_ чие от all, условие, использующее оператор any, истинно (true), если есть хотя бы одно совпадение, тогда как при использовании оператора all требуется, чтобы условие выполнялось для всех элементов набора. Например, требуется найти все счета, доступный остаток которых больше, чем на любом из счетов Фрэнка Такера:
mysql> SELECT account_id, cust_id, product_cd, avail_balance
_> FROM account | |||||||
_> WHERE | avail_balance > ANY (SELECT a.avail_balance | ||||||
_> FROM account a INNER JOIN individual i | |||||||
_> | ON a.cust_id = i.cust_id | ||||||
_> | WHERE i.fname = 'Frank' AND i.lname = 'Tucker'); | ||||||
+____________+_________+____________+_______________+ | |||||||
| account_id | | cust_id | product_cd | avail_balance | | ||||||
+____________+_________+____________+_______________+ | |||||||
| | | | | CD | | | 3000.00 | | | ||
| | | | | CHK | | | 2258.02 | | | ||
| | | | | MM | | | 2212.50 | | | ||
| | | | | MM | | | 5487.09 | | | ||
| | | | | CHK | | | 2237.97 | | | ||
| | | | | CD | | | 10000.00 | | | ||
| | | | | CD | | | 5000.00 | | |
Несвязанные подзапросы | |||||||
| | | | | CHK | | | 3487.19 | | | ||
| | | | | MM | | | 9345.55 | | | ||
| | | | | CD | | | 1500.00 | | | ||
| | | | | CHK | | | 23575.12 | | | ||
| | | | | BUS | | | 9345.55 | | | ||
| | | | | CHK | | | 38552.05 | | | ||
| | | | | SBL | | | 50000.00 | | |
+____________+_________+____________+_______________+ 14 rows in set (0.01 sec)
У Фрэнка два счета с остатками 1057,75 и 2212,50 долларов. Чтобы ос_ таток был больше, чем на любом из этих двух счетов, на счете должно быть, по крайней мере, 1057,75 долларов.
Операторы = any и in эквивалентны, хотя многие предпочитают оператор in.
Дата добавления: 2015-08-17; просмотров: 44 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Оператор all | | | Подзапросы, возвращающие несколько столбцов |