0% found this document useful (0 votes)
9 views18 pages

SQL Database Management for Class XII

The document provides a practical file for Class XII Informatics Practices, detailing SQL queries for database management. It includes instructions for creating a database, tables, inserting records, and various queries to display and manipulate data from the 'emp' and 'dept' tables. The document serves as a guide for students to practice SQL commands and understand database operations.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views18 pages

SQL Database Management for Class XII

The document provides a practical file for Class XII Informatics Practices, detailing SQL queries for database management. It includes instructions for creating a database, tables, inserting records, and various queries to display and manipulate data from the 'emp' and 'dept' tables. The document serves as a guide for students to practice SQL commands and understand database operations.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

INFORMATICS PRACTICES NEW (065)

CLASS – XII
PRACTICAL FILE (PART 3)

Database Management

1. Write SQL query to create and show a database Test.


mysql> CREATE DATABASE TEST;
Query OK, 1 row affected (0.01 sec)

mysql> SHOW DATABASES;


+--------------------+
| Database |
+--------------------+
| demo |
| information_schema |
| loans |
| mysql |
| performance_schema |
| sys |
| test |
+--------------------+
7 rows in set (0.00 sec)

2. Write SQL query to open database Test.


mysql> USE TEST;
Database changed

3. Write SQL query to create following Table name emp and dept

mysql> create table dept


-> (
-> deptno int(2) primary key,
-> dname varchar(14),
-> loc varchar(13)
-> );
Query OK, 0 rows affected, 1 warning (0.17 sec)

mysql> create table emp(


-> empno int(4) primary key,
-> ename varchar(8),
-> job varchar(9),
-> mgr int(4),
-> hiredate date,
-> sal float(7,2),
-> comm float(7,2),
-> deptno int(2)
-> );
Query OK, 0 rows affected, 5 warnings (0.14 sec)

Page 1 of 18
4. Write SQL query to show the structure of tables emp and dept.
mysql> DESCRIBE EMP;
+----------+------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+------------+------+-----+---------+-------+
| empno | int | NO | PRI | NULL | |
| ename | varchar(8) | YES | | NULL | |
| job | varchar(9) | YES | | NULL | |
| mgr | int | YES | | NULL | |
| hiredate | date | YES | | NULL | |
| sal | float(7,2) | YES | | NULL | |
| comm | float(7,2) | YES | | NULL | |
| deptno | int | YES | | NULL | |
+----------+------------+------+-----+---------+-------+
8 rows in set (0.01 sec)

mysql> DESC DEPT;


+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| deptno | int | NO | PRI | NULL | |
| dname | varchar(14) | YES | | NULL | |
| loc | varchar(13) | YES | | NULL | |
+--------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

5. Write SQL query to Insert records in emp and dept table as per the
question.

mysql> insert into DEPT


-> values(10, 'ACCOUNTING', 'NEW YORK'),
-> (20, 'RESEARCH', 'DALLAS'),
-> (30, 'SALES', 'CHICAGO'),
-> (40, 'OPERATIONS', 'BOSTON');
Query OK, 4 rows affected (0.03 sec)
Records: 4 Duplicates: 0 Warnings: 0

mysql> insert into emp


-> values
-> (7839, 'KING', 'PRESIDENT', null, '1981-11-17',5000,0, 10),
-> (7698, 'BLAKE', 'MANAGER', 7839, '1981-05-01',2850,null, 30),
-> (7782, 'CLARK', 'MANAGER', 7839, '1981-06-09',2450,null, 10),
-> (7566, 'JONES', 'MANAGER', 7839, '1981-04-02',2975,null, 20),
-> (7788, 'SCOTT', 'ANALYST', 7566, '1987-07-13',3000,null, 20),
-> (7902, 'FORD', 'ANALYST', 7566, '1981-12-03',3000,null, 20),
-> (7369, 'SMITH', 'CLERK', 7902, '1980-12-17',800,0, 20),
-> (7499, 'ALLEN', 'SALESMAN', 7698, '1981-02-20',1600,300, 30),
-> (7521, 'WARD', 'SALESMAN', 7698, '1981-02-22',1250,500, 30),
-> (7654, 'MARTIN','SALESMAN', 7698, '1981-09-28',1250,1400, 30),
-> (7844, 'TURNER','SALESMAN', 7698, '1981-09-08',1500,0, 30),

Page 2 of 18
-> (7876, 'ADAMS', 'CLERK', 7788, '1987-07-13',1100,null, 20),
-> (7900, 'JAMES', 'CLERK', 7698, '1981-12-03',950, null, 30),
-> (7934, 'MILLER','CLERK', 7782, '1982-01-23',1300,null, 10);
Query OK, 14 rows affected (0.02 sec)
Records: 14 Duplicates: 0 Warnings: 0

6. Write SQL query to display all the records from table emp.
mysql> SELECT * FROM EMP;
+-------+--------+-----------+------+------------+---------+---------+--------+
| empno | ename | job | mgr | hiredate | sal | comm | deptno |
+-------+--------+-----------+------+------------+---------+---------+--------+
| 7369 | SMITH | CLERK | 7902 | 1980-12-17 | 800.00 | 0.00 | 20 |
| 7499 | ALLEN | SALESMAN | 7698 | 1981-02-20 | 1600.00 | 300.00 | 30 |
| 7521 | WARD | SALESMAN | 7698 | 1981-02-22 | 1250.00 | 500.00 | 30 |
| 7566 | JONES | MANAGER | 7839 | 1981-04-02 | 2975.00 | NULL | 20 |
| 7654 | MARTIN | SALESMAN | 7698 | 1981-09-28 | 1250.00 | 1400.00 | 30 |
| 7698 | BLAKE | MANAGER | 7839 | 1981-05-01 | 2850.00 | NULL | 30 |
| 7782 | CLARK | MANAGER | 7839 | 1981-06-09 | 2450.00 | NULL | 10 |
| 7788 | SCOTT | ANALYST | 7566 | 1987-07-13 | 3000.00 | NULL | 20 |
| 7839 | KING | PRESIDENT | NULL | 1981-11-17 | 5000.00 | 0.00 | 10 |
| 7844 | TURNER | SALESMAN | 7698 | 1981-09-08 | 1500.00 | 0.00 | 30 |
| 7876 | ADAMS | CLERK | 7788 | 1987-07-13 | 1100.00 | NULL | 20 |
| 7900 | JAMES | CLERK | 7698 | 1981-12-03 | 950.00 | NULL | 30 |
| 7902 | FORD | ANALYST | 7566 | 1981-12-03 | 3000.00 | NULL | 20 |
| 7934 | MILLER | CLERK | 7782 | 1982-01-23 | 1300.00 | NULL | 10 |
+-------+--------+-----------+------+------------+---------+---------+--------+
14 rows in set (0.00 sec)

7. Write SQL query to display all the records from table dept.
mysql> SELECT * FROM DEPT;
+--------+------------+----------+
| deptno | dname | loc |
+--------+------------+----------+
| 10 | ACCOUNTING | NEW YORK |
| 20 | RESEARCH | DALLAS |
| 30 | SALES | CHICAGO |
| 40 | OPERATIONS | BOSTON |
+--------+------------+----------+
4 rows in set (0.00 sec)

8. Write SQL query to display EmpNo and EName of all employees from the
table emp.
mysql> SELECT EMPNO, ENAME FROM EMP;
+-------+--------+
| EMPNO | ENAME |
+-------+--------+
| 7369 | SMITH |
| 7499 | ALLEN |
| 7521 | WARD |
| 7566 | JONES |
| 7654 | MARTIN |
| 7698 | BLAKE |
Page 3 of 18
| 7782 | CLARK |
| 7788 | SCOTT |
| 7839 | KING |
| 7844 | TURNER |
| 7876 | ADAMS |
| 7900 | JAMES |
| 7902 | FORD |
| 7934 | MILLER |
+-------+--------+
14 rows in set (0.00 sec)

9. Write SQL query to display Ename, Sal, and Sal added with comm from table emp
mysql> SELECT ENAME, SAL, SAL+COMM FROM EMP;
+--------+---------+----------+
| ENAME | SAL | SAL+COMM |
+--------+---------+----------+
| SMITH | 800.00 | 800.00 |
| ALLEN | 1600.00 | 1900.00 |
| WARD | 1250.00 | 1750.00 |
| JONES | 2975.00 | NULL |
| MARTIN | 1250.00 | 2650.00 |
| BLAKE | 2850.00 | NULL |
| CLARK | 2450.00 | NULL |
| SCOTT | 3000.00 | NULL |
| KING | 5000.00 | 5000.00 |
| TURNER | 1500.00 | 1500.00 |
| ADAMS | 1100.00 | NULL |
| JAMES | 950.00 | NULL |
| FORD | 3000.00 | NULL |
| MILLER | 1300.00 | NULL |
+--------+---------+----------+
14 rows in set (0.00 sec)

10. Write SQL query to display Ename, Sal, and deptno who are not getting commission from table emp.
mysql> SELECT ENAME, SAL, DEPTNO FROM EMP WHERE COMM IS NULL;
+--------+---------+--------+
| ENAME | SAL | DEPTNO |
+--------+---------+--------+
| JONES | 2975.00 | 20 |
| BLAKE | 2850.00 | 30 |
| CLARK | 2450.00 | 10 |
| SCOTT | 3000.00 | 20 |
| ADAMS | 1100.00 | 20 |
| JAMES | 950.00 | 30 |
| FORD | 3000.00 | 20 |
| MILLER | 1300.00 | 10 |
+--------+---------+--------+
8 rows in set (0.00 sec)

Page 4 of 18
11. Write SQL query to display Ename, Sal, and deptno who are getting commission from table emp.
mysql> SELECT ENAME, SAL, DEPTNO FROM EMP WHERE COMM IS NOT NULL;
+--------+---------+--------+
| ENAME | SAL | DEPTNO |
+--------+---------+--------+
| SMITH | 800.00 | 20 |
| ALLEN | 1600.00 | 30 |
| WARD | 1250.00 | 30 |
| MARTIN | 1250.00 | 30 |
| KING | 5000.00 | 10 |
| TURNER | 1500.00 | 30 |
+--------+---------+--------+
6 rows in set (0.00 sec)
12. Write SQL query to display Eno, Ename ,Sal, and Annual Salary from table emp. (Annual Salary = Sal*12).
mysql> SELECT EMPNO, ENAME, SAL, SAL*12 AS "ANNUAL SALARY" FROM EMP;
+-------+--------+---------+---------------+
| EMPNO | ENAME | SAL | ANNUAL SALARY |
+-------+--------+---------+---------------+
| 7369 | SMITH | 800.00 | 9600.00 |
| 7499 | ALLEN | 1600.00 | 19200.00 |
| 7521 | WARD | 1250.00 | 15000.00 |
| 7566 | JONES | 2975.00 | 35700.00 |
| 7654 | MARTIN | 1250.00 | 15000.00 |
| 7698 | BLAKE | 2850.00 | 34200.00 |
| 7782 | CLARK | 2450.00 | 29400.00 |
| 7788 | SCOTT | 3000.00 | 36000.00 |
| 7839 | KING | 5000.00 | 60000.00 |
| 7844 | TURNER | 1500.00 | 18000.00 |
| 7876 | ADAMS | 1100.00 | 13200.00 |
| 7900 | JAMES | 950.00 | 11400.00 |
| 7902 | FORD | 3000.00 | 36000.00 |
| 7934 | MILLER | 1300.00 | 15600.00 |
+-------+--------+---------+---------------+
14 rows in set (0.00 sec)
13. Write SQL query to display employee no, name, job in ascending order of name.
mysql> SELECT EMPNO, ENAME, JOB FROM EMP ORDER BY ENAME;
+-------+--------+-----------+
| EMPNO | ENAME | JOB |
+-------+--------+-----------+
| 7876 | ADAMS | CLERK |
| 7499 | ALLEN | SALESMAN |
| 7698 | BLAKE | MANAGER |
| 7782 | CLARK | MANAGER |
| 7902 | FORD | ANALYST |
| 7900 | JAMES | CLERK |
| 7566 | JONES | MANAGER |
| 7839 | KING | PRESIDENT |
| 7654 | MARTIN | SALESMAN |
| 7934 | MILLER | CLERK |
| 7788 | SCOTT | ANALYST |
| 7369 | SMITH | CLERK |
| 7844 | TURNER | SALESMAN |
| 7521 | WARD | SALESMAN |
+-------+--------+-----------+
14 rows in set (0.00 sec)
Page 5 of 18
14. Write SQL query to display employee name, salary in descending order of salary.
mysql> SELECT ENAME, SAL FROM EMP ORDER BY SAL DESC;
+--------+---------+
| ENAME | SAL |
+--------+---------+
| KING | 5000.00 |
| SCOTT | 3000.00 |
| FORD | 3000.00 |
| JONES | 2975.00 |
| BLAKE | 2850.00 |
| CLARK | 2450.00 |
| ALLEN | 1600.00 |
| TURNER | 1500.00 |
| MILLER | 1300.00 |
| WARD | 1250.00 |
| MARTIN | 1250.00 |
| ADAMS | 1100.00 |
| JAMES | 950.00 |
| SMITH | 800.00 |
+--------+---------+
14 rows in set (0.00 sec)

15. Write SQL query to display employee no, name, job in ascending order of job and name.
mysql> SELECT EMPNO, ENAME, JOB FROM EMP ORDER BY JOB, ENAME;
+-------+--------+-----------+
| EMPNO | ENAME | JOB |
+-------+--------+-----------+
| 7902 | FORD | ANALYST |
| 7788 | SCOTT | ANALYST |
| 7876 | ADAMS | CLERK |
| 7900 | JAMES | CLERK |
| 7934 | MILLER | CLERK |
| 7369 | SMITH | CLERK |
| 7698 | BLAKE | MANAGER |
| 7782 | CLARK | MANAGER |
| 7566 | JONES | MANAGER |
| 7839 | KING | PRESIDENT |
| 7499 | ALLEN | SALESMAN |
| 7654 | MARTIN | SALESMAN |
| 7844 | TURNER | SALESMAN |
| 7521 | WARD | SALESMAN |
+-------+--------+-----------+
14 rows in set (0.00 sec)

16. Write SQL query to display employee no, name, job in descending order of job and ascending order of name.
mysql> SELECT EMPNO, ENAME, JOB FROM EMP ORDER BY JOB DESC, ENAME ASC;
+-------+--------+-----------+
| EMPNO | ENAME | JOB |
+-------+--------+-----------+
| 7499 | ALLEN | SALESMAN |
| 7654 | MARTIN | SALESMAN |
| 7844 | TURNER | SALESMAN |
| 7521 | WARD | SALESMAN |
| 7839 | KING | PRESIDENT |

Page 6 of 18
| 7698 | BLAKE | MANAGER |
| 7782 | CLARK | MANAGER |
| 7566 | JONES | MANAGER |
| 7876 | ADAMS | CLERK |
| 7900 | JAMES | CLERK |
| 7934 | MILLER | CLERK |
| 7369 | SMITH | CLERK |
| 7902 | FORD | ANALYST |
| 7788 | SCOTT | ANALYST |
+-------+--------+-----------+
14 rows in set (0.00 sec)

17. Display the details of all employee whose annual salary is between 2000 to 4000
mysql> SELECT * FROM EMP WHERE SAL BETWEEN 2000 AND 4000;
+-------+-------+---------+------+------------+---------+------+--------+
| empno | ename | job | mgr | hiredate | sal | comm | deptno |
+-------+-------+---------+------+------------+---------+------+--------+
| 7566 | JONES | MANAGER | 7839 | 1981-04-02 | 2975.00 | NULL | 20 |
| 7698 | BLAKE | MANAGER | 7839 | 1981-05-01 | 2850.00 | NULL | 30 |
| 7782 | CLARK | MANAGER | 7839 | 1981-06-09 | 2450.00 | NULL | 10 |
| 7788 | SCOTT | ANALYST | 7566 | 1987-07-13 | 3000.00 | NULL | 20 |
| 7902 | FORD | ANALYST | 7566 | 1981-12-03 | 3000.00 | NULL | 20 |
+-------+-------+---------+------+------------+---------+------+--------+
5 rows in set (0.00 sec)

18. Display the details of all employee those how were hired (date of joining) is year 1987.
mysql> SELECT * FROM EMP WHERE HIREDATE BETWEEN '1987-01-01' AND '1987-12-31';
+-------+-------+---------+------+------------+---------+------+--------+
| empno | ename | job | mgr | hiredate | sal | comm | deptno |
+-------+-------+---------+------+------------+---------+------+--------+
| 7788 | SCOTT | ANALYST | 7566 | 1987-07-13 | 3000.00 | NULL | 20 |
| 7876 | ADAMS | CLERK | 7788 | 1987-07-13 | 1100.00 | NULL | 20 |
+-------+-------+---------+------+------------+---------+------+--------+
2 rows in set (0.00 sec)

19. Display the department numbers. Each department should be displayed once.
mysql> SELECT DISTINCT DEPTNO FROM EMP;
+--------+
| DEPTNO |
+--------+
| 20 |
| 30 |
| 10 |
+--------+
3 rows in set (0.00 sec)
20. Display name, job title and salary of employee who do not have manager.
mysql> SELECT ENAME, JOB, SAL FROM EMP WHERE MGR IS NULL;
+-------+-----------+---------+
| ENAME | JOB | SAL |
+-------+-----------+---------+
| KING | PRESIDENT | 5000.00 |
+-------+-----------+---------+
1 row in set (0.00 sec)

Page 7 of 18
21. Display name and salary of employee who draw salary more than 2500.

mysql> SELECT ENAME, SAL FROM EMP WHERE SAL>2500;


+-------+---------+
| ENAME | SAL |
+-------+---------+
| JONES | 2975.00 |
| BLAKE | 2850.00 |
| SCOTT | 3000.00 |
| KING | 5000.00 |
| FORD | 3000.00 |
+-------+---------+
5 rows in set (0.00 sec)

22. Display name and salary of employee who draw salary more than 2500 and works in department no 20.

mysql> SELECT ENAME, SAL FROM EMP WHERE SAL>2500 AND DEPTNO=20;
+-------+---------+
| ENAME | SAL |
+-------+---------+
| JONES | 2975.00 |
| SCOTT | 3000.00 |
| FORD | 3000.00 |
+-------+---------+
3 rows in set (0.00 sec)

23. Display name and hire date of employee who has joined before 16-Mar-1981.

mysql> SELECT ENAME, HIREDATE FROM EMP WHERE HIREDATE < "1981-03-16";
+-------+------------+
| ENAME | HIREDATE |
+-------+------------+
| SMITH | 1980-12-17 |
| ALLEN | 1981-02-20 |
| WARD | 1981-02-22 |
+-------+------------+
3 rows in set (0.00 sec)

24. Display name and job of employee those who are working as clerk or manager.

mysql> SELECT ENAME, JOB FROM EMP WHERE JOB='CLERK' OR JOB='MANAGER';

+--------+---------+
| ENAME | JOB |
+--------+---------+
| SMITH | CLERK |
| JONES | MANAGER |
| BLAKE | MANAGER |
| CLARK | MANAGER |
| ADAMS | CLERK |
| JAMES | CLERK |
| MILLER | CLERK |
+--------+---------+
7 rows in set (0.00 sec)
Page 8 of 18
25. Display name and job of employee those who are working as clerk or manager (using IN operator).
mysql> SELECT ENAME, JOB FROM EMP WHERE JOB IN ('CLERK','MANAGER');
+--------+---------+
| ENAME | JOB |
+--------+---------+
| SMITH | CLERK |
| JONES | MANAGER |
| BLAKE | MANAGER |
| CLARK | MANAGER |
| ADAMS | CLERK |
| JAMES | CLERK |
| MILLER | CLERK |
+--------+---------+
7 rows in set (0.00 sec)

26. Display the details of employees whose name have only four letters.
mysql> SELECT * FROM EMP WHERE ENAME LIKE "____";
+-------+-------+-----------+------+------------+---------+--------+--------+
| empno | ename | job | mgr | hiredate | sal | comm | deptno |
+-------+-------+-----------+------+------------+---------+--------+--------+
| 7521 | WARD | SALESMAN | 7698 | 1981-02-22 | 1250.00 | 500.00 | 30 |
| 7839 | KING | PRESIDENT | NULL | 1981-11-17 | 5000.00 | 0.00 | 10 |
| 7902 | FORD | ANALYST | 7566 | 1981-12-03 | 3000.00 | NULL | 20 |
+-------+-------+-----------+------+------------+---------+--------+--------+
3 rows in set (0.00 sec)

27. Display the name of employee whose name contains “K” anywhere in name.
mysql> SELECT * FROM EMP WHERE ENAME LIKE "%k%";
+-------+-------+-----------+------+------------+---------+------+--------+
| empno | ename | job | mgr | hiredate | sal | comm | deptno |
+-------+-------+-----------+------+------------+---------+------+--------+
| 7698 | BLAKE | MANAGER | 7839 | 1981-05-01 | 2850.00 | NULL | 30 |
| 7782 | CLARK | MANAGER | 7839 | 1981-06-09 | 2450.00 | NULL | 10 |
| 7839 | KING | PRESIDENT | NULL | 1981-11-17 | 5000.00 | 0.00 | 10 |
+-------+-------+-----------+------+------------+---------+------+--------+
3 rows in set (0.00 sec)

28. Display the name of employee whose name contains “A” as third letter.
mysql> SELECT * FROM EMP WHERE ENAME LIKE "__A%";
+-------+-------+---------+------+------------+---------+------+--------+
| empno | ename | job | mgr | hiredate | sal | comm | deptno |
+-------+-------+---------+------+------------+---------+------+--------+
| 7698 | BLAKE | MANAGER | 7839 | 1981-05-01 | 2850.00 | NULL | 30 |
| 7782 | CLARK | MANAGER | 7839 | 1981-06-09 | 2450.00 | NULL | 10 |
| 7876 | ADAMS | CLERK | 7788 | 1987-07-13 | 1100.00 | NULL | 20 |
+-------+-------+---------+------+------------+---------+------+--------+
3 rows in set (0.00 sec)

29. Change salary of Smit to 1000.


mysql> UPDATE EMP
-> SET SAL = 1000
-> WHERE ENAME = 'SMITH';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0

Page 9 of 18
OR

mysql> UPDATE EMP


-> SET SAL = 1000
-> WHERE EMPNO = 7369;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> SELECT ENAME, SAL FROM EMP WHERE ENAME = 'SMITH';


+-------+---------+
| ENAME | SAL |
+-------+---------+
| SMITH | 1000.00 |
+-------+---------+
1 row in set (0.00 sec)

30. Increase the salary of all employee by 5%.

mysql> UPDATE EMP


-> SET SAL = SAL + SAL * 0.05;
Query OK, 14 rows affected (0.00 sec)
Rows matched: 14 Changed: 14 Warnings: 0

mysql> SELECT ENAME, SAL FROM EMP;


+--------+---------+
| ENAME | SAL |
+--------+---------+
| KING | 5250.00 |
| BLAKE | 2992.50 |
| CLARK | 2572.50 |
| JONES | 3123.75 |
| SCOTT | 3150.00 |
| FORD | 3150.00 |
| SMITH | 1050.00 |
| ALLEN | 1680.00 |
| WARD | 1312.50 |
| MARTIN | 1312.50 |
| TURNER | 1575.00 |
| ADAMS | 1155.00 |
| JAMES | 997.50 |
| MILLER | 1365.00 |
+--------+---------+
14 rows in set (0.00 sec)

31. Delete records whose commission is 0 (zero).

mysql> DELETE FROM EMP WHERE COMM=0;


Query OK, 3 rows affected (0.00 sec)

Page 10 of 18
mysql> SELECT * FROM EMP;
+-------+--------+----------+------+------------+---------+---------+--------+
| empno | ename | job | mgr | hiredate | sal | comm | deptno |
+-------+--------+----------+------+------------+---------+---------+--------+
| 7698 | BLAKE | MANAGER | 7839 | 1981-05-01 | 2992.50 | NULL | 30 |
| 7782 | CLARK | MANAGER | 7839 | 1981-06-09 | 2572.50 | NULL | 10 |
| 7566 | JONES | MANAGER | 7839 | 1981-04-02 | 3123.75 | NULL | 20 |
| 7788 | SCOTT | ANALYST | 7566 | 1987-07-13 | 3150.00 | NULL | 20 |
| 7902 | FORD | ANALYST | 7566 | 1981-12-03 | 3150.00 | NULL | 20 |
| 7499 | ALLEN | SALESMAN | 7698 | 1981-02-20 | 1680.00 | 300.00 | 30 |
| 7521 | WARD | SALESMAN | 7698 | 1981-02-22 | 1312.50 | 500.00 | 30 |
| 7654 | MARTIN | SALESMAN | 7698 | 1981-09-28 | 1312.50 | 1400.00 | 30 |
| 7876 | ADAMS | CLERK | 7788 | 1987-07-13 | 1155.00 | NULL | 20 |
| 7900 | JAMES | CLERK | 7698 | 1981-12-03 | 997.50 | NULL | 30 |
| 7934 | MILLER | CLERK | 7782 | 1982-01-23 | 1365.00 | NULL | 10 |
+-------+--------+----------+------+------------+---------+---------+--------+
11 rows in set (0.00 sec)

32. Add new column Phno to emp table.

mysql> ALTER TABLE EMP


-> ADD PHNO VARCHAR(10);
Query OK, 11 rows affected, 1 warning (0.10 sec)
Records: 11 Duplicates: 0 Warnings: 1

mysql> DESC EMP;

+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| empno | int | NO | PRI | NULL | |
| ename | varchar(8) | YES | | NULL | |
| job | varchar(9) | YES | | NULL | |
| mgr | int | YES | | NULL | |
| hiredate | date | YES | | NULL | |
| sal | float(7,2) | YES | | NULL | |
| comm | float(7,2) | YES | | NULL | |
| deptno | int | YES | | NULL | |
| PHNO | varchar(10) | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+
9 rows in set (0.01 sec)

33. Increase the size of data type of column Phno from 10 to 12 in emp table.

mysql> ALTER TABLE EMP


-> MODIFY PHNO VARCHAR(12);
Query OK, 11 rows affected (0.09 sec)
Records: 11 Duplicates: 0 Warnings: 0

Page 11 of 18
mysql> DESC EMP;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| empno | int | NO | PRI | NULL | |
| ename | varchar(8) | YES | | NULL | |
| job | varchar(9) | YES | | NULL | |
| mgr | int | YES | | NULL | |
| hiredate | date | YES | | NULL | |
| sal | float(7,2) | YES | | NULL | |
| comm | float(7,2) | YES | | NULL | |
| deptno | int | YES | | NULL | |
| PHNO | varchar(12) | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+
9 rows in set (0.00 sec)

34. Delete the column Phno from emp table.

mysql> ALTER TABLE EMP


-> DROP PHNO;
Query OK, 11 rows affected (0.05 sec)
Records: 11 Duplicates: 0 Warnings: 0

mysql> DESC EMP;


+----------+------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+------------+------+-----+---------+-------+
| empno | int | NO | PRI | NULL | |
| ename | varchar(8) | YES | | NULL | |
| job | varchar(9) | YES | | NULL | |
| mgr | int | YES | | NULL | |
| hiredate | date | YES | | NULL | |
| sal | float(7,2) | YES | | NULL | |
| comm | float(7,2) | YES | | NULL | |
| deptno | int | YES | | NULL | |
+----------+------------+------+-----+---------+-------+
8 rows in set (0.00 sec)

35. Delete entire (data + structure) table.

mysql> DROP TABLE EMP;


Query OK, 0 rows affected (0.01 sec)

mysql> SHOW TABLES;


+----------------+
| Tables_in_test |
+----------------+
| dept |
+----------------+
1 row in set (0.01 sec)

Page 12 of 18
36. Find average salary of all employees in emp table.
mysql> SELECT AVG(SAL) FROM EMP;
+-------------+
| AVG(SAL) |
+-------------+
| 2073.214286 |
+-------------+
1 row in set (0.00 sec)

37. Find average, sum, minimum, maximum salary and count no of records of all employees in emp table.
mysql> SELECT AVG(SAL), SUM(SAL), MIN(SAL), MAX(SAL), COUNT(SAL) FROM EMP;
+-------------+----------+----------+----------+------------+
| AVG(SAL) | SUM(SAL) | MIN(SAL) | MAX(SAL) | COUNT(SAL) |
+-------------+----------+----------+----------+------------+
| 2073.214286 | 29025.00 | 800.00 | 5000.00 | 14 |
+-------------+----------+----------+----------+------------+
1 row in set (0.00 sec)

38. Count number of records of all employees in emp table.


mysql> SELECT COUNT(*) FROM EMP;
+----------+
| COUNT(*) |
+----------+
| 14 |
+----------+
1 row in set (0.00 sec)

39. Count number of employees department wise from emp table.


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

40. Display job / designation from emp table where number of employees is less than 3.
mysql> SELECT JOB, COUNT(*) FROM EMP
-> GROUP BY JOB
-> HAVING COUNT(*) < 3;
+-----------+----------+
| JOB | COUNT(*) |
+-----------+----------+
| PRESIDENT | 1 |
| ANALYST | 2 |
+-----------+----------+
2 rows in set (0.00 sec)

Page 13 of 18
41. Display department no, job / designation and number of employees in particular job group by department no,
job from emp table.
mysql> SELECT DEPTNO, JOB, COUNT(*) FROM EMP
-> GROUP BY DEPTNO, JOB;
+--------+-----------+----------+
| DEPTNO | JOB | COUNT(*) |
+--------+-----------+----------+
| 10 | PRESIDENT | 1 |
| 30 | MANAGER | 1 |
| 10 | MANAGER | 1 |
| 20 | MANAGER | 1 |
| 20 | ANALYST | 2 |
| 20 | CLERK | 2 |
| 30 | SALESMAN | 4 |
| 30 | CLERK | 1 |
| 10 | CLERK | 1 |
+--------+-----------+----------+
9 rows in set (0.00 sec)

● Math functions: POWER (), ROUND (), MOD ().


mysql> SELECT POWER(2,5);
+------------+
| POWER(2,5) |
+------------+
| 32 |
+------------+
1 row in set (0.00 sec)
OR
mysql> SELECT POWER(2,5) FROM DUAL;
+------------+
| POWER(2,5) |
+------------+
| 32 |
+------------+

mysql> SELECT ROUND(2.15), ROUND(2.567), ROUND(2.567,2), ROUND(2.153,2);


+-------------+--------------+----------------+----------------+
| ROUND(2.15) | ROUND(2.567) | ROUND(2.567,2) | ROUND(2.153,2) |
+-------------+--------------+----------------+----------------+
| 2 | 3 | 2.57 | 2.15 |
+-------------+--------------+----------------+----------------+
1 row in set (0.00 sec)

mysql> SELECT MOD(5,3), MOD(3,5);


+----------+----------+
| MOD(5,3) | MOD(3,5) |
+----------+----------+
| 2 | 3 |
+----------+----------+
1 row in set (0.00 sec)
Page 14 of 18
● Text functions: UCASE ()/UPPER (), LCASE ()/LOWER (), MID ()/SUBSTRING ()/SUBSTR (), LENGTH (), LEFT (),
RIGHT (), INSTR (), LTRIM (), RTRIM (), TRIM ().

mysql> SELECT UPPER('informatics practices'),UPPER('INFORMATICS PRACTICES');


+--------------------------------+--------------------------------+
| UPPER('informatics practices') | UPPER('INFORMATICS PRACTICES') |
+--------------------------------+--------------------------------+
| INFORMATICS PRACTICES | INFORMATICS PRACTICES |
+--------------------------------+--------------------------------+
1 row in set (0.00 sec)

mysql> SELECT LOWER('informatics practices'),LOWER('INFORMATICS PRACTICES');


+--------------------------------+--------------------------------+
| LOWER('informatics practices') | LOWER('INFORMATICS PRACTICES') |
+--------------------------------+--------------------------------+
| informatics practices | informatics practices |
+--------------------------------+--------------------------------+
1 row in set (0.00 sec)

mysql> SELECT MID("COMPUTER",4,3);


+---------------------+
| MID("COMPUTER",4,3) |
+---------------------+
| PUT |
+---------------------+
1 row in set (0.00 sec)

mysql> SELECT MID("COMPUTER",4);


+-------------------+
| MID("COMPUTER",4) |
+-------------------+
| PUTER |
+-------------------+
1 row in set (0.00 sec)

mysql> SELECT LENGTH("INFORMATICS PRACTICES");


+---------------------------------+
| LENGTH("INFORMATICS PRACTICES") |
+---------------------------------+
| 21 |
+---------------------------------+
1 row in set (0.00 sec)

mysql> SELECT LEFT("INFORMATICS PRACTICES",4);


+---------------------------------+
| LEFT("INFORMATICS PRACTICES",4) |
+---------------------------------+
| INFO |
+---------------------------------+
1 row in set (0.00 sec)

Page 15 of 18
mysql> SELECT RIGHT("INFORMATICS PRACTICES",5);
+----------------------------------+
| RIGHT("INFORMATICS PRACTICES",5) |
+----------------------------------+
| TICES |
+----------------------------------+
1 row in set (0.00 sec)

mysql> SELECT INSTR("INFORMATICS PRACTICES","FOR");


+--------------------------------------+
| INSTR("INFORMATICS PRACTICES","FOR") |
+--------------------------------------+
| 3 |
+--------------------------------------+
1 row in set (0.00 sec)

mysql> SELECT INSTR("INFORMATICS PRACTICES","TO");


+-------------------------------------+
| INSTR("INFORMATICS PRACTICES","TO") |
+-------------------------------------+
| 0 |
+-------------------------------------+
1 row in set (0.00 sec)

mysql> SELECT LTRIM(" COMPUTER ");


+---------------------------+
| LTRIM(" COMPUTER ") |
+---------------------------+
| COMPUTER |
+---------------------------+
1 row in set (0.00 sec)

mysql> SELECT RTRIM(" COMPUTER ");


+---------------------------+
| RTRIM(" COMPUTER ") |
+---------------------------+
| COMPUTER |
+---------------------------+
1 row in set (0.00 sec)

mysql> SELECT TRIM(" COMPUTER ");


+--------------------------+
| TRIM(" COMPUTER ") |
+--------------------------+
| COMPUTER |
+--------------------------+
1 row in set (0.00 sec)

Page 16 of 18
● Date Functions: NOW (), DATE (), MONTH (), MONTHNAME (), YEAR (), DAY (),

mysql> SELECT NOW();

+---------------------+
| NOW() |
+---------------------+
| 2022-03-07 [Link] |
+---------------------+
1 row in set (0.00 sec)

mysql> SELECT DATE(NOW());

+-------------+
| DATE(NOW()) |
+-------------+
| 2022-03-07 |
+-------------+
1 row in set (0.00 sec)

mysql> SELECT DATE("2020-03-07");

+--------------------+
| DATE("2020-03-07") |
+--------------------+
| 2020-03-07 |
+--------------------+
1 row in set (0.00 sec)

mysql> SELECT DAY("2020-03-07");

+-------------------+
| DAY("2020-03-07") |
+-------------------+
| 7 |
+-------------------+
1 row in set (0.00 sec)

mysql> SELECT MONTH("2020-03-07");

+---------------------+
| MONTH("2020-03-07") |
+---------------------+
| 3 |
+---------------------+
1 row in set (0.00 sec)
Page 17 of 18
mysql> SELECT YEAR("2020-03-07");

+--------------------+
| YEAR("2020-03-07") |
+--------------------+
| 2020 |
+--------------------+
1 row in set (0.00 sec)

mysql> SELECT MONTHNAME("2020-03-07");

+-------------------------+
| MONTHNAME("2020-03-07") |
+-------------------------+
| March |
+-------------------------+
1 row in set (0.00 sec)

Page 18 of 18

You might also like