0% found this document useful (0 votes)
28 views

Lab 2 SQL

The document discusses SQL functions and joins. It covers single row functions like character, number, date functions. It also discusses multiple row functions. Examples of functions like round, trunc, concat are provided. The document also discusses different join types like equijoin, outer join, self join and provides examples.

Uploaded by

Yazan Abu khaled
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views

Lab 2 SQL

The document discusses SQL functions and joins. It covers single row functions like character, number, date functions. It also discusses multiple row functions. Examples of functions like round, trunc, concat are provided. The document also discusses different join types like equijoin, outer join, self join and provides examples.

Uploaded by

Yazan Abu khaled
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 26

DATABASE LAB

Lab2: SQL Functions

Ruba Sultan
SQL FUNCTIONS
 Functions are a very powerful feature of SQL can
be used to do the following:

 Perform calculations on data


 Modify individual data items
 Manipulate output for groups of rows
 Format dates and numbers for display
 Convert column data types

2
TWO TYPES OF SQL FUNCTIONS2

 There are two distinct types of SQL Functions


Single Row Function (SRF)
Multiple Row Function (MRF)

2 Introduction to Oracle: SQL and PL/SQL P3-4. Neena Kochhar, Ellen Gravina and Priya Nathan, July 1999
SINGLE ROW FUNCTION

 Single Row Function Categories3

Character Functions
Number Functions

Date Functions

Conversion Functions

General Functions

3 Introduction to Oracle: SQL and PL/SQL P3-6 Neena Kochhar, Ellen Gravina and Priya Nathan, July 1999
CHARACTER FUNCTIONS4

4 Introduction to Oracle: SQL and PL/SQL P3-7 Neena Kochhar, Ellen Gravina and Priya Nathan, July 1999
CHARACTER FUNCTIONS

Character Functions
LOWER (column | expression)
UPPER (column | expression)
INITCAP (column | expression)
CONCAT(column1|expression1,column2|expression2)
SUBSTR (column , m ,[n])
LENGTH (column | expression)
INSTR (column | expression , m)
6

LPAD (column , n , ‘string’)


QUESTIONS

 Question1
Write a query to display all employee’s names and
their jobs.
Note: format must be as the following example

Blake is a manager
 Question2
Write a query to display first name and three letters
of last name for all employees in department 90.

7
QUESTIONS

 Question3
Write a query to display last three letters of
employee’s names.

 Question4
Write a query to display all employee’s information
whose their names contain 4 letters.

8
NUMBER FUNCTIONS

Number Functions
ROUND (column | expression , n)
TRUNC (column | expression , n)
MOD (m , n)

9
EXAMPLES

SELECT
ROUND(65.723,2) , ROUND(65.723),
ROUND(65.723,-1), ROUND(65.723,-2)
FROM dual;

SELECT
TRUNC(65.723,2) , TRUNC(65.723),
TRUNC(65.723,-1), TRUNC(65.723,-2)
FROM dual;
10
DUAL TABLE

 DUAL table owned by the user SYSTEM and can be


accessed by all users5.
 It contains one column DUMMY and one row with the
value X5.
 The DUAL table is useful when you want to return a
value once only5.
 It can be used to test function on expressions.

 It can be used to display current date using


SYSDATE.

11

5 Introduction to Oracle: SQL and PL/SQL P3-17 Neena Kochhar, Ellen Gravina and Priya Nathan, July 1999
ARITHMETIC WITH DATES6
 Add or subtract a number to or from a date for a
resultant date value.
 Subtract two dates to find the number of days
between those dates.
 Add hours to a date by dividing the number of hours
by 24.

Operation Result Description


date + number Date Adds a number of days to a date
date - number Date Subtracts a number of days from a date
date - date Number of days Subtracts one date from another
date + number/24 Date Adds a number of hours to a12date
QUESTIONS
 Question5
Write a query to display employee's name,
numbers and the number of weeks employed for
all employees who earns more than $5750.

13
DATE FUNCTIONS

Date Functions
MONTHS_BETWEEN (date1,date2)
ADD_MONTHS (date ,n)
NEXT_DAY( date, ‘char’)
LAST_DAY (date)

 The default date format DD-MON-YY7


 SYSDATE is a function returning date and time.

14
QUESTIONS

 Question6
Write a query to display the date of the first FRIDAY.

 Question7
Write a query to display your age in months.

 Question8
Write a query to display last date of the current
month.

15
GENERAL FUNCTIONS

 NVL Function
 U sed to converts NULL into actual values.
 NVL (column | expression , expression)

 Question9
Write a query to display employee’s first names and
their annual income.

Note: For employees who have unknown commission


consider it to be 0.

16
GENERAL FUNCTIONS (CONT.)

 DECODE Function
 It has similar capability as CASE or IF ELSE statements.
 DECODE syntax

DECODE (column | expression ,


search1 , result1,
search2 , result2,….,
default)

17
GENERAL FUNCTIONS (CONT.)

 Question10
Write a query to display all employee’s names, their
salaries, and situation.
Note: situation of employee known form salary value.

Salary Situation
800 Low
3000 Moderate

5000 High
18

Otherwise Unknown
QUESTIONS
 Question11
List ten functions other than listed in the
slides. Gives an example of each one.

19
JOIN
 Join types
 Equijoin
 Non – Equijoin
 Outer Join
 Self Join
 To join n tables together you need a minimum of (n-1)
join conditions.
 Are used to obtain data from more than one table.
 If the same column appears in more than one table, the
column name must be prefixed with the table name.

20
CARTESIAN PRODUCT9
 Cartesian product formed when
 Join condition is omitted
 Join condition is invalid
 To avoid a Cartesian product, always include a valid
join condition in a WHERE clause.

21
EQUIJOIN
 Also called simple joins or inner joins.

SELECT
e.first_name,d.department_id,d.department_name

FROM employees e, deptartments d

WHERE e.department_id=d.department_id;

22
EQUIJOIN

Notes:
• Use table prefixes to qualify column names that
are in multiple tables.
• improve performance by using table prefixes.
• distinguish columns that have identical names
but reside in different tables by using column
aliases.

23
QUESTIONS
 Question12
Write a query to display all employee’s first
names, their department’s names and their
job title for all employees in department 30
and 80.

24
OUTER JOIN
SELECT table1.column,table2.column
FROM table1 , table2
WHERE table1.column = table2.column(+)
Deficiency of Data
 Question13
Write a query to display employee’s first
names, their last names, departments
numbers, and names of their departments.

Note: 25
Include departments that have no employees
SELF JOIN
 This type occurs when join occurred to the table itself.

 Question13
Write a query to display employee’s numbers,
their names, their managers numbers and
their managers names.

26

You might also like