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

Simple Queries in SQL

The document provides examples of SQL queries to retrieve data from database tables. Some key examples include selecting specific columns, filtering rows based on conditions, sorting results, and performing operations like concatenation and pattern matching on columns.

Uploaded by

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

Simple Queries in SQL

The document provides examples of SQL queries to retrieve data from database tables. Some key examples include selecting specific columns, filtering rows based on conditions, sorting results, and performing operations like concatenation and pattern matching on columns.

Uploaded by

Guna Ramesh
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 22

SIMPLE QUERIES IN SQL

CREATING A DATABASE
mysql> create database guna;
Query OK, 1 row affected (0.08
sec)

ACCESSING DATABASE
mysql> use guna;
Database changed

TO VIEW TABLES IN DATABASE


mysql> SHOW TABLES;
+------------------+
| Tables_in_guna |
+------------------+
| dept |
| emp |
+------------------+
2 rows in set (0.08 sec)

Q) TO DISPLAY ALL THE CONTENTS OF EMP TABLE

SELECTING COLUMNS ONLY

Q) WAQ TO DISPLAY EMPNO, ENAME, JOB, SAL FROM EMP


mysql> SELECT EMPNO, ENAME, JOB, SAL FROM EMP;
+-------+--------+-----------+---------+
| EMPNO | ENAME | JOB | SAL |
+-------+--------+-----------+---------+
| 7369 | SMITH | CLERK | 800.00 |
| 7499 | ALLEN | SALESMAN | 1600.00 |
| 7521 | WARD | SALESMAN | 1250.00 |
| 7566 | JONES | MANAGER | 2975.00 |
| 7654 | MARTIN | SALESMAN | 1250.00 |
| 7698 | BLAKE | MANAGER | 2850.00 |
| 7782 | CLARK | MANAGER | 2450.00 |
| 7788 | SCOTT | ANALYST | 3000.00 |
| 7839 | KING | PRESIDENT | 5000.00 |
| 7844 | TURNER | SALESMAN | 1500.00 |
| 7876 | ADAMS | CLERK | 1100.00 |
| 7900 | JAMES | CLERK | 950.00 |
| 7902 | FORD | ANALYST | 3000.00 |
| 7934 | MILLER | CLERK | 1300.00 |
+-------+--------+-----------+---------+
14 rows in set (0.00 sec)

RE-ORDERING COLUMNS IN QUERY RESULTS

Q) WAQ TO DISPLAY EMPNO, EMPLOYEE NAME, SALARY AND NEW SALARY WHICH IS
20% OF SALARY[LABEL IT AS NEWSAL] FROM EMP.
mysql> SELECT EMPNO, ENAME, SAL, SAL+SAL*0.2 "NEWSAL" FROM EMP.
+-------+--------+---------+----------+
| EMPNO | ENAME | SAL | NEWSAL |
+-------+--------+---------+----------+
| 7369 | SMITH | 800.00 | 960.000 |
| 7499 | ALLEN | 1600.00 | 1920.000 |
| 7521 | WARD | 1250.00 | 1500.000 |
| 7566 | JONES | 2975.00 | 3570.000 |
| 7654 | MARTIN | 1250.00 | 1500.000 |
| 7698 | BLAKE | 2850.00 | 3420.000 |
| 7782 | CLARK | 2450.00 | 2940.000 |
| 7788 | SCOTT | 3000.00 | 3600.000 |
| 7839 | KING | 5000.00 | 6000.000 |
| 7844 | TURNER | 1500.00 | 1800.000 |
| 7876 | ADAMS | 1100.00 | 1320.000 |
| 7900 | JAMES | 950.00 | 1140.000 |
| 7902 | FORD | 3000.00 | 3600.000 |
| 7934 | MILLER | 1300.00 | 1560.000 |
+-------+--------+---------+----------+
14 rows in set (0.03 sec)

PUTTING TEXT IN QUERY OUTPUT

Q) WAQ TO DISPLAY ENAME, 'EARNS $' SALARY FROM EMP


mysql> SELECT ENAME, 'EARNS $', SAL FROM EMP;
+--------+---------+---------+
| ENAME | EARNS $ | SAL |
+--------+---------+---------+
| SMITH | EARNS $ | 800.00 |
| ALLEN | EARNS $ | 1600.00 |
| WARD | EARNS $ | 1250.00 |
| JONES | EARNS $ | 2975.00 |
| MARTIN | EARNS $ | 1250.00 |
| BLAKE | EARNS $ | 2850.00 |
| CLARK | EARNS $ | 2450.00 |
| SCOTT | EARNS $ | 3000.00 |
| KING | EARNS $ | 5000.00 |
| TURNER | EARNS $ | 1500.00 |
| ADAMS | EARNS $ | 1100.00 |
| JAMES | EARNS $ | 950.00 |
| FORD | EARNS $ | 3000.00 |
| MILLER | EARNS $ | 1300.00 |
+--------+---------+---------+
14 rows in set (0.00 sec)

Q) WAQ TO DISPLAY EMPLOYEE NO, EMPLOYEE NAME, 'GETS A COMMISSION', COMM


FROM EMP.
mysql> SELECT EMPNO, ENAME, 'GETS A COMMISSION', COMM FROM EMP;
+-------+--------+-------------------+---------+
| EMPNO | ENAME | GETS A COMMISSION | COMM |
+-------+--------+-------------------+---------+
| 7369 | SMITH | GETS A COMMISSION | NULL |
| 7499 | ALLEN | GETS A COMMISSION | 300.00 |
| 7521 | WARD | GETS A COMMISSION | 500.00 |
| 7566 | JONES | GETS A COMMISSION | NULL |
| 7654 | MARTIN | GETS A COMMISSION | 1400.00 |
| 7698 | BLAKE | GETS A COMMISSION | NULL |
| 7782 | CLARK | GETS A COMMISSION | NULL |
| 7788 | SCOTT | GETS A COMMISSION | NULL |
| 7839 | KING | GETS A COMMISSION | NULL |
| 7844 | TURNER | GETS A COMMISSION | 0.00 |
| 7876 | ADAMS | GETS A COMMISSION | NULL |
| 7900 | JAMES | GETS A COMMISSION | NULL |
| 7902 | FORD | GETS A COMMISSION | NULL |
| 7934 | MILLER | GETS A COMMISSION | NULL |
+-------+--------+-------------------+---------+
14 rows in set (0.00 sec)

CONCATENATING STRINGS

Q) WAQ TO CONCATINATE EMPLOYEE NAME AND THEIR JOB FROM EMP.


mysql> SELECT CONCAT(ENAME,'-',JOB) FROM EMP;
+-----------------------+
| CONCAT(ENAME,'-',JOB) |
+-----------------------+
| SMITH-CLERK |
| ALLEN-SALESMAN |
| WARD-SALESMAN |
| JONES-MANAGER |
| MARTIN-SALESMAN |
| BLAKE-MANAGER |
| CLARK-MANAGER |
| SCOTT-ANALYST |
| KING-PRESIDENT |
| TURNER-SALESMAN |
| ADAMS-CLERK |
| JAMES-CLERK |
| FORD-ANALYST |
| MILLER-CLERK |
+-----------------------+
14 rows in set (0.00 sec)

USING THE KEYWORD "ALL"

Q) WAQ TO DISPLAY ALL RECORDS OF EMPLOYEE NAME AND SALARY FROM EMP.
mysql> SELECT ALL ENAME, SAL FROM EMP;
+--------+---------+
| ENAME | SAL |
+--------+---------+
| SMITH | 800.00 |
| ALLEN | 1600.00 |
| WARD | 1250.00 |
| JONES | 2975.00 |
| MARTIN | 1250.00 |
| BLAKE | 2850.00 |
| CLARK | 2450.00 |
| SCOTT | 3000.00 |
| KING | 5000.00 |
| TURNER | 1500.00 |
| ADAMS | 1100.00 |
| JAMES | 950.00 |
| FORD | 3000.00 |
| MILLER | 1300.00 |
+--------+---------+
14 rows in set (0.00 sec)

SELECTING SPECIFIC ROWS (CLAUSE : "WHERE")

Q) WAQ TO DISPLAY EMPLOYEE NAME AND SALARY, WHOSE SALARY IS GREATER THAN
2000.
mysql> SELECT ENAME, SAL FROM EMP WHERE SAL > 2000;
+-------+---------+
| ENAME | SAL |
+-------+---------+
| JONES | 2975.00 |
| BLAKE | 2850.00 |
| CLARK | 2450.00 |
| SCOTT | 3000.00 |
| KING | 5000.00 |
| FORD | 3000.00 |
+-------+---------+
6 rows in set (0.02 sec)

Q) WAQ TO DISPLAY ENAME, JOB, SALARY WHOSE SALARY IS LESSER THAN OR EQUAL
TO 3000 AND JOB IS MANAGER
mysql> SELECT ENAME, JOB, SAL FROM EMP WHERE SAL<=3000 AND JOB =
'MANAGER';
+-------+---------+---------+
| ENAME | JOB | SAL |
+-------+---------+---------+
| JONES | MANAGER | 2975.00 |
| BLAKE | MANAGER | 2850.00 |
| CLARK | MANAGER | 2450.00 |
+-------+---------+---------+
3 rows in set (0.00 sec)

CONDITIONS BASED ON A RANGE (KEYWORD : "RANGE")

Q) WAQ TO DISPLAY ENAME SAL OF THOSE EMPLOYEES WHO DON'T HAVE THEIR
SALARY IN THE RANGE 1500 AND 2000
mysql> SELECT ENAME, SAL FROM EMP WHERE SAL NOT BETWEEN 1500 AND 2000;
+--------+---------+
| ENAME | SAL |
+--------+---------+
| SMITH | 800.00 |
| WARD | 1250.00 |
| JONES | 2975.00 |
| MARTIN | 1250.00 |
| BLAKE | 2850.00 |
| CLARK | 2450.00 |
| SCOTT | 3000.00 |
| KING | 5000.00 |
| ADAMS | 1100.00 |
| JAMES | 950.00 |
| FORD | 3000.00 |
| MILLER | 1300.00 |
+--------+---------+
12 rows in set (0.00 sec)

CONDITIONS BASED ON A LIST (KEYWORD : "IN")

Q) WAQ TO DISPLAY ENAME, JOB, SAL WHOSE JOB IS EITHER MANAGER, SALESMAN
OR ANALYST
mysql> SELECT ENAME, JOB, SAL FROM EMP WHERE JOB IN('MANAGER', 'ANALYST',
'SALESMAN');
+--------+----------+---------+
| ENAME | JOB | SAL |
+--------+----------+---------+
| ALLEN | SALESMAN | 1600.00 |
| WARD | SALESMAN | 1250.00 |
| JONES | MANAGER | 2975.00 |
| MARTIN | SALESMAN | 1250.00 |
| BLAKE | MANAGER | 2850.00 |
| CLARK | MANAGER | 2450.00 |
| SCOTT | ANALYST | 3000.00 |
| TURNER | SALESMAN | 1500.00 |
| FORD | ANALYST | 3000.00 |
+--------+----------+---------+
9 rows in set (0.01 sec)

Q) WAQ TO DISPLAT EMP NAME, JOB, SALARY WHOSE SALARY IS 3000,5000 AND 800
FROM EMP.
mysql> SELECT ENAME, JOB, SAL FROM EMP WHERE SAL IN (3000, 5000, 800);
+-------+-----------+---------+
| ENAME | JOB | SAL |
+-------+-----------+---------+
| SMITH | CLERK | 800.00 |
| SCOTT | ANALYST | 3000.00 |
| KING | PRESIDENT | 5000.00 |
| FORD | ANALYST | 3000.00 |
+-------+-----------+---------+
4 rows in set (0.00 sec)

CONDITIONS BASED ON A PATTERN MATCH

Q) WAQ TO DISPLAY WHOSE EMP NAMES WHOSE NAME STARTS WITH 'M' AND ENDS
WITH 'R'.
mysql> SELECT ENAME FROM EMP WHERE ENAME LIKE 'M%R';
+--------+
| ENAME |
+--------+
| MILLER |
+--------+
1 row in set (0.00 sec)

Q) LIST THE DETAILS OF EMPLOYEES WHO HAVE 4 LETTERS IN THEIR NAMES.


mysql> SELECT ENAME FROM EMP WHERE ENAME LIKE ' ';
+-------+
| ENAME |
+-------+
| WARD |
| KING |
| FORD |
+-------+
3 rows in set (0.00 sec)

Q) WAQ TO DISPLAY ALL THE DETAILS OF EMPOYEES WHOSE NAME IS OF LENGTH 4.


Q) WAQ TO DISPLAY THOSE EMPLOYEE NAMES WITH 'A' AS THEIR THIRD LETTER.
mysql> SELECT ENAME FROM EMP WHERE ENAME LIKE ' A%';
+-------+
| ENAME |
+-------+
| BLAKE |
| CLARK |
| ADAMS |
+-------+
3 rows in set (0.01 sec)

Q) WAQ TO DISPLAY THE EMPLOYEE NAME WHOSE NAME ENDS WITH 'T'
mysql> SELECT ENAME FROM EMP WHERE ENAME LIKE '%T';
+-------+
| ENAME |
+-------+
| SCOTT |
+-------+
1 row in set (0.00 sec)

Q) WAQ TO DISPLAY EMPLOYEE NAME THAT HAS 'L' AS ANY CHARACTER OF THE NAME
mysql> SELECT ENAME FROM EMP WHERE ENAME LIKE '%L%';
+--------+
| ENAME |
+--------+
| ALLEN |
| BLAKE |
| CLARK |
| MILLER |
+--------+
4 rows in set (0.00 sec)

SEARCHING FOR KEYWORD 'NULL'

Q) WAQ TO DISPLAY THE DETAIILS OF THOSE EMPLOYEES WHO ARE YET TO BE


ASSIGNED TO A DEPARTMENT
mysql> SELECT * FROM EMP WHERE DEPTNO IS NULL;
Empty set (0.00 sec)

Q) WAQ TO CHECK THOSE EMPLOYEES WHOSE COMMISSION IS NULL


SORTING (KEYWORD : ORDER BY)

Q) WAQ TO LIST THE EMPLOYEES HAVING SALARY GREATER THAN 2500 IN THE ORDER
OF THEIR NAMES

Q) LIST DETAILS OF EMPLOYEES IN ASCENDING ORDER OF THEIR NAMES AND


DESCENDING ORDER OF THEIR SALARIES
Q) WAQ TO DISPLAY ENAME, SAL, DEPTNO FOR THOSE EMPLOYEES NOT GETTING ANY
COMMISSION.
mysql> SELECT ENAME, SAL, DEPTNO FROM EMP WHERE COMM IS NULL;
+--------+---------+--------+
| ENAME | SAL | DEPTNO |
+--------+---------+--------+
| SMITH | 800.00 | 20 |
| JONES | 2975.00 | 20 |
| BLAKE | 2850.00 | 30 |
| CLARK | 2450.00 | 10 |
| SCOTT | 3000.00 | 20 |
| KING | 5000.00 | 10 |
| ADAMS | 1100.00 | 20 |
| JAMES | 950.00 | 30 |
| FORD | 3000.00 | 20 |
| MILLER | 1300.00 | 10 |
+--------+---------+--------+
10 rows in set (0.00 sec)

Q) WAQ TO DISPLAY ENAME, SAL, JOB, HIREDATE OF THOSE EMPLOYEES WHOSE SAL
IS BETWEEN 1000 AND 2000. ORDER QUERY IN DECREASING ORDER OF HIREDATE
mysql> SELECT ENAME, SAL, JOB, HIREDATE FROM EMP WHERE SAL BETWEEN 1000
AND 2000 ORDER BY HIREDATE DESC;
+--------+---------+----------+------------+
| ENAME | SAL | JOB | HIREDATE |
+--------+---------+----------+------------+
| ADAMS | 1100.00 | CLERK | 1983-01-12 |
| MILLER | 1300.00 | CLERK | 1982-01-23 |
| MARTIN | 1250.00 | SALESMAN | 1981-09-28 |
| TURNER | 1500.00 | SALESMAN | 1981-09-08 |
| WARD | 1250.00 | SALESMAN | 1981-02-22 |
| ALLEN | 1600.00 | SALESMAN | 1981-02-20 |
+--------+---------+----------+------------+
6 rows in set (0.00 sec)

Q) LIST DETAILS OF ALL CLERKS WHO HAVEN'T BEEN ASSIGNED A DEPARTMENT AS


YET
mysql> SELECT * FROM EMP WHERE JOB LIKE 'CLERK' AND DEPTNO IS NULL;
Empty set (0.00 sec)

Q) LIST DETAILS OF ALL EMPLOYEES WHOSE ANNUAL SALARY IS BETWEEN 25000 AND
40000, LABEL COLUMN 'ANNUAL SALARY'
STRING FUNCTIONS

1. CHAR()

mysql> SELECT CHAR(84,102,116);


+------------------------------------+
| CHAR(84,102,116) |
+------------------------------------+
| Jet |
+------------------------------------+
1 row in set (0.00 sec)

mysql> SELECT CHAR(77,102,116,'76');


+----------------------------------------------+
| CHAR(77,101,116,'76') |
+----------------------------------------------+
| JetL |
+----------------------------------------------+
1 row in set (0.00 sec)

2. CONCAT()

mysql> SELECT CONCAT('RAIN', 'BOW', 7);


+--------------------------+
| CONCAT('RAIN', 'BOW', 7) |
+--------------------------+
| RAINBOW7 |
+--------------------------+
1 row in set (0.00 sec)

mysql> SELECT CONCAT('RAIN', 'BOW', NULL);


+-----------------------------+
| CONCAT('RAIN', 'BOW', NULL) |
+-----------------------------+
| NULL |
+-----------------------------+
1 row in set (0.00 sec)

3. LOWER()

mysql> SELECT LOWER('DOLPHIN');


+------------------+
| LOWER('DOLPHIN') |
+------------------+
| dolphin |
+------------------+
1 row in set (0.02 sec)

mysql> SELECT LCASE('DOLPHIN');


+------------------+
| LCASE('DOLPHIN') |
+------------------+
| dolphin |
+------------------+
1 row in set (0.00 sec)

Q) DISPLAY NAME OF EMPLOYEE WHOSE EMPNO IS 7778 IN LOWERCASE


mysql> SELECT LOWER(ENAME), EMPNO FROM EMP WHERE EMPNO = 7788;
+--------------+-------+
| LOWER(ENAME) | EMPNO |
+--------------+-------+
| scott | 7788 |
+--------------+-------+
1 row in set (0.04 sec)

4. UPPER()

mysql> SELECT UPPER('manipulating strings');


+-------------------------------+
| UPPER('manipulating strings') |
+-------------------------------+
| MANIPULATING STRINGS |
+-------------------------------+
1 row in set (0.01 sec)

mysql> SELECT UCASE('manipulating strings');


+-------------------------------+
| UCASE('manipulating strings') |
+-------------------------------+
| MANIPULATING STRINGS |
+-------------------------------+
1 row in set (0.00 sec)

5. SUBSTRING()

mysql> SELECT SUBSTRING(ENAME,2) FROM EMP WHERE ENAME LIKE 'A%';


+--------------------+
| SUBSTRING(ENAME,2) |
+--------------------+
| LLEN |
| DAMS |
+--------------------+
2 rows in set (0.01 sec)

mysql> SELECT SUBSTRING('DEFORESTATION',5,4);


+--------------------------------+
| SUBSTRING('DEFORESTATION',5,4) |
+--------------------------------+
| REST |
+--------------------------------+
1 row in set (0.00 sec)
Q) SELECT 4 CHARACTERS EXTRACTED FROM THIRD LEFT CHARACTER OF STRING
'ABCDEFG'
mysql> SELECT SUBSTR('ABCDEFG',3,4);
+-----------------------+
| SUBSTR('ABCDEFG',3,4) |
+-----------------------+
| CDEF |
+-----------------------+
1 row in set (0.00 sec)

Q) DISPLAY 4 CHARACTERS EXTRACTED FROM 5TH RIGHT CHARACTER ONWARDS FROM


'ABCDEFG'
mysql> SELECT SUBSTR('ABCDEFG',-5,4);
+------------------------+
| SUBSTR('ABCDEFG',-5,4) |
+------------------------+
| CDEF |
+------------------------+
1 row in set (0.00 sec)

6. LTRIM()

mysql> SELECT LTRIM(' STRUCTURED QUERY LANGUAGE');


+--------------------------------------------+
| LTRIM(' STRUCTURED QUERY LANGUAGE') |
+--------------------------------------------+
| STRUCTURED QUERY LANGUAGE |
+--------------------------------------------+
1 row in set (0.02 sec)

7. RTRIM()

mysql> SELECT RTRIM(' STRUCTURED QUERY LANGUAGE ');


+-----------------------------------------------------+
| RTRIM(' STRUCTURED QUERY LANGUAGE ') |
+-----------------------------------------------------+
| STRUCTURED QUERY LANGUAGE |
+-----------------------------------------------------+
1 row in set (0.00 sec)

8. TRIM()

mysql> SELECT TRIM(' STRUCTURED QUERY LANGUAGE ');


+----------------------------------------------------+
| TRIM(' STRUCTURED QUERY LANGUAGE ') |
+----------------------------------------------------+
| STRUCTURED QUERY LANGUAGE |
+----------------------------------------------------+
1 row in set (0.00 sec)
9. INSTR()

mysql> SELECT INSTR('TRAM SERVICE', 'AM');


+-----------------------------+
| INSTR('TRAM SERVICE', 'AM') |
+-----------------------------+
| 3 |
+-----------------------------+
1 row in set (0.00 sec)

10. LENGTH(CHAR)

Q) WAQ TO FIND NO. OF CHARACTERS IN EACH EMPLOYEE'S NAME


mysql> SELECT ENAME, LENGTH(ENAME) FROM EMP;
+--------+---------------+
| ENAME | LENGTH(ENAME) |
+--------+---------------+
| SMITH | 5 |
| ALLEN | 5 |
| WARD | 4 |
| JONES | 5 |
| MARTIN | 6 |
| BLAKE | 5 |
| CLARK | 5 |
| SCOTT | 5 |
| KING | 4 |
| TURNER | 6 |
| ADAMS | 5 |
| JAMES | 5 |
| FORD | 4 |
| MILLER | 6 |
+--------+---------------+
14 rows in set (0.01 sec)

11. MID()

mysql> SELECT MID('RESOURCE',3,4);


+---------------------+
| MID('RESOURCE',3,4) |
+---------------------+
| SOUR |
+---------------------+
1 row in set (0.00 sec)

12. RIGHT()

mysql> SELECT RIGHT('RESOURCE',3);


+---------------------+
| RIGHT('RESOURCE',3) |
+---------------------+
| RCE |
+---------------------+
1 row in set (0.00 sec)

13. LEFT()

Q) WAQ TO DISPLAY THE FIRST 4 CHARACTERS OF THE EMPLOYEES


mysql> SELECT ENAME, LEFT(ENAME,4) FROM EMP;
+--------+---------------+
| ENAME | LEFT(ENAME,4) |
+--------+---------------+
| SMITH | SMIT |
| ALLEN | ALLE |
| WARD | WARD |
| JONES | JONE |
| MARTIN | MART |
| BLAKE | BLAK |
| CLARK | CLAR |
| SCOTT | SCOT |
| KING | KING |
| TURNER | TURN |
| ADAMS | ADAM |
| JAMES | JAME |
| FORD | FORD |
| MILLER | MILL |
+--------+---------------+
14 rows in set (0.00 sec)

MATHEMATICAL FUNCTIONS

1. MOD()

mysql> SELECT MOD(16,5);


+-----------+
| MOD(16,5) |
+-----------+
| 1 |
+-----------+
1 row in set (0.00 sec)

mysql> SELECT 16 MOD 5;


+----------+
| 17 MOD 5 |
+----------+
| 1 |
+----------+
1 row in set (0.00 sec)

mysql> SELECT 17.5 MOD 2.5;


+--------------+
| 17.5 MOD 2.5 |
+--------------+
| 0.0 |
+--------------+
1 row in set (0.00 sec)

2. POW()

mysql> SELECT POW(3,4);


+----------+
| POW(3,4) |
+----------+
| 81 |
+----------+
1 row in set (0.00 sec)

3. ROUND()

mysql> SELECT ROUND(7.45);


+-------------+
| ROUND(7.45) |
+-------------+
| 7 |
+-------------+
1 row in set (0.00 sec)

mysql> SELECT ROUND(7.45,1);


+---------------+
| ROUND(7.45,1) |
+---------------+
| 7.5 |
+---------------+
1 row in set (0.00 sec)

mysql> SELECT ROUND(7.77);


+-------------+
| ROUND(7.77) |
+-------------+
| 8 |
+-------------+
1 row in set (0.16 sec)

mysql> SELECT ROUND(7.3514314,4);


+--------------------+
| ROUND(7.3514314,4) |
+--------------------+
| 7.3514 |
+--------------------+
1 row in set (0.03 sec)

4. SIGN()
mysql> SELECT SIGN(55), SIGN(0), SIGN(-55);
+----------+---------+-----------+
| SIGN(55) | SIGN(0) | SIGN(-55) |
+----------+---------+-----------+
| 1 | 0 | -1 |
+----------+---------+-----------+
1 row in set (0.00 sec)

5. SQRT()

mysql> SELECT SQRT(25);


+----------+
| SQRT(25) |
+----------+
| 5 |
+----------+
1 row in set (0.02 sec)

6. TRUNCATE()

mysql> SELECT TRUNCATE(15.4567,1);


+---------------------+
| TRUNCATE(15.4567,1) |
+---------------------+
| 15.4 |
+---------------------+
1 row in set (0.00 sec)

mysql> SELECT TRUNCATE(15.4567,-1);


+----------------------+
| TRUNCATE(15.4567,-1) |
+----------------------+
| 10 |
+----------------------+
1 row in set (0.00 sec)

mysql> SELECT TRUNCATE(15.4567,-2);


+----------------------+
| TRUNCATE(15.4567,-2) |
+----------------------+
| 0 |
+----------------------+
1 row in set (0.00 sec)

DATE FUNCTIONS

mysql> SELECT CURDATE();


+------------+
| CURDATE() |
+------------+
| 2022-02-03 |
+------------+
1 row in set (0.07 sec)

mysql> SELECT CURRENT_DATE();


+----------------+
| CURRENT_DATE() |
+----------------+
| 2022-02-03 |
+----------------+
1 row in set (0.00 sec)

mysql> SELECT DATE('2021-06-10 07:34:06');


+-----------------------------+
| DATE('2022-02-03 07:34:06') |
+-----------------------------+
| 2022-02-03 |
+-----------------------------+
1 row in set (0.01 sec)

mysql> SELECT MONTH('1969-09-15');


+---------------------+
| MONTH('1969-09-15') |
+---------------------+
| 9 |
+---------------------+
1 row in set (0.04 sec)

mysql> SELECT YEAR('1969-09-15');


+--------------------+
| YEAR('1969-09-15') |
+--------------------+
| 1969 |
+--------------------+
1 row in set (0.00 sec)

mysql> SELECT DAYNAME('2004-12-19');


+-----------------------+
| DAYNAME('2004-12-19') |
+-----------------------+
| Sunday |
+-----------------------+
1 row in set (0.28 sec)

mysql> SELECT DAYOFWEEK('2022-02-02');


+-------------------------+
| DAYOFWEEK('2021-06-11') |
+-------------------------+
| 2 |
+-------------------------+
1 row in set (0.02 sec)

mysql> SELECT DAYOFMONTH('2021-06-11');


+--------------------------+
| DAYOFMONTH('2021-06-11') |
+--------------------------+
| 11 |
+--------------------------+
1 row in set (0.01 sec)

mysql> SELECT DAYOFYEAR('1969-09-15');


+-------------------------+
| DAYOFYEAR('1969-09-15') |
+-------------------------+
| 258 |
+-------------------------+
1 row in set (0.01 sec)

mysql> SELECT NOW();


+---------------------+
| NOW() |
+---------------------+
| 2022-02-03 11:01:21 |
+---------------------+
1 row in set (0.00 sec)

mysql> SELECT SYSDATE();


+---------------------+
| SYSDATE() |
+---------------------+
| 2022-02-03 11:01:56 |
+---------------------+
1 row in set (0.00 sec)

mysql> SELECT NOW(), SLEEP(5), NOW();


+---------------------+----------+---------------------+
| NOW() | SLEEP(5) | NOW() |
+---------------------+----------+---------------------+
| 2022-02-03 11:02:53 | 0 | 2022-02-03 11:02:53 |
+---------------------+----------+---------------------+
1 row in set (5.01 sec)

AGGREGATE FUNCTIONS

1. SUM()

Q)a) WAQ TO DISPLAY TOTAL SALARY OF EMPLOYEES FROM EMP. NAME IT TOTAL
mysql> SELECT SUM(SAL)"TOTAL" FROM EMP;
+----------+
| TOTAL |
+----------+
| 29025.00 |
+----------+
1 row in set (0.13 sec)
b) WAQ TO CALCULATE TOTAL SALARY OF EMP BELONGING TO DEPTNO 30
mysql> SELECT SUM(SAL)"TOTAL" FROM EMP WHERE DEPTNO=30;
+---------+
| TOTAL |
+---------+
| 9400.00 |
+---------+
1 row in set (0.00 sec)

2. AVG()

Q)a) WAQ TO CALCULATE AVG SAL FOR EMPLOYEES FROM EMP


mysql> SELECT AVG(SAL) FROM EMP;
+-------------+
| AVG(SAL) |
+-------------+
| 2073.214286 |
+-------------+
1 row in set (0.00 sec)

3. COUNT()

b) WAQ TO DISPLAY NO. OF RECORDS FROM EMP


mysql> SELECT COUNT(*)"NO-OF-EMP-RECORDS" FROM EMP;
+-------------------+
| NO-OF-EMP-RECORDS |
+-------------------+
| 14 |
+-------------------+
1 row in set (0.02 sec)

Q) WAQ TO SHOW THE NUMBER OF DISTINCT JOBS FROM EMP.


mysql> SELECT COUNT(DISTINCT JOB)"JOB" FROM EMP;
+-----+
| JOB |
+-----+
| 5 |
+-----+
1 row in set (0.02 sec)

4. MIN()

Q) WAQ TO DISPLAY JOINING DATE OF SENIOR MOST EMP


mysql> SELECT MIN(HIREDATE) FROM EMP;
+---------------+
| MIN(HIREDATE) |
+---------------+
| 1980-12-17 |
+---------------+
1 row in set (0.02 sec)
5. MAX()

Q) WAQ TO DISPLAY JOINING DATE OF NEWEST EMP


mysql> SELECT MAX(HIREDATE) FROM EMP;
+---------------+
| MAX(HIREDATE) |
+---------------+
| 1983-01-12 |
+---------------+
1 row in set (0.00 sec)

GROUP BY CLAUSE

Q) WAQ TO DISPLAY EMPLOYEE NO., SUM OF SALARIES OF EMPLOYEES FROM EACH


DEPT. WHICH HAVE THEIR SUM GREATER THAN 2000.
mysql> SELECT EMPNO, SUM(SAL) FROM EMP GROUP BY DEPTNO HAVING
SUM(SAL)>2000;
+-------+----------+
| EMPNO | SUM(SAL) |
+-------+----------+
| 7369 | 10875.00 |
| 7499 | 9400.00 |
| 7782 | 8750.00 |
+-------+----------+
3 rows in set (0.01 sec)

Q) WAQ TO DISPLAY THE DEPTNO. AND JOB FROM EACH DEPT.


mysql> SELECT DEPTNO, JOB FROM EMP GROUP BY DEPTNO, JOB;
+--------+-----------+
| DEPTNO | JOB |
+--------+-----------+
| 20 | CLERK |
| 30 | SALESMAN |
| 20 | MANAGER |
| 30 | MANAGER |
| 10 | MANAGER |
| 20 | ANALYST |
| 10 | PRESIDENT |
| 30 | CLERK |
| 10 | CLERK |
+--------+-----------+
9 rows in set (0.01 sec)

Q) WAQ TO SHOW THE NUMBER OF EMPLOYEES IN EACH JOB AND SUM OF THEIR
SALATRIES.
mysql> SELECT COUNT(*), SUM(SAL), JOB FROM EMP GROUP BY JOB;
+----------+----------+-----------+
| COUNT(*) | SUM(SAL) | JOB |
+----------+----------+-----------+
| 4 | 4150.00 | CLERK |
| 4 | 5600.00 | SALESMAN |
| 3 | 8275.00 | MANAGER |
| 2 | 6000.00 | ANALYST |
| 1 | 5000.00 | PRESIDENT |
+----------+----------+-----------+
5 rows in set (0.00 sec)

Q) WAQ TO DISPLAY THE NUMBER OF EMPLOYEES IN EACH DEPTNO.


mysql> SELECT COUNT(*), DEPTNO FROM EMP GROUP BY DEPTNO;
+----------+--------+
| COUNT(*) | DEPTNO |
+----------+--------+
| 5 | 20 |
| 6 | 30 |
| 3 | 10 |
+----------+--------+
3 rows in set (0.12 sec)

Q) WAQ TO CALCULATE THE AVG SAL AND TOTAL SAL JOB-WISE FOR DEPT 20
mysql> SELECT AVG(SAL), SUM(SAL), JOB FROM EMP GROUP BY JOB, DEPTNO
HAVING DEPTNO = 20;
+-------------+----------+---------+
| AVG(SAL) | SUM(SAL) | JOB |
+-------------+----------+---------+
| 950.000000 | 1900.00 | CLERK |
| 2975.000000 | 2975.00 | MANAGER |
| 3000.000000 | 6000.00 | ANALYST |
+-------------+----------+---------+
3 rows in set (0.05 sec)

Q) WAQ TO DISPLAY JOBS WHERE NO. OF EMPLOYEES < 3


mysql> SELECT JOB, COUNT(*) FROM EMP GROUP BY JOB HAVING COUNT(*)<3;
+-----------+----------+
| JOB | COUNT(*) |
+-----------+----------+
| ANALYST | 2 |
| PRESIDENT | 1 |
+-----------+----------+
2 rows in set (0.01 sec)

Q) WAQ TO DISPLAY AVG COMM AND AVG SAL DEPARTMENT WISE WHERE AVG COMM >
750 AND AVG SAL < 2000
mysql> SELECT AVG(SAL), AVG(COMM), DEPTNO FROM EMP GROUP BY DEPTNO HAVING
AVG(COMM)>750 AND AVG(SAL)<2000;
Empty set (0.00 sec)

Q) WAQ TO DISPLAY THE AVG SAL DEPARTMENT WISE WHERE THE NO. OF EMPLOYEES
<=3
mysql> SELECT AVG(SAL), DEPTNO, COUNT(*) FROM EMP GROUP BY DEPTNO HAVING
COUNT(*)<=3;
+-------------+--------+----------+
| AVG(SAL) | DEPTNO | COUNT(*) |
+-------------+--------+----------+
| 2916.666667 | 10 | 3 |
+-------------+--------+----------+
1 row in set (0.00 sec)

Q) HOW MANY EMPLOYEES ARE WORKING IN DIFFERENT DEPARTMENTS?


mysql> SELECT DEPTNO, COUNT(*) FROM EMP GROUP BY DEPTNO;
+--------+----------+
| DEPTNO | COUNT(*) |
+--------+----------+
| 20 | 5 |
| 30 | 6 |
| 10 | 3 |
+--------+----------+
3 rows in set (0.00 sec)

Q) WAQ TO DISPLAY WISE MAX SAL, MIN SAL AND AVG SAL OF EMPLOYEES
mysql> SELECT DEPTNO, AVG(SAL), MAX(SAL), MIN(SAL) FROM EMP GROUP BY
DEPTNO;
+--------+-------------+----------+----------+
| DEPTNO | AVG(SAL) | MAX(SAL) | MIN(SAL) |
+--------+-------------+----------+----------+
| 20 | 2175.000000 | 3000.00 | 800.00 |
| 30 | 1566.666667 | 2850.00 | 950.00 |
| 10 | 2916.666667 | 5000.00 | 1300.00 |
+--------+-------------+----------+----------+
3 rows in set (0.00 sec)

You might also like