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

FUNCTIONS IN SQL

The document provides an overview of various SQL functions including number functions, aggregate functions, character functions, conversion functions, date functions, arithmetic operators, and the use of GROUP BY and HAVING clauses. It includes examples of SQL queries demonstrating these functions and clauses with a sample employee database. Additionally, it covers the implementation of subqueries to retrieve specific data based on conditions.

Uploaded by

Saripilli Vasu
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

FUNCTIONS IN SQL

The document provides an overview of various SQL functions including number functions, aggregate functions, character functions, conversion functions, date functions, arithmetic operators, and the use of GROUP BY and HAVING clauses. It includes examples of SQL queries demonstrating these functions and clauses with a sample employee database. Additionally, it covers the implementation of subqueries to retrieve specific data based on conditions.

Uploaded by

Saripilli Vasu
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6

NUMBER FUNCTIONS IN SQL:-

SQL> SELECT ABS(-10) FROM DUAL;


ABS(-10)
----------
10

SQL> SELECT CEIL(4.3) AS CEILING FROM DUAL;


CEILING
----------
5

SQL> SELECT FLOOR(25.75) AS floorvalue FROM DUAL;


FLOORVALUE
----------
25

SQL> SELECT ROUND(235.413,2) AS roundvalue FROM DUAL;


ROUNDVALUE
----------
235.41
SQL> SELECT MOD(13,4) FROM DUAL;
MOD(13,4)
----------
1

AGGREGATE FUNCTION IN SQL:


CREATE TABLE employees
(
id INT PRIMARY KEY,
name VARCHAR(50),
department VARCHAR(50),
salary DECIMAL(10, 2)
);

INSERT INTO employees VALUES (1, 'Alice', 'HR', 60000.00);


INSERT INTO employees VALUES (2, 'Bob', 'Engineering', 80000.00);
INSERT INTO employees VALUES (3, 'Charlie', 'Marketing', 70000.00);
INSERT INTO employees VALUES (4, 'Dana', 'Engineering', 85000.00);
INSERT INTO employees VALUES (5, 'Eve', 'HR', 75000.00);

SQL> SELECT SUM(salary) AS total_salaries FROM employees;


TOTAL_SALARIES
--------------
370000

SQL> SELECT AVG(salary) AS average_salary FROM employees;


AVERAGE_SALARY
--------------
74000
SQL> SELECT MAX(salary) AS highest_salary FROM employees;
HIGHEST_SALARY
--------------
85000

SQL> SELECT MIN(salary) AS lowest_salary FROM employees;


LOWEST_SALARY
-------------
60000

SQL> SELECT COUNT(*) AS number_of_employees FROM employees;


NUMBER_OF_EMPLOYEES
-------------------
5

CHARACTER FUNCTIONS:-
SQL> SELECT LENGTH('SQL Tutorial') as length from dual;

LENGTH
----------
12

SQL> SELECT CONCAT(CONCAT('Hello', ' '), 'World!') AS concat FROM


DUAL;

CONCAT
------------
Hello World!

SQL> SELECT UPPER('sql tutorial') as uppercase from dual;

UPPERCASE
------------
SQL TUTORIAL

SQL> SELECT LOWER('SQL TUTORIAL') as lowercase from dual;

LOWERCASE
------------
sql tutorial

SQL> SELECT SUBSTr('SQL Tutorial', 5, 8) as substring from dual;

SUBSTRIN
--------
Tutorial

SQL> SELECT TRIM(' SQL Tutorial ') as trim from dual;


TRIM
------------
SQL Tutorial

Conversion function :-
SQL> SELECT CAST('123' AS INTEGER) AS converted_integer FROM DUAL;

CONVERTED_INTEGER
-----------------
123

SQL> SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD') AS date_string FROM


dual;

DATE_STRIN
----------
2024-10-29

SQL> SELECT TO_DATE('2024-10-29', 'YYYY-MM-DD') AS date_value FROM


DUAL;

DATE_VALU
---------
29-OCT-24

SQL> SELECT TO_NUMBER('12345.67') AS number_value FROM DUAL;

NUMBER_VALUE
------------
12345.67
SQL> SELECT CONVERT('Hello World', 'AL32UTF8', 'WE8ISO8859P1') AS
converted_string FROM DUAL;

CONVERTED_S
-----------
Hello World

DATE FUNCTION IN SQL :-


SQL> SELECT SYSDATE FROM DUAL;

SYSDATE
---------
29-OCT-24

SQL> SELECT CURRENT_DATE FROM DUAL;

CURRENT_D
---------
29-OCT-24

SQL> SELECT ADD_MONTHS(SYSDATE, 3) AS future_date FROM DUAL;

FUTURE_DA
---------
29-JAN-25

SQL> SELECT NEXT_DAY(SYSDATE, 'FRIDAY') AS next_friday FROM DUAL;

NEXT_FRID
---------
01-NOV-24

ARITHMETIC OPERATORS IN SQL:-


SQL> SELECT 5 + 3 AS sum_result FROM DUAL;

SUM_RESULT
----------
8

SQL> SELECT 5 - 3 AS subtract_result FROM DUAL;

SUBTRACT_RESULT
---------------
2

SQL> SELECT 5 * 3 AS multiply_result FROM DUAL;

MULTIPLY_RESULT
---------------
15

SQL> SELECT 15 / 3 AS division_result FROM DUAL;

DIVISION_RESULT
---------------
5

SQL> SELECT MOD(15, 4) AS modulus_result FROM DUAL;

MODULUS_RESULT
--------------
3

Group by and having clause:


CREATE TABLE employees12 (
employee_id INT,
name VARCHAR(55),
department VARCHAR(55),
salary INT
);

INSERT INTO employees12 VALUES (1, 'John Doe', 'Sales', 60000);


INSERT INTO employees12 VALUES (2, 'Jane Smith', 'HR', 45000);
INSERT INTO employees12 VALUES (3, 'Mike Brown', 'Sales', 55000);
INSERT INTO employees12 VALUES (4, 'Emily Davis', 'IT', 70000);
INSERT INTO employees12 VALUES (5, 'Sarah Wilson', 'HR', 40000);
INSERT INTO employees12 VALUES (6, 'James Taylor', 'Sales', 65000);
INSERT INTO employees12 VALUES (7, 'Anna Harris', 'IT', 72000);
INSERT INTO employees12 VALUES (8, 'Tom Clark', 'Marketing', 48000);
INSERT INTO employees12 VALUES (9, 'Lisa Adams', 'Marketing', 47000);

group by:-
SQL> SELECT department, AVG(salary) AS avg_salary
2 FROM employees12
3 GROUP BY department;

DEPARTMENT AVG_SALARY
-------------------------------------------------- ----------
IT 71000
HR 42500
Sales 60000
Marketing 47500
Having clause:-
SQL> SELECT department, AVG(salary) AS avg_salary
2 FROM employees12
3 GROUP BY department
4 HAVING AVG(salary) > 50000;

DEPARTMENT AVG_SALARY
-------------------------------------------------- ----------
IT 71000
Sales 60000

Orderby clause:-
SQL> SELECT * FROM employees12 ORDER BY salary DESC;

EMPLOYEE_ID NAME DEPARTMENT SALARY


----------- ------------------------- ------------------------------ ----------
7 Anna Harris IT 72000
4 Emily Davis IT 70000
6 James Taylor Sales 65000
1 John Doe Sales 60000
3 Mike Brown Sales 55000
8 Tom Clark Marketing 48000
9 Lisa Adams Marketing 47000
2 Jane Smith HR 45000
5 Sarah Wilson HR 40000

SUBQUERIES IN SQL:-
SQL> SELECT name
2 FROM employees12
3 WHERE salary > (SELECT AVG(salary) FROM employees12);

NAME
-------------------------
John Doe
Emily Davis
James Taylor
Anna Harris

SQL>
SQL> SELECT name, salary
2 FROM employees12
3 WHERE salary = (SELECT MAX(salary) FROM employees12);

NAME SALARY
------------------------- ----------
Anna Harris 72000

SQL>
SQL> SELECT name, department, salary
2 FROM employees12
3 WHERE salary > ALL (
4 SELECT salary
5 FROM employees12
6 WHERE department = 'HR'
7 );

NAME DEPARTMENT SALARY


------------------------- ------------------------------ ----------
Lisa Adams Marketing 47000
Tom Clark Marketing 48000
Mike Brown Sales 55000
John Doe Sales 60000
James Taylor Sales 65000
Emily Davis IT 70000
Anna Harris IT 72000

7 rows selected.

You might also like