106
Глава 5. Запрос к нескольким таблицам
mysql>
SELECT a.account_id, a.product_cd, c.fed_id
> FROM account a INNER JOIN customer c
> ON a.cust_id = c.cust_id
> WHERE c.cust_type_cd = 'B';
++++
| account_id | product_cd | fed_id |
++++
| 20 | CHK | 041111111 |
| 21 | BUS | 041111111 |
| 22 | BUS | 042222222 |
| 23 | CHK | 043333333 |
| 24 | SBL | 044444444 |
++++
5 rows in set (0.08 sec)
Достаточно просто, но что произойдет, если по ошибке поместить усло
вие фильтрации в подблок
on
, а не в блок
where
?
mysql>
SELECT a.account_id, a.product_cd, c.fed_id
> FROM account a INNER JOIN customer c
> ON a.cust_id = c.cust_id
> AND c.cust_type_cd = 'B';
++++
| account_id | product_cd | fed_id |
++++
| 20 | CHK | 041111111 |
| 21 | BUS | 041111111 |
| 22 | BUS | 042222222 |
| 23 | CHK | 043333333 |
| 24 | SBL | 044444444 |
++++
5 rows in set (0.00 sec)
Как видите, второй вариант, в котором
оба
условия находятся в подбло
ке
on
и нет блока
where
, обеспечивает аналогичные результаты. А что ес
ли оба условия помещены в блок
where
, но блок
from
попрежнему ис
пользует ANSIсинтаксис соединения?
mysql>
Достарыңызбен бөлісу: