Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
49 views

Module 6 - Integrative Coding Using MySQL Functions - Week 11

This document discusses aggregate functions in SQL such as COUNT, SUM, AVG, MAX, and MIN. It provides examples of how each function can be used to summarize and get aggregrate values from columns in tables. COUNT counts rows, SUM calculates totals, AVG finds averages, and MAX and MIN return the highest and lowest values from a column. Various examples are given using tables like PRODUCTS_TBL and EMPLOYEE_TBL to demonstrate the usage of each aggregate function.

Uploaded by

Bryan Estacio
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
49 views

Module 6 - Integrative Coding Using MySQL Functions - Week 11

This document discusses aggregate functions in SQL such as COUNT, SUM, AVG, MAX, and MIN. It provides examples of how each function can be used to summarize and get aggregrate values from columns in tables. COUNT counts rows, SUM calculates totals, AVG finds averages, and MAX and MIN return the highest and lowest values from a column. Various examples are given using tables like PRODUCTS_TBL and EMPLOYEE_TBL to demonstrate the usage of each aggregate function.

Uploaded by

Bryan Estacio
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

Module 6

Integrative Coding using MySQL Functions

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.

JOSÉ RIZAL UNIVERSITY 1


College of Computer Studies and Engineering /ACV
Information Technology Department
Aggregate Functions

Functions are keywords in SQL used to manipulate values within


columns for output purposes. A function is a command always used in
conjunction with a column name or expression. There are several types
of functions in SQL. This hour covers aggregate functions. An aggregate
function is used to provide summarization information for an SQL
statement, such as counts, totals, and averages.

The aggregate functions are:


• COUNT
• SUM
• MAX
• MIN
• AVG
The following queries show the data used for most of this hour's
examples:

SELECT *
FROM PRODUCTS_TBL;

PROD_ID PROD_DESC COST


---------- ------------------------------ ------
11235 WITCHES COSTUME 29.99
222 PLASTIC PUMPKIN 18 INCH 7.75
13 FALSE PARAFFIN TEETH 1.1
90 LIGHTED LANTERNS 14.5
15 ASSORTED COSTUMES 10
9 CANDY CORN 1.35
6 PUMPKIN CANDY 1.45
87 PLASTIC SPIDERS 1.05
119 ASSORTED MASKS 4.95
1234 KEY CHAIN 5.95
2345 OAK BOOKSHELF 59.99

11 rows selected.

Some employees do not have a pager number in the results of the


following query:

JOSÉ RIZAL UNIVERSITY 2


College of Computer Studies and Engineering /ACV
Information Technology Department
SELECT EMP_ID, LAST_NAME, FIRST_NAME, PAGER
FROM EMPLOYEE_TBL;

EMP_ID LAST_NAM FIRST_NA PAGER


--------- -------- -------- ----------
311549902 STEPHENS TINA
442346889 PLEW LINDA
213764555 GLASS BRANDON 3175709980
313782439 GLASS JACOB 8887345678
220984332 WALLACE MARIAH
443679012 SPURGEON TIFFANY

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.

JOSÉ RIZAL UNIVERSITY 3


College of Computer Studies and Engineering /ACV
Information Technology Department
SELECT COUNT(*)
FROM EMPLOYEE_TBL;

COUNT(*)
----------
6

COUNT(EMP_ID)is used in the next example to get a count of all the


employee identifications that exist in the table. The returned count is
the same as the last query because all employees have an identification
number.

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

The ORDERS_TBL table, shown next, is used in the following COUNT


example:

SELECT *
FROM ORDERS_TBL;

ORD_NUM CUST_ID PROD_ID QTY ORD_DATE_


---------- ---------- ----------------- -------------
56A901 232 11235 1 22-OCT-99
56A917 12 907 100 30-SEP-99
32A132 43 222 25 10-OCT-99
16C17 090 222 2 17-OCT-99
18D778 287 90 10 17-OCT-99
23E934 432 13 20 15-OCT-99
90C461 560 1234 2

7 rows selected.

JOSÉ RIZAL UNIVERSITY 4


College of Computer Studies and Engineering /ACV
Information Technology Department
This last example obtains a count of all distinct product identifications in
the ORDERS_TBL table.

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.

The syntax for the SUM function is as follows:


SUM ([ DISTINCT ] COLUMN NAME)

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

JOSÉ RIZAL UNIVERSITY 5


College of Computer Studies and Engineering /ACV
Information Technology Department
The AVG Function

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:

AVG ([ DISTINCT ] COLUMN NAME)

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

JOSÉ RIZAL UNIVERSITY 6


College of Computer Studies and Engineering /ACV
Information Technology Department
The MAX Function

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.

MAX([ DISTINCT ] COLUMN NAME)


Example Meaning
SELECT MAX(SALARY) FROM EMPLOYEE_PAY_TBL Returns the highest salary
SELECT MAX(DISTINCT SALARY) FROM Returns the highest distinct
EMPLOYEE_PAY_TBL salary

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

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.

MIN([ DISTINCT ] COLUMN NAME)


Example Meaning
SELECT MIN(SALARY) FROM EMPLOYEE_PAY_TBL Returns the lowest salary
SELECT MIN(DISTINCT SALARY) FROM Returns the lowest distinct
EMPLOYEE_PAY_TBL salary

The following example returns the minimum value for the COST column
in the PRODUCTS_TBL table:

JOSÉ RIZAL UNIVERSITY 7


College of Computer Studies and Engineering /ACV
Information Technology Department
SELECT MIN(COST)
FROM PRODUCTS_TBL;

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;

COUNT(ORD_NUM) SUM(QTY) AVG_QTY


-------------- ---------- ----------
7 160 22.857143
You have performed a count on all order numbers, figured the sum of
all quantities ordered, and, by dividing the two figures, have derived the
average quantity of an item per order. You also created a column alias
for the computation—AVG_QTY.

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

JOSÉ RIZAL UNIVERSITY 8


College of Computer Studies and Engineering /ACV
Information Technology Department
searching for NULL values in the PAGER column of the EMPLOYEE_TBL
table.

The following example shows comparing a value to a NULL value:

Example Meaning
WHERE SALARY IS NULL Salary has no value

The following example does not find a NULL value:

Example Meaning
WHERE SALARY = NULL Salary has a value containing the letters N-U-L-L

SELECT EMP_ID, LAST_NAME, FIRST_NAME, PAGER


FROM EMPLOYEE_TBL
WHERE PAGER IS NULL;

EMP_ID LAST_NAM FIRST_NA PAGER


--------- -------- -------- -----
311549902 STEPHENS TINA
442346889 PLEW LINDA
220984332 WALLACE MARIAH
443679012 SPURGEON TIFFANY
4 rows selected.

Understand that the literal word "null" is different than a NULL value.
Examine the following example:

SELECT EMP_ID, LAST_NAME, FIRST_NAME, PAGER


FROM EMPLOYEE_TBL
WHERE PAGER = NULL;

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

JOSÉ RIZAL UNIVERSITY 9


College of Computer Studies and Engineering /ACV
Information Technology Department
SELECT *
FROM PRODUCTS_TBL
WHERE COST BETWEEN 5.95 AND 14.5;

PROD_ID PROD_DESC COST


---------- ------------------------------ ------
222 PLASTIC PUMPKIN 18 INCH 7.75
90 LIGHTED LANTERNS 14.5
15 ASSORTED COSTUMES 10
1234 KEY CHAIN 5.95

4 rows selected.

Notice that the values 5.95 and 14.5 are included in the output.

Note

BETWEEN is inclusive and therefore includes the minimum and


maximum values in the query results.

IN

The IN operator is used to compare a value to a list of literal values that


have been specified. For TRUE to be returned, the compared value must
match at least one of the values in the list.

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');

PROD_ID PROD_DESC COST


---------- ------------------------------ ------
119 ASSORTED MASKS 4.95
87 PLASTIC SPIDERS 1.05
9 CANDY CORN 1.35
13 FALSE PARAFFIN TEETH 1.1

4 rows selected.

Using the IN operator can achieve the same results as using the OR
operator and can return the results more quickly.

JOSÉ RIZAL UNIVERSITY 10


College of Computer Studies and Engineering /ACV
Information Technology Department
LIKE
The LIKE operator is used to compare a value to similar values using
wildcard operators. There are two wildcards used in conjunction with the
LIKE operator:
• The percent sign (%)
• The underscore (_)
The percent sign represents zero, one, or multiple characters. The
underscore represents a single number or character. The symbols can
be used in combinations.
Examples are:

WHERE SALARY LIKE


'200%' Finds any values that start with 200
WHERE SALARY LIKE
'%200%' Finds any values that have 200 in any position
WHERE SALARY LIKE Finds any values that have 00 in the second and third positions
'_00%'
WHERE SALARY LIKE Finds any values that start with 2 and are at least three
'2_%_%' characters in length
WHERE SALARY LIKE '%2' Finds any values that end with 2
WHERE SALARY LIKE Finds any values that have a 2 in the second position and end
'_2%3' with a 3
WHERE SALARY LIKE Finds any values in a five-digit number that start with 2 and end
'2___3' with 3

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.

The following example shows all product descriptions whose second


character is the letter S in uppercase:

SELECT PROD_DESC
FROM PRODUCTS_TBL
WHERE PROD_DESC LIKE '_S%';

JOSÉ RIZAL UNIVERSITY 11


College of Computer Studies and Engineering /ACV
Information Technology Department
PROD_DESC
------------------
ASSORTED COSTUMES
ASSORTED MASKS

2 rows selected.

JOSÉ RIZAL UNIVERSITY 12


College of Computer Studies and Engineering /ACV
Information Technology Department

You might also like