88
Глава 4.
Фильтрация
+++++
| emp_id | fname | lname | superior_emp_id |
+++++
| 2 | Susan | Barker | 1 |
| 3 | Robert | Tyler | 1 |
| 4 | Susan | Hawthorne | 3 |
| 5 | John | Gooding | 4 |
| 6 | Helen | Fleming | 4 |
| 10 | Paula | Roberts | 4 |
| 11 | Thomas | Ziegler | 10 |
| 12 | Samantha | Jameson | 10 |
| 13 | John | Blake | 4 |
| 14 | Cindy | Mason | 13 |
| 15 | Frank | Portman | 13 |
| 16 | Theresa | Markham | 4 |
| 17 | Beth | Fowler | 16 |
| 18 | Rick | Tulman | 16 |
+++++
14 rows in set (0.01 sec)
Действительно, эти 14 сотрудников не работают под руководством Хе
лен Флеминг, но если внимательно посмотреть на данные,
можно заме
тить, что здесь пропущен один сотрудник, также не являющийся под
чиненным Хелен. Это
Майкл Смит, и в его столбце
superior_emp_id
стоит
null
(потому что он «большая шишка»). Поэтому, чтобы правильно от
ветить на
вопрос, необходимо учитывать вероятность того, что для не
которых
строк столбец
superior_emp_id
может иметь значение
null
.
mysql>
SELECT emp_id, fname, lname, superior_emp_id
>
FROM employee
>
WHERE superior_emp_id != 6 OR superior_emp_id IS NULL;
+++++
| emp_id | fname | lname | superior_emp_id |
+++++
| 1 | Michael | Smith | NULL |
| 2 | Susan | Barker | 1 |
| 3 | Robert | Tyler | 1 |
| 4 | Susan | Hawthorne | 3 |
| 5 | John | Gooding | 4 |
| 6 | Helen | Fleming | 4 |
| 10 | Paula | Roberts | 4 |
| 11 | Thomas | Ziegler | 10 |
| 12 | Samantha | Jameson | 10 |
| 13 | John | Blake | 4 |
| 14 | Cindy | Mason | 13 |
| 15 | Frank | Portman | 13 |
| 16 | Theresa | Markham | 4 |
| 17 | Beth | Fowler | 16 |
| 18 | Rick | Tulman | 16 |
+++++
15 rows in set (0.01 sec)
Упражнения
89
Теперь результирующий набор включает всех 15
сотрудников, не под
чиняющихся Хелен. При работе с малознакомой базой данных не по
мешает
выяснить, какие столбцы таблицы могут содержать
null
; это
поможет вам создавать правильные условия фильтрации,
чтобы дан
ные не смогли утекать сквозь пальцы.
Упражнения
Следующие упражнения проверят ваше понимание условий фильтра
ции. Решения ищите в приложении С.
В первых двух упражнениях используются следующие данные о тран
закциях:
Достарыңызбен бөлісу: