2010-03-02 28 views
5

Tôi đang tìm ví dụ 'sách giáo khoa' về cơ sở dữ liệu để minh họa các tính năng nổi bật của các hàm tổng hợp (Max, Min, Sum, Avg và Count) khi các giá trị NULL có liên quan.Làm thế nào để trình bày các tính năng của hàm tổng hợp (NULL)?

Tôi phải có khả năng thảo luận và minh họa/trình bày cách sử dụng các hàm tổng hợp này với sự có mặt của NULL với các truy vấn mẫu và câu trả lời của chúng, sử dụng cơ sở dữ liệu đã đề cập.

Rất cám ơn!

Trả lời

2

Sử dụng:

SELECT MAX(t.num) AS max_test, 
     MIN(t.num) AS min_test, 
     SUM(t.num) AS sum_test, 
     AVG(t.num) AS avg_test, 
     COUNT(t.num) AS count_test, 
     COUNT(*) AS count_star_test 
    FROM (SELECT NULL AS num 
     UNION ALL 
     SELECT 1 
     UNION ALL 
     SELECT 2 
     UNION ALL 
     SELECT 3) t 

Output nên là:

max_test | min_test | sum_test | avg_test | count_test | count_star_test 
------------------------------------------------------------------------- 
3  | 1  | 6  | 2  | 3   | 4 

Nói tóm lại, NULL được bỏ qua bởi chức năng tổng hợp nếu bạn tham khảo các cột cụ thể. COUNT là hàm tổng hợp duy nhất hỗ trợ * - COUNT(*) sẽ bao gồm NULL trong trường hợp này.

+4

Tôi sẽ chỉ ra rằng null không bị bỏ qua khi bạn sử dụng số (*) thay vì đếm (Tên trường) – HLGEM

+0

@ HLGEM: Điểm tốt, được cập nhật. –

0

Giá trị rỗng là giá trị chưa xác định. Tất cả các hàm tổng hợp ngoại trừ hàm đếm bỏ qua giá trị null.

tôi đã lấy khái niệm hệ thống cơ sở dữ liệu ví dụ hình thức bởi korth.Here là một mối quan hệ giảng viên

ID  name  dept  salary 
22222  Einstein Physics  95000 
12121  Wu   Finance  90000 
32343  El Said  History  60000 
45565  Katz  Comp. Sci. 75000 
98345  Kim Elec. Eng.  80000 
12131  jake  music  null 

Tôi đã bỏ qua vài tuples và chèn một tuple mới (12.131, jake, âm nhạc, null) để minh họa chức năng tổng hợp trên các giá trị null.

select sum(salary) from instructor; 
result 400000 
select min(salary) from instructor; 
result 60000 
select count(*) from instructor; 
result 6 

Kết quả tương tự giữ cho hàm tối đa và trung bình. Chỉ có chức năng đếm tính đến giá trị null.

Các vấn đề liên quan