PRACTICAL NO :-1
AIM:- STUDY OF STRING FUNCTIONS IN SQL.
OBJECTIVE:-APPLYING STRING FUNCTION TO INDIVIDUAL VALUES & TABLE
DATA.
THEORY:- WE NEED TO PERFORM SOME OPERATION THESE OPERATION CAN BE
USING STRING FUNCTION THESE ARE DIFFERENT STRING FUNCTIONS
SELECT * FROM SCHOOL1;
+-------+-------+-------+---------+------------+
| SR_NO | NAME | CLASS | SECTION | DOB |
+-------+-------+-------+---------+------------+
| 1 | NIHAL | 12 | A | 2006-04-26 |
| 2 | HARI | 12 | A | 2005-12-01 |
| 3 | SHIV | 12 | A | 2006-05-20 |
| 4 | RAM | 12 | A | 2006-08-05 |
| 5 | OM | 12 | A | 2007-10-11 |
+-------+-------+-------+---------+------------+
5 rows in set (0.02 sec)
SYNTAX_1:- CONCAT(str1,str2,...)
RETURN TYPE:- STRING
CODE /COMMAND:-SELECT CONCAT(NAME,CLASS)AS 'NAMECLASS' FROM SCHOOL1;
RESULT:-
+-----------+
| NAMECLASS |
+-----------+
| NIHAL12 |
| HARI12 |
| SHIV12 |
| RAM12 |
| OM12 |
+-----------+
5 rows in set (0.00 sec)
OBSERVATION:- HERE YOU CAN SEE THAT
SYNTAX_2:-LOWER(str)
RETURN TYPE:-STRING
CODE/COMMAND:- SELECT LOWER('OM') ;
RESULT:-
+-------------+
| LOWER('OM') |
+-------------+
| om |
+-------------+
1 row in set (0.00 sec)
OR
SELECT LOWER(NAME)AS 'LOWER CASE' FROM SCHOOL1;
+------------+
| LOWER CASE |
+------------+
| nihal |
| hari |
| shiv |
| ravi |
| om |
+------------+
5 rows in set (0.00 sec)
OBSERVATION:-
SYNTAX_3:-UPPER(str)
RETURN TYPE:-STRING
CODE/COMMAND:- SELECT UPPER(NAME)AS 'UPPER CASE' FROM SCHOOL1;
RESULT:-
+------------+
| LOWER CASE |
+------------+
| NIHAL |
| HARI |
| SHIV |
| RAVI |
| OM |
+------------+
5 rows in set (0.01 sec)
OBSERVATION:-
SYNTAX_4:-INSTR(str1,str2,..)
RETURN TYPE:-NUMBER
CODE/COMMAND:- SELECT INSTR('HARIGOPAL','GOPAL') AS 'INSTRING';
RESULT:-
+----------+
| INSTRING |
+----------+
| 5 |
+----------+
1 row in set (0.00 sec)
OBSERVATION:-
SYNTAX_5:-LENGTH(str)
RETURN TYPE:- NUMBER
CODE/COMMAND:- SELECT LENGTH('NIHAL') ;
RESULT:-
+-----------------+
| LENGTH('NIHAL') |
+-----------------+
| 5 |
+-----------------+
1 row in set (0.00 sec)
SYNTAX_6:-LEFT(STR)
RETURN TYPE:-STRING
CODE/COMMAND:- SELECT LENGTH('NIHAL') ;
RESULT:-
+-----------------+
| LENGTH('NIHAL') |
+-----------------+
| 5 |
+-----------------+
1 row in set (0.00 sec)
OBSERVATION:-
SYNTAX_7:-RIGHT(STR)
RETURN TYPE:-STRING
CODE/COMMAND:- SELECT RIGHT('HARIOM',2);
RESULT:-
+-------------------+
| RIGHT('HARIOM',2) |
+-------------------+
| OM |
+-------------------+
1 row in set (0.00 sec)
OBSERVATION:-
SYNTAX_8:-SUBSTR()
RETURN TYPE:-STRING
CODE/COMMAND:-SELECT SUBSTR(('MAHADEV'),5,7);
RESULT:-
+-------------------------+
| SUBSTR(('MAHADEV'),5,7) |
+-------------------------+
| DEV |
+-------------------------+
1 row in set (0.00 sec)
OBSERVATION:-
SYNTAX_9:-LTRIM(STR)
RETURN TYPE:-STRING
CODE/COMMAND:- SELECT LTRIM(' MAHADEV') AS 'LEADING';
RESULT:-
+---------+
| LEADING |
+---------+
| MAHADEV |
+---------+
1 row in set (0.00 sec)
OBSERVATION:-
SYNTAX_10:-RTRIM(STR)
RETURN TYPE:-STRING
CODE/COMMAND:- SELECT RTRIM('HARIOM ') AS 'TRAILING';
RESULT:-
+---------+
|TRAILING |
+---------+
| HARIOM |
+---------+
1 row in set (0.01 sec)
OBSERVATION:-
SYNTAX_11:-TRIM(<LEADING,TRAILING>[REMSTR] FROM<STR>);
RETURN TYPE:- STRING
CODE/COMMAND:-
SELECT TRIM(LEADING'Y' FROM 'YYYOM');
RESULT:-
+-------------------------------+
| TRIM(LEADING'Y' FROM 'YYYOM') |
+-------------------------------+
| OM |
+-------------------------------+
1 row in set (0.00 sec)
OR
SELECT TRIM(LEADING'Y' FROM 'YYYOMYY');
+---------------------------------+
| TRIM(LEADING'Y' FROM 'YYYOMYY') |
+---------------------------------+
| OMYY |
+---------------------------------+
1 row in set (0.00 sec)
OR
SELECT TRIM(TRAILING 'H' FROM 'NIHAL');
+---------------------------------+
| TRIM(TRAILING 'H' FROM 'NIHAL') |
+---------------------------------+
| NIHAL |
+---------------------------------+
1 row in set (0.00 sec)
OBSERVATION:-
PRACTICAL NO :-2
AIM:-STUDY OF NUMERIC FUNCTION IN SQL
OBJECTIVE:-APPLYING NUMERIC FUNCTION TO INDIVIDUAL VALUE AND TABLE
DATA
THEORY:- WE HAVE TO PERFORM SOME MATHEMATICAL OPERATIONS THESE
OPERATION CAN BE DONE EASILY BY USING NUMERIC FUNCTIONTHERE ARE
DIFFERENT NUMERIC FUNCTION
+-------+-------+-------+---------+------------+
| SR_NO | NAME | CLASS | SECTION | DOB |
+-------+-------+-------+---------+------------+
| 1 | NIHAL | 12 | A | 2006-04-26 |
| 2 | HARI | 12 | A | 2005-12-01 |
| 3 | SHIV | 12 | A | 2006-05-20 |
| 4 | RAM | 12 | A | 2006-08-05 |
| 5 | OM | 12 | A | 2007-10-11 |
+-------+-------+-------+---------+------------+
SYNTAX_1:-MOD()
RETURN TYPE:-INT
CODE/COMMAND:- SELECT MOD(25,2);
RESULT:-
+-----------+
| MOD(25,2) |
+-----------+
| 1 |
+-----------+
1 row in set (0.00 sec)
OR
SELECT MOD(25,5);
+-----------+
| MOD(25,5) |
+-----------+
| 0 |
+-----------+
1 row in set (0.00 sec)
OBSERVATION:-
SYNTAX_2:-POW(M,N)
RETURN TYPE:-STRING
CODE/COMMAND:-
SELECT POW(3,5);
RESULT:-
+----------+
| POW(3,5) |
+----------+
| 243 |
+----------+
1 row in set (0.00 sec)
OR
SELECT POWER(15,2);
+-------------+
| POWER(15,2) |
+-------------+
| 225 |
+-------------+
1 row in set (0.00 sec)
WITH TABLE:-
mysql> SELECT POW(SR_NO,3) FROM SCHOOL1;
+--------------+
| POW(SR_NO,3) |
+--------------+
| 1 |
| 8 |
| 27 |
| 64 |
| 125 |
+--------------+
5 rows in set (0.00 sec)
mysql> SELECT SR_NO,POW(SR_NO,3) AS 'SR_NO RISE 2' FROM SCHOOL1;
+-------+--------------+
| SR_NO | SR_NO RISE 2 |
+-------+--------------+
| 1 | 1 |
| 2 | 8 |
| 3 | 27 |
| 4 | 64 |
| 5 | 125 |
+-------+--------------+
5 rows in set (0.00 sec)
mysql> SELECT SR_NO,POW(SR_NO,3) AS 'SR_NO RISE 3' FROM SCHOOL1;
+-------+--------------+
| SR_NO | SR_NO RISE 3 |
+-------+--------------+
| 1 | 1 |
| 2 | 8 |
| 3 | 27 |
| 4 | 64 |
| 5 | 125 |
+-------+--------------+
5 rows in set (0.00 sec)
SYNTAX_3:-SIGN()
RETURN TYPE:-INT
CODE/COMMAND:- SELECT SIGN(-5);
RESULT:-
+----------+
| SIGN(-5) |
+----------+
| -1 |
+----------+
1 row in set (0.00 sec)
OR
SELECT SIGN(12);
+----------+
| SIGN(12) |
+----------+
| 1 |
+----------+
1 row in set (0.00 sec)
SELECT SIGN(0);
+---------+
| SIGN(0) |
+---------+
| 0 |
+---------+
1 row in set (0.00 sec)
mysql> SELECT SIGN(NULL);
+------------+
| SIGN(NULL) |
+------------+
| NULL |
+------------+
1 row in set (0.00 sec)
SYNTAX_4:-SQRT()
RETURN TYPE:-INT
CODE/COMMAND:-
SELECT SQRT(81);
RESULT:-
+----------+
| SQRT(81) |
+----------+
| 9 |
+----------+
1 row in set (0.00 sec)
OR
SELECT SQRT(SR_NO) AS 'SR_NO SQRT' FROM SCHOOL1;
+--------------------+
| SR_NO SQRT |
+--------------------+
| 1 |
| 1.4142135623730951 |
| 1.7320508075688772 |
| 2 |
| 2.23606797749979 |
+--------------------+
5 rows in set (0.01 sec)
SYNTAX_5:-ROUND()
RETURN TYPE:-INT
CODE/COMMAND:- SELECT ROUND(15.532,0);
RESULT:-
+-----------------+
| ROUND(15.532,0) |
+-----------------+
| 16 |
+-----------------+
1 row in set (0.00 sec)
OR
mysql> SELECT ROUND(15.532,1);
+-----------------+
| ROUND(15.532,1) |
+-----------------+
| 15.5 |
+-----------------+
1 row in set (0.00 sec)
mysql> SELECT ROUND(15.532,-1);
+------------------+
| ROUND(15.532,-1) |
+------------------+
| 20 |
+------------------+
1 row in set (0.00 sec)
mysql> SELECT ROUND(15.532,2);
+-----------------+
| ROUND(15.532,2) |
+-----------------+
| 15.53 |
+-----------------+
1 row in set (0.00 sec)
mysql> SELECT ROUND(15.551,2);
+-----------------+
| ROUND(15.551,2) |
+-----------------+
| 15.55 |
+-----------------+
1 row in set (0.00 sec)
mysql> SELECT ROUND(15.555,2);
+-----------------+
| ROUND(15.555,2) |
+-----------------+
| 15.56 |
+-----------------+
1 row in set (0.00 sec)
mysql> SELECT ROUND(14.55,-1);
+-----------------+
| ROUND(14.55,-1) |
+-----------------+
| 10 |
+-----------------+
1 row in set (0.00 sec)
mysql> SELECT ROUND(17.12,-2);
+-----------------+
| ROUND(17.12,-2) |
+-----------------+
| 0 |
+-----------------+
1 row in set (0.00 sec)
mysql> SELECT ROUND(15.499);
+---------------+
| ROUND(15.499) |
+---------------+
| 15 |
+---------------+
1 row in set (0.00 sec)
mysql> SELECT ROUND(99,-2);
+--------------+
| ROUND(99,-2) |
+--------------+
| 100 |
+--------------+
1 row in set (0.00 sec)
mysql> SELECT ROUND(501,-3);
+---------------+
| ROUND(501,-3) |
+---------------+
| 1000 |
+---------------+
1 row in set (0.00 sec)
SYNTAX_6:-TRUNCATE()
RETURN TYPE:-INT
CODE/COMMAND:- SELECT TRUNCATE(15.1515,3);
RESULT:-
+---------------------+
| TRUNCATE(15.1515,3) |
+---------------------+
| 15.151 |
+---------------------+
1 row in set (0.00 sec)
OR
mysql> SELECT TRUNCATE(15.1515,5);
+---------------------+
| TRUNCATE(15.1515,5) |
+---------------------+
| 15.1515 |
+---------------------+
1 row in set (0.00 sec)
mysql> SELECT TRUNCATE(15.1515,1);
+---------------------+
| TRUNCATE(15.1515,1) |
+---------------------+
| 15.1 |
+---------------------+
1 row in set (0.00 sec)
mysql> SELECT TRUNCATE(15.1515,-1);
+----------------------+
| TRUNCATE(15.1515,-1) |
+----------------------+
| 10 |
+----------------------+
1 row in set (0.01 sec)
mysql> SELECT TRUNCATE(15.1515,-2);
+----------------------+
| TRUNCATE(15.1515,-2) |
+----------------------+
| 0 |
+----------------------+
1 row in set (0.00 sec)
mysql> SELECT TRUNCATE(15.1515,0);
+---------------------+
| TRUNCATE(15.1515,0) |
+---------------------+
| 15 |
+---------------------+
1 row in set (0.00 sec)
mysql> SELECT TRUNCATE(115.1515,-1);
+-----------------------+
| TRUNCATE(115.1515,-1) |
+-----------------------+
| 110 |
+-----------------------+
1 row in set (0.00 sec)
mysql> SELECT TRUNCATE(115.1515,-2);
+-----------------------+
| TRUNCATE(115.1515,-2) |
+-----------------------+
| 100 |
+-----------------------+
1 row in set (0.00 sec)
PRACTICAL NO :-3
AIM:-STUDY OF DATE/TIME FUNCTION IN SQL
OBJECTIVE:-APPLYING DATE/TIME FUNCTIONS TO INDIVIDUAL VALUES & TABLE
DATA
THEORY:-
SYNTAX_1:-CURDATE()
RETURN TYPE:-DATE
CODE/COMMAND:- SELECT CURDATE();
RESULT:-
+------------+
| CURDATE() |
+------------+
| 2023-03-22 |
+------------+
1 row in set (0.00 sec)
OBSERVATION:-
SYNTAX_2:-DATE()
RETURN TYPE:-DATE
CODE/COMMAND:- SELECT DATE('2023-03-05 01:05:10');
RESULT:-
+-----------------------------+
| DATE('2023-03-05 01:05:10') |
+-----------------------------+
| 2023-03-05 |
+-----------------------------+
1 row in set (0.01 sec)
SYNTAX_3:-MONTH()
RETURN TYPE:-INTEGER
CODE/COMMAND:- SELECT MONTH ('2023-03-06');
RESULT:-
+----------------------+
| MONTH ('2023-03-06') |
+----------------------+
| 3 |
+----------------------+
1 row in set (0.00 sec)
SYNTAX_4:-DAY()
RETURN TYPE:-INTEGER
CODE/COMMAND:- SELECT DAY ('2023-03-06');
RESULT:-
+--------------------+
| DAY ('2023-03-06') |
+--------------------+
| 6 |
+--------------------+
1 row in set (0.00 sec)
OBSERVATION:-
SYNTAX_5:-YEAR(DATE)
RETURN TYPE:-INTEGER
CODE/COMMAND:- SELECT YEAR ('2023-03-06');
RESULT:-
+---------------------+
| YEAR ('2023-03-06') |
+---------------------+
| 2023 |
+---------------------+
1 row in set (0.00 sec)
SYNTAX_6:-MONTHNAME(DATE)
RETURN TYPE:-STRING
CODE/COMMAND:- SELECT MONTHNAME('2023-03-06');
RESULT:-
+-------------------------+
| MONTHNAME('2023-03-06') |
+-------------------------+
| March |
+-------------------------+
1 row in set (0.01 sec)
SYNTAX_7:-DAYNAME(DATE)
RETURN TYPE:-STRING
CODE/COMMAND:- SELECT DAYNAME('2023-04-26');
RESULT:-
+-----------------------+
| DAYNAME('2023-04-26') |
+-----------------------+
| Wednesday |
+-----------------------+
OBSERVATION:-
SYNTAX_8:-DAYOFMONTH(date)
RETURN TYPE:-INTEGER
CODE/COMMAND:- SELECT DAYOFMONTH('2023-03-05');
RESULT:-
+--------------------------+
| DAYOFMONTH('2023-03-05') |
+--------------------------+
| 5 |
+--------------------------+
1 row in set (0.00 sec)
OBSERVATION:-
SYNTAX_9:-DAYOFWEEK(date)
RETURN TYPE:-INTEGER
CODE/COMMAND:- SELECT DAYOFWEEK('2023-03-05');
RESULT:-
+-------------------------+
| DAYOFWEEK('2023-03-05') |
+-------------------------+
| 1 |
+-------------------------+
1 row in set (0.00 sec)
OBSERVATION:-
SYNTAX_10:-DAYOFYEAR(date)
RETURN TYPE:-INTEGER
CODE/COMMAND:- SELECT DAYOFYEAR('2023-03-05');
RESULT:-
+-------------------------+
| DAYOFYEAR('2023-03-05') |
+-------------------------+
| 64 |
+-------------------------+
1 row in set (0.00 sec)
OBSERVATION:-
SYNTAX_11:- NOW()
RETURN TYPE:-DATETIME
CODE/COMMAND:- SELECT NOW();
RESULT:-
+---------------------+
| NOW() |
+---------------------+
| 2023-03-06 23:04:04 |
+---------------------+
1 row in set (0.00 sec)
OBSERVATION:-
SYNTAX_12:-SYSDATE()
RETURN TYPE:-DATETIME
CODE/COMMAND:- SELECT SYSDATE();
RESULT:-
+---------------------+
| SYSDATE() |
+---------------------+
| 2023-03-06 23:03:29 |
+---------------------+
1 row in set (0.00 sec)
OBSERVATION:-
PRACTICAL NO :-4
AIM:- STUDY OF AGGREGATE FUNCTION IN SQL
OBJECTIVE:- APPLYING AGGREGATE FUNCTIONS IN THE TABLE DATA
THEORY:-THROUGH AGGREGATE FUNCTION WE CAN CALCULATE THE THINGS
FOR SETS OF DATA OF SAME COLUMN IN SQL
mysql> SELECT *FROM CLASS12;
+-------+---------+-------+------+-------+
| SR_NO | SNAME | CLASS | SEC | MARKS |
+-------+---------+-------+------+-------+
| 1 | NIHAL | 8 | A | 80 |
| 2 | PALASH | 9 | B | 85 |
| 3 | GOVIND | 7 | A | 90 |
| 4 | HARSHIT | 9 | A | 80 |
| 5 | HARI | 7 | A | 75 |
| 6 | DEV | 8 | A | 80 |
| 7 | KRISH | 9 | A | 81 |
| 8 | JAY | 8 | B | 79 |
| 9 | OM | 9 | C | 71 |
| 10 | NAYAN | 6 | D | 83 |
+-------+---------+-------+------+-------+
10 rows in set (0.00 sec)
THERE ARE DIFFERENT AGGREGATE FUNCTIONS:
SYNTAX_1:-AVG([DISTINCT | ALL ] n)
RETURN TYPE:- NUMERIC
CODE/COMMAND:- SELECT AVG(MARKS)FROM CLASS12;
RESULT:-
+------------+
| AVG(MARKS) |
+------------+
| 80.4000 |
+------------+
1 row in set (0.01 sec)
OBSERVATION:-
SYNTAX_2:-COUNT(*[DISTINCT | ALL ] expr})
RETURN TYPE:-NUMERIC
CODE/COMMAND:- SELECT COUNT(MARKS)FROM CLASS12;
RESULT:-
+--------------+
| COUNT(MARKS) |
+--------------+
| 10 |
+--------------+
1 row in set (0.00 sec)
OBSERVATION:-
SYNTAX_3:-MAX([DISTINCT | ALL expr)
RETURN TYPE:-NUMERIC
CODE/COMMAND:- SELECT MAX(MARKS) FROM CLASS12;
RESULT:-
+------------+
| MAX(MARKS) |
+------------+
| 90 |
+------------+
1 row in set (0.02 sec)
OBSERVATION:-
SYNTAX_4:-MIN([DISTINCT | ALL] expr)
RETURN TYPE:-NUMERIC
CODE/COMMAND:- SELECT MIN(MARKS)FROM CLASS12;
RESULT:-
+------------+
| MIN(MARKS) |
+------------+
| 71 |
+------------+
1 row in set (0.00 sec)
OBSERVATION:-
SYNTAX_5:-SUM([DISTINCT | ALL ] n)
RETURN TYPE:-NUMERIC
CODE/COMMAND:- SELECT SUM(MARKS)FROM CLASS12;
RESULT:-
+------------+
| SUM(MARKS) |
+------------+
| 804 |
+------------+
1 row in set (0.00 sec)
OBSERVATION:-
PRACTICAL NO :-5
AIM:-STUDY OF ORDER BY CLAUSE IN SQL
OBJECTIVE :-applying order by clause in the table data
THEORY:-through order by clause we can set the data in the ascending or descending
order in sql
mysql> SELECT * FROM CLASS12;
+-------+---------+-------+------+-------+
| SR_NO | SNAME | CLASS | SEC | MARKS |
+-------+---------+-------+------+-------+
| 1 | NIHAL | 8 | A | 80 |
| 2 | PALASH | 9 | B | 85 |
| 3 | GOVIND | 7 | A | 90 |
| 4 | HARSHIT | 9 | A | 80 |
| 5 | HARI | 7 | A | 75 |
| 6 | DEV | 8 | A | 80 |
| 7 | KRISH | 9 | A | 81 |
| 8 | JAY | 8 | B | 79 |
| 9 | OM | 9 | C | 71 |
| 10 | NAYAN | 6 | D | 83 |
+-------+---------+-------+------+-------+
10 rows in set (0.21 sec)
there are different types of examples shown here:-
SYNTAX:-SELECT column-list FROM table_name [WHERE condition]
[ORDER BY column1, column2, .. columnN] [ASC | DESC];
RETURN TYPE:-
CODE/COMMAND:-SELECT * FROM CLASS12 ORDER BY CLASS,SEC DESC;
RESULT:-
+-------+---------+-------+------+-------+
| SR_NO | SNAME | CLASS | SEC | MARKS |
+-------+---------+-------+------+-------+
| 10 | NAYAN | 6 | D | 83 |
| 3 | GOVIND | 7 | A | 90 |
| 5 | HARI | 7 | A | 75 |
| 8 | JAY | 8 | B | 79 |
| 1 | NIHAL | 8 | A | 80 |
| 6 | DEV | 8 | A | 80 |
| 9 | OM | 9 | C | 71 |
| 2 | PALASH | 9 | B | 85 |
| 4 | HARSHIT | 9 | A | 80 |
| 7 | KRISH | 9 | A | 81 |
+-------+---------+-------+------+-------+
10 rows in set (0.01 sec)
OBSERVATION:-
CODE/COMMAND:- SELECT * FROM CLASS12 ORDER BY SEC,CLASS DESC;
RESULT:-
+-------+---------+-------+------+-------+
| SR_NO | SNAME | CLASS | SEC | MARKS |
+-------+---------+-------+------+-------+
| 4 | HARSHIT | 9 | A | 80 |
| 7 | KRISH | 9 | A | 81 |
| 1 | NIHAL | 8 | A | 80 |
| 6 | DEV | 8 | A | 80 |
| 3 | GOVIND | 7 | A | 90 |
| 5 | HARI | 7 | A | 75 |
| 2 | PALASH | 9 | B | 85 |
| 8 | JAY | 8 | B | 79 |
| 9 | OM | 9 | C | 71 |
| 10 | NAYAN | 6 | D | 83 |
+-------+---------+-------+------+-------+
10 rows in set (0.00 sec)
OBSERVATION:-
CODE/COMMAND:- SELECT * FROM CLASS12 ORDER BY SEC,MARKS,SNAME,CLASS DESC;
RESULT:-
+-------+---------+-------+------+-------+
| SR_NO | SNAME | CLASS | SEC | MARKS |
+-------+---------+-------+------+-------+
| 5 | HARI | 7 | A | 75 |
| 6 | DEV | 8 | A | 80 |
| 4 | HARSHIT | 9 | A | 80 |
| 1 | NIHAL | 8 | A | 80 |
| 7 | KRISH | 9 | A | 81 |
| 3 | GOVIND | 7 | A | 90 |
| 8 | JAY | 8 | B | 79 |
| 2 | PALASH | 9 | B | 85 |
| 9 | OM | 9 | C | 71 |
| 10 | NAYAN | 6 | D | 83 |
+-------+---------+-------+------+-------+
10 rows in set (0.00 sec)
OBSERVATION:-
PRACTICAL NO :-6
AIM:-study of group by clause in sql
OBJECTIVE:-applying group by clause in the table data
THEORY:-through group by clause we can divide the data in the groups and
aggregate function can be applied by groupwise
mysql> SELECT * FROM CLASS12;
+-------+---------+-------+------+-------+
| SR_NO | SNAME | CLASS | SEC | MARKS |
+-------+---------+-------+------+-------+
| 1 | NIHAL | 8 | A | 80 |
| 2 | PALASH | 9 | B | 85 |
| 3 | GOVIND | 7 | A | 90 |
| 4 | HARSHIT | 9 | A | 80 |
| 5 | HARI | 7 | A | 75 |
| 6 | DEV | 8 | A | 80 |
| 7 | KRISH | 9 | A | 81 |
| 8 | JAY | 8 | B | 79 |
| 9 | OM | 9 | C | 71 |
| 10 | NAYAN | 6 | D | 83 |
+-------+---------+-------+------+-------+
10 rows in set (0.00 sec)
there are different types of examples shown here:-
CODE/COMMAND:- SELECT SNAME,MAX(MARKS) FROM CLASS12 GROUP BY SNAME;
RESULT:-
+---------+------------+
| SNAME | MAX(MARKS) |
+---------+------------+
| NIHAL | 80 |
| PALASH | 85 |
| GOVIND | 90 |
| HARSHIT | 80 |
| HARI | 75 |
| DEV | 80 |
| KRISH | 81 |
| JAY | 79 |
| OM | 71 |
| NAYAN | 83 |
+---------+------------+
10 rows in set (0.00 sec)
OBSERVATION:-
CODE/COMMAND:- SELECT CLASS,MAX(MARKS) FROM CLASS12 GROUP BY CLASS;
RESULT:-
+-------+------------+
| CLASS | MAX(MARKS) |
+-------+------------+
| 8 | 80 |
| 9 | 85 |
| 7 | 90 |
| 6 | 83 |
+-------+------------+
4 rows in set (0.01 sec)
OBSERVATION:-
CODE/COMMAND:- SELECT SEC,MAX(MARKS) FROM CLASS12 GROUP BY SEC;
RESULT:-
+------+------------+
| SEC | MAX(MARKS) |
+------+------------+
| A | 90 |
| B | 85 |
| C | 71 |
| D | 83 |
+------+------------+
4 rows in set (0.00 sec)
OBSERVATION:-
CODE/COMMAND:- SELECT CLASS,COUNT(SEC) FROM CLASS12 GROUP BY CLASS
HAVING COUNT(SEC)>'A';
RESULT:-
+-------+------------+
| CLASS | COUNT(SEC) |
+-------+------------+
| 8 | 3 |
| 9 | 4 |
| 7 | 2 |
| 6 | 1 |
+-------+------------+
4 rows in set, 1 warning (0.00 sec)
OBSERVATION:-
CODE/COMMAND:- SELECT AVG(MARKS),SUM(MARKS) FROM CLASS12 GROUP BY
CLASS HAVING CLASS='8';
RESULT:-
+------------+------------+
| AVG(MARKS) | SUM(MARKS) |
+------------+------------+
| 79.6667 | 239 |
+------------+------------+
1 row in set (0.00 sec)
OBSERVATION:-
CODE/COMMAND:- SELECT AVG(MARKS),SUM(MARKS) FROM CLASS12 GROUP BY
CLASS HAVING SUM(MARKS) BETWEEN 80 AND 100;
RESULT:-
+------------+------------+
| AVG(MARKS) | SUM(MARKS) |
+------------+------------+
| 83.0000 | 83 |
+------------+------------+
1 row in set (0.00 sec)
OBSERVATION:-