Bird
Raised Fist0
MySQLquery~5 mins

AVG function in MySQL - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does the AVG function do in SQL?
The AVG function calculates the average (mean) value of a numeric column in a table.
Click to reveal answer
beginner
How do you use the AVG function to find the average price from a products table?
Use: SELECT AVG(price) FROM products; This returns the average of all values in the price column.
Click to reveal answer
beginner
Can the AVG function be used with non-numeric columns?
No, AVG only works with numeric columns like integers or decimals. Using it on text columns will cause an error.
Click to reveal answer
intermediate
What happens if the AVG function is used on a column with NULL values?
NULL values are ignored by AVG. It calculates the average only from non-NULL values.
Click to reveal answer
intermediate
How can you find the average salary per department using AVG?
Use GROUP BY: SELECT department, AVG(salary) FROM employees GROUP BY department; This shows average salary for each department.
Click to reveal answer
What does the SQL AVG function return?
AThe average value of a numeric column
BThe total sum of a numeric column
CThe highest value in a column
DThe number of rows in a table
Which SQL query correctly finds the average age from a table named users?
ASELECT AVG(age) FROM users;
BSELECT SUM(age) FROM users;
CSELECT COUNT(age) FROM users;
DSELECT MAX(age) FROM users;
How does AVG handle NULL values in a column?
AIt causes an error
BIt treats NULL as zero
CIt ignores NULL values
DIt counts NULL as one
Can AVG be used on a text column?
AYes, but only if text is numeric strings
BNo, AVG only works on numeric columns
CYes, AVG works on any column
DOnly if text is converted first
Which SQL clause is used with AVG to get averages per group?
AHAVING
BORDER BY
CWHERE
DGROUP BY
Explain how the AVG function works and how it treats NULL values.
Think about how you find an average in real life and what happens if some data is missing.
You got /3 concepts.
    Describe how to use AVG with GROUP BY to find averages per category.
    Imagine you want average scores per class in a school.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the AVG() function do in MySQL?
      easy
      A. Returns the sum of all values in a column
      B. Counts the number of rows in a table
      C. Finds the maximum value in a column
      D. Calculates the average value of a numeric column

      Solution

      1. Step 1: Understand the purpose of AVG()

        The AVG() function is designed to calculate the average (mean) of numeric values in a column.
      2. Step 2: Compare with other aggregate functions

        Unlike COUNT(), MAX(), or SUM(), AVG() specifically returns the average value.
      3. Final Answer:

        Calculates the average value of a numeric column -> Option D
      4. Quick Check:

        AVG() = average [OK]
      Hint: AVG() always returns the mean of numeric values [OK]
      Common Mistakes:
      • Confusing AVG() with COUNT()
      • Thinking AVG() sums values instead of averaging
      • Assuming AVG() includes NULL values in calculation
      2. Which of the following is the correct syntax to find the average salary from a table named employees?
      easy
      A. SELECT AVG(salary) FROM employees;
      B. SELECT AVG salary FROM employees;
      C. SELECT AVERAGE(salary) FROM employees;
      D. SELECT salary AVG() FROM employees;

      Solution

      1. Step 1: Recall correct AVG() syntax

        The correct syntax uses AVG() as a function with the column name inside parentheses.
      2. Step 2: Check each option

        SELECT AVG(salary) FROM employees; uses AVG(salary) correctly. Options A, C, and D have syntax errors or wrong function names.
      3. Final Answer:

        SELECT AVG(salary) FROM employees; -> Option A
      4. Quick Check:

        AVG(column) syntax [OK]
      Hint: AVG() requires parentheses around the column name [OK]
      Common Mistakes:
      • Omitting parentheses in AVG()
      • Using wrong function name like AVERAGE()
      • Placing AVG() after column name incorrectly
      3. Given the table scores with values:
      id | score
      1 | 80
      2 | 90
      3 | NULL
      4 | 70

      What will the query SELECT AVG(score) FROM scores; return?
      medium
      A. 80
      B. NULL
      C. 80.0
      D. 75

      Solution

      1. Step 1: Identify values considered by AVG()

        AVG() ignores NULL values, so it averages 80, 90, and 70.
      2. Step 2: Calculate average of non-NULL scores

        (80 + 90 + 70) / 3 = 240 / 3 = 80.0. MySQL's AVG() returns a floating-point value.
      3. Final Answer:

        80.0 -> Option C
      4. Quick Check:

        AVG ignores NULL, average = 80.0 [OK]
      Hint: AVG ignores NULLs and returns float average [OK]
      Common Mistakes:
      • Including NULL in average calculation
      • Expecting integer instead of float result
      • Confusing AVG with SUM or COUNT
      4. Consider this query:
      SELECT AVG(price) FROM products WHERE price > 0;
      It returns NULL even though there are products with positive prices. What is the likely cause?
      medium
      A. The price column contains only NULL values
      B. The WHERE clause filters out all rows
      C. AVG() cannot be used with WHERE clause
      D. The table products does not exist

      Solution

      1. Step 1: Understand AVG() behavior with WHERE clause

        The WHERE clause filters rows before AVG() calculates the average.
      2. Step 2: Analyze why AVG() returns NULL

        If the WHERE clause excludes all rows (no price > 0), AVG() has no values to average and returns NULL.
      3. Final Answer:

        The WHERE clause filters out all rows -> Option B
      4. Quick Check:

        Empty filtered rows cause AVG() to return NULL [OK]
      Hint: Check WHERE filters; no rows means AVG() returns NULL [OK]
      Common Mistakes:
      • Assuming AVG() ignores WHERE clause
      • Thinking AVG() returns 0 if no rows
      • Believing AVG() cannot be combined with WHERE
      5. You have a sales table with columns region and amount. How do you write a query to find the average sales amount per region, excluding regions with no sales?
      hard
      A. SELECT region, AVG(amount) FROM sales GROUP BY region HAVING AVG(amount) > 0;
      B. SELECT region, AVG(amount) FROM sales WHERE amount IS NOT NULL GROUP BY region;
      C. SELECT region, AVG(amount) FROM sales GROUP BY region WHERE amount > 0;
      D. SELECT region, AVG(amount) FROM sales GROUP BY region HAVING amount > 0;

      Solution

      1. Step 1: Group sales by region

        Use GROUP BY region to calculate averages per region.
      2. Step 2: Filter out regions with no sales

        Use HAVING AVG(amount) > 0 to exclude groups where average is NULL or 0 (no sales).
      3. Step 3: Check other options

        SELECT region, AVG(amount) FROM sales WHERE amount IS NOT NULL GROUP BY region; (SELECT region, AVG(amount) FROM sales WHERE amount IS NOT NULL GROUP BY region;) filters NULL rows before grouping but includes regions where non-NULL amounts average to 0. Options C and D have syntax errors or misuse WHERE with GROUP BY.
      4. Final Answer:

        SELECT region, AVG(amount) FROM sales GROUP BY region HAVING AVG(amount) > 0; -> Option A
      5. Quick Check:

        Use HAVING to filter groups by AVG() [OK]
      Hint: Use HAVING to filter groups after GROUP BY [OK]
      Common Mistakes:
      • Using WHERE instead of HAVING to filter groups
      • Not excluding NULL averages
      • Misplacing WHERE clause after GROUP BY
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard