Computer >> Máy Tính >  >> Lập trình >> MySQL

Hàm MySQL SUM () đánh giá như thế nào nếu nó được sử dụng với câu lệnh SELECT trả về không có hàng nào phù hợp?


Khi hàm MySQL SUM () được sử dụng với câu lệnh SELECT trả về không có hàng nào phù hợp thì không có gì để đánh giá và nó trả về NULL dưới dạng đầu ra. Đôi khi, chúng tôi nghĩ rằng nó phải trả về 0 dưới dạng đầu ra nhưng 0 là một số chính nó và đối với không có hàng phù hợp, nó không có ý nghĩa trả về 0 do đó nó trả về NULL. Để hiểu khái niệm ở trên, hãy xem xét bảng ‘worker_tbl’ có các bản ghi sau -

mysql> SELECT * FROM employee_tbl;
+------+------+------------+--------------------+
| id   | name | work_date  | daily_typing_pages |
+------+------+------------+--------------------+
| 1    | John | 2007-01-24 | 250                |
| 2    | Ram  | 2007-05-27 | 220                |
| 3    | Jack | 2007-05-06 | 170                |
| 3    | Jack | 2007-04-06 | 100                |
| 4    | Jill | 2007-04-06 | 220                |
| 5    | Zara | 2007-06-06 | 300                |
| 5    | Zara | 2007-02-06 | 350                |
+------+------+------------+--------------------+
7 rows in set (0.00 sec)

Bây giờ, hàm MySQL SUM () trả về NULL khi chúng ta chạy truy vấn sau để tìm tổng số trang được nhập bởi 'Mohan', tên không có trong cột 'Tên' -

mysql> SELECT SUM(daily_typing_pages) FROM employee_tbl WHERE Name = ‘Mohan’;
+-------------------------+
| SUM(daily_typing_pages) |
+-------------------------+
|          NULL           |
+-------------------------+
1 row in set (0.00 sec)