Типы
условий
81
+++++
| account_id | product_cd | cust_id | avail_balance |
+++++
| 1 | CHK | 1 | 1057.75 |
| 2 | SAV | 1 | 500.00 |
| 3 | CD | 1 | 3000.00 |
| 4 | CHK | 2 | 2258.02 |
| 5 | SAV | 2 | 200.00 |
| 6 | CHK | 3 | 1057.75 |
| 7 | MM | 3 | 2212.50 |
| 8 | CHK | 4 | 534.12 |
| 9 | SAV | 4 | 767.77 |
| 10 | MM | 4 | 5487.09 |
| 11 | CHK | 5 | 2237.97 |
| 12 | CHK | 6 | 122.37 |
| 13 | CD | 6 | 10000.00 |
| 14 | CD | 7 | 5000.00 |
| 15 | CHK | 8 | 3487.19 |
| 16 | SAV | 8 | 387.99 |
| 17 | CHK | 9 | 125.67 |
| 18 | MM | 9 | 9345.55 |
| 19 | CD | 9 | 1500.00 |
| 20 | CHK | 10 | 23575.12 |
| 23 | CHK | 12 | 38552.05 |
+++++
21 rows in set (0.02 sec)
На создание этого блока
where
(всего
четыре условия, разделенных опе
раторами
or
) ушло не слишком много сил и времени. А
представьте, ес
ли бы набор выражений содержал 10 или 20 элементов? В таких ситуа
циях
можно использовать оператор
in
:
SELECT account_id, product_cd, cust_id, avail_balance
FROM account
WHERE product_cd IN ('CHK','SAV','CD','MM');
При использовании оператора
in
записывается
единственное условие,
сколько бы у вас ни было выражений.
Подзапросы
Можно самостоятельно создать набор выражений,
например
('CHK',
'SAV','CD','MM')
, но сделать это можно и с помощью подзапроса. На
пример, у всех четырех типов счетов,
используемых в предыдущем за
просе, столбец
product_type_cd
имеет
значение
'ACCOUNT'
. В следующей
версии запроса для извлечения четырех
кодов типов счетов вместо яв
ного указания их имен используется подзапрос к таблице
product
:
mysql>
Достарыңызбен бөлісу: