Module 6 - Integrative Coding Using MySQL Functions - Week 11
Module 6 - Integrative Coding Using MySQL Functions - Week 11
Learning Objectives:
At the end of this lesson, the students shall be able to:
1. Learn how to manage and manipulate data and fields in the
database.
2. Apply and use of aggregate functions.
3. Apply and use of relational operators in database queries.
SELECT *
FROM PRODUCTS_TBL;
11 rows selected.
6 rows selected.
The COUNT Function
The COUNT function is used to count rows or values of a column that do
not contain a NULL value. When used with a query, the COUNT function
returns a numeric value. When the COUNT function is used with the
DISTINCT command, only the distinct rows are counted. ALL (opposite
of DISTINCT) is the default; it is not necessary to include ALL in the
syntax. Duplicate rows are counted if DISTINCT is not specified. One
other option with the COUNT function is to use COUNT with an asterisk.
COUNT, when used with an asterisk (COUNT(*)), counts all the rows of
a table including duplicates, whether a NULL value is contained in a
column or not.
The syntax for the COUNT function is as follows:
COUNT [ (*) | (DISTINCT | ALL) ] (COLUMN NAME)
Note
The DISTINCT command cannot be used with COUNT(*), only with the
COUNT(column_name)
Example Meaning
SELECT COUNT(EMPLOYEE_ID) FROM
Counts all employee IDs
EMPLOYEE_PAY_ID
SELECT COUNT(DISTINCT SALARY)FROM
Counts only the distinct rows
EMPLOYEE_PAY_TBL
SELECT COUNT(ALL SALARY)FROM EMPLOYEE_PAY_TBL Counts all rows for SALARY
Counts all rows of the EMPLOYEE
SELECT COUNT(*) FROM EMPLOYEE_TBL
table
COUNT(*) is
used in the following example to get a count of all records in
the EMPLOYEE_TBL table. There are six employees.
COUNT(*)
----------
6
SELECT COUNT(EMP_ID)
FROM EMPLOYEE_TBL;
COUNT(EMP_ID)
-------------
6
COUNT(PAGER) is
used in the following example to get a count of all of the
employee records that have a pager number. Only two employees had
pager numbers.
SELECT COUNT(PAGER)
FROM EMPLOYEE_TBL;
COUNT(PAGER)
------------
2
SELECT *
FROM ORDERS_TBL;
7 rows selected.
SELECT COUNT(DISTINCT(PROD_ID))
FROM ORDERS_TBL;
COUNT(DISTINCT(PROD_ID))
------------------------
6
The PROD_ID 222 has two entries in the table, thus reducing the distinct
values from 7 to 6.
Note
Because the COUNT function counts the rows, data types do not play a
part. The rows can contain columns with any data type.
The SUM Function
The SUM function is used to return a total on the values of a column for
a group of rows. The SUM function can also be used in conjunction with
DISTINCT. When SUM is used with DISTINCT, only the distinct rows are
totaled, which may not have much purpose. Your total is not accurate
in that case because rows of data are omitted.
Note:
The value of an argument must be numeric to use the SUM function.
The SUM function cannot be used on columns having a data type other
than numeric, such as character or date.
Example Meaning
SELECT SUM(SALARY) FROM EMPLOYEE_PAY_TBL Totals the salaries
SELECT SUM(DISTINCT SALARY) FROM EMPLOYEE_PAY_TBL Totals the distinct salaries
In the following query, the sum, or total amount, of all cost values is
being retrieved from the PRODUCTS_TBL table:
SELECT SUM(COST)
FROM PRODUCTS_TBL;
SUM(COST)
----------
163.07
The AVG function is used to find averages for a group of rows. When
used with the DISTINCT command, the AVG function returns the
average of the distinct rows. The syntax for the AVG function is as
follows:
Note:
The value of the argument must be numeric for the AVG function to
work.
Example Meaning
SELECT AVG(SALARY) FROM EMPLOYEE_PAY_TBL Returns the average salary
SELECT AVG(DISTINCT SALARY) Returns the distinct FROM average
EMPLOYEE_PAY_TBL salary
The average value for all values in the PRODUCTS_TBL table's COST
column is being retrieved in the following example:
SELECT AVG(COST)
FROM PRODUCTS_TBL;
AVG(COST)
----------
13.5891667
Note:
In some implementations, the results of your query may be truncated
to the precision of the data type.
The next example uses two aggregate functions in the same query.
Because some employees are paid hourly and others paid a salary, you
want to retrieve the average value for both PAY_RATE and SALARY.
SELECT AVG(PAY_RATE), AVG(SALARY)
FROM EMPLOYEE_PAY_TBL;
AVG(PAY_RATE) AVG(SALARY)
------------- -----------
13.5833333 30000
The MAX function is used to return the maximum value for the values
of a column in a group of rows. NULL values are ignored when using the
MAX function. The DISTINCT command is an option. However, because
the maximum value for all the rows is the same as the distinct maximum
value, DISTINCT is useless.
The following example returns the maximum value for the COST
column in the PRODUCTS_TBL table:
SELECT MAX(COST)
FROM PRODUCTS_TBL;
MAX(COST)
----------
59.99
The MIN function returns the minimum value of a column for a group of
rows. NULL values are ignored when using the MIN function. The
DISTINCT command is an option. However, because the minimum value
for all rows is the same as the minimum value for distinct rows,
DISTINCT is useless.
The following example returns the minimum value for the COST column
in the PRODUCTS_TBL table:
MIN(COST)
----------
1.05
Note
One especially important thing to keep in mind when using aggregate
functions with the DISTINCT command is that your query may not return
the desired results. The purpose of aggregate functions is to return
summarized data based on all rows of data in a table.
The final example combines aggregate functions with the use of
arithmetic operators:
SELECT COUNT(ORD_NUM), SUM(QTY),
SUM(QTY) / COUNT(ORD_NUM) AVG_QTY
FROM ORDERS_TBL;
Logical operators are those operators that use SQL keywords to make
comparisons instead of symbols. The logical operators covered in the
following subsections are
• IS NULL
• BETWEEN
• IN
• LIKE
• EXISTS
• UNIQUE
• ALL and ANY
IS NULL
The NULL operator is used to compare a value with a NULL value. For
example, you might look for employees who do not have a pager by
Example Meaning
WHERE SALARY IS NULL Salary has no value
Example Meaning
WHERE SALARY = NULL Salary has a value containing the letters N-U-L-L
Understand that the literal word "null" is different than a NULL value.
Examine the following example:
no rows selected.
BETWEEN
The BETWEEN operator is used to search for values that are within a set
of values, given the minimum value and the maximum value. The
minimum and maximum values are included as part of the conditional
set.
Example Meaning
WHERE SALARY BETWEEN The salary must fall between 20000 and 30000, including
'20000' AND '30000' the values 20000 and 30000
4 rows selected.
Notice that the values 5.95 and 14.5 are included in the output.
Note
IN
Examples Meaning
WHERE SALARY IN('20000', The salary must match one of the values 20000,
'30000', '40000') 30000, or 40000
SELECT *
FROM PRODUCTS_TBL
WHERE PROD_ID IN ('13','9','87','119');
4 rows selected.
Using the IN operator can achieve the same results as using the OR
operator and can return the results more quickly.
The following example shows all product descriptions that end with the
letter S in uppercase:
SELECT PROD_DESC
FROM PRODUCTS_TBL
WHERE PROD_DESC LIKE '%S';
PROD_DESC
------------------
LIGHTED LANTERNS
ASSORTED COSTUMES
PLASTIC SPIDERS
ASSORTED MASKS
4 rows selected.
SELECT PROD_DESC
FROM PRODUCTS_TBL
WHERE PROD_DESC LIKE '_S%';
2 rows selected.