Изучаем sql


SELECT account_id, cust_id, product_cd, avail_balance



Pdf көрінісі
бет156/261
Дата28.07.2022
өлшемі1,6 Mb.
#147825
1   ...   152   153   154   155   156   157   158   159   ...   261
Байланысты:
Изучаем SQL ( PDFDrive )

SELECT account_id, cust_id, product_cd, avail_balance
> FROM account
> WHERE avail_balance < ALL (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 |
+++++
| 2 | 1 | SAV | 500.00 |
| 5 | 2 | SAV | 200.00 |
| 8 | 4 | CHK | 534.12 |
| 9 | 4 | SAV | 767.77 |
| 12 | 6 | CHK | 122.37 |


176
Глава 9. Подзапросы
| 16 | 8 | SAV | 387.99 |
| 17 | 9 | CHK | 125.67 |
| 21 | 10 | BUS | 0.00 |
+++++
8 rows in set (0.01 sec)
Вот таблица, возвращенная подзапросом. Она включает доступные ос
татки всех счетов Фрэнка:
mysql> 
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';
++
| avail_balance |
++
| 1057.75 |
| 2212.50 |
++
2 rows in set (0.01 sec)
У Фрэнка два счета, минимальный остаток – 1057,75 долларов. Основ
ной запрос находит все счета, остаток на которых меньше, чем на лю
бом из счетов Фрэнка. Таким образом, результирующий набор вклю
чает все счета, остаток на которых меньше 1057,75 долларов.
Оператор any
Как и оператор 
all
, оператор 
any
(любой) обеспечивает возможность
сравнивать значение с элементами набора значений. Однако, в отли
чие от 
all
, условие, использующее оператор 
any
, истинно (
true
), если
есть хотя бы одно совпадение, тогда как при использовании оператора
all
требуется, чтобы условие выполнялось для 
всех
элементов набора.
Например, требуется найти все счета, доступный остаток которых
больше, чем на 
любом 
из счетов Фрэнка Такера:
mysql> 


Достарыңызбен бөлісу:
1   ...   152   153   154   155   156   157   158   159   ...   261




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

    Басты бет