Any NULLS in the column on which the aggregate function is operating are ignored for the purposes of the function except COUNT(*), which includes them. If all the values in a column are NULL, COUNT(column_name) returns 0.
If no rows meet the conditions specified in the WHERE clause, COUNT returns a value of 0. The other functions all return NULL. Here are examples:
SELECT COUNT( DISTINCT Name ) FROM Products WHERE UnitPrice > 50;
SELECT AVG( UnitPrice ) FROM Products WHERE UnitPrice > 50;
|( NULL )|