SQL Queries
SQL Queries
Date:27/08/07
14 rows selected.
Q2: Write a query to display unique jobs from the employee table.
JOB
---------
CLERK
SALESMAN
PRESIDENT
MANAGER
ANALYST
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 selected.
Q4: Write a query to display all data from employee table separate
each column by a comma and name the column THE_OUTPUT.
SQL> SELECTempno||','||ename||','||job||','||mgr||','||
hiredate||','||comm||','||deptno
2 THE_OUTPUT
3 FROM emp;
THE_OUTPUT
--------------------------------------------------------------------------------
7369,SMITH,CLERK,7902,17-DEC-80,,20
7499,ALLEN,SALESMAN,7698,20-FEB-81,300,30
7521,WARD,SALESMAN,7698,22-FEB-81,500,30
7566,JONES,MANAGER,7839,02-APR-81,,20
7654,MARTIN,SALESMAN,7698,28-SEP-81,1400,30
7698,BLAKE,MANAGER,7839,01-MAY-81,,30
7782,CLARK,MANAGER,7839,09-JUN-81,,10
7788,SCOTT,ANALYST,7566,19-APR-87,,20
7839,KING,PRESIDENT,,17-NOV-81,,10
7844,TURNER,SALESMAN,7698,08-SEP-81,0,30
7876,ADAMS,CLERK,7788,23-MAY-87,,20
7900,JAMES,CLERK,7698,03-DEC-81,,30
7902,FORD,ANALYST,7566,03-DEC-81,,20
7934,MILLER,CLERK,7782,23-JAN-82,,10
ENAME SAL
---------- ----------
JONES 2975
SCOTT 3000
KING 5000
FORD 3000
Q6: Write a query to display the name and department number for
employee number 7900.
SQL> SELECT ename,deptno
2 FROM emp
3 WHERE empno = 7900;
ENAME DEPTNO
---------- ----------
JAMES 30
Q7: Write a query to display the name and the salary for all
employees whose salary is not in the range of $1500 and
$2850.
ENAME SAL
---------- ----------
SMITH 800
WARD 1250
JONES 2975
MARTIN 1250
SCOTT 3000
KING 5000
ADAMS 1100
JAMES 950
FORD 3000
MILLER 1300
10 rows selected.
ENAME DEPTNO
---------- ----------
ALLEN 30
BLAKE 30
CLARK 10
JAMES 30
KING 10
MARTIN 30
MILLER 10
TURNER 30
WARD 30
9 rows selected.
ENAME SAL
---------- ----------
ALLEN 1600
BLAKE 2850
CLARK 2450
KING 5000
ENAME HIREDATE
---------- ---------
ALLEN 20-FEB-81
WARD 22-FEB-81
JONES 02-APR-81
MARTIN 28-SEP-81
BLAKE 01-MAY-81
CLARK 09-JUN-81
KING 17-NOV-81
TURNER 08-SEP-81
JAMES 03-DEC-81
FORD 03-DEC-81
10 rows selected.
Q12: Write a query to display the name and job of all employees
who do not have a manger.
Q14: Write a query to display the name of all employees where the
third letter of their name is A.
ENAME
----------
BLAKE
CLARK
ADAMS
Q15 : Write a query to display the names of all employees that has 2
R’s or A’s in their name and are in department number 30 or
their manger is 7788.
ENAME
----------
TURNER
ADAMS
Q16: Write a query to display the name ,job and salary of all
employees where job is Clerk or Analyst and their salary
are not equal to 1000,3000 or 5000.
Q17: Write a query to display the name salary and commission for
all employees whose commission amount is greater than their
salary increased by 5%.
SYSDATE
---------
27-AUG-07
14 rows selected.
14 rows selected.
14 rows selected.
Q22: Write a query to display the employee name and calculate the
number of months between today and the date the employee
was hired.
SQL> SELECT ename,round(months_between(sysdate,hiredate)) Mnthsbet
2 FROM emp;
ENAME MNTHSBET
---------- ----------
SMITH 320
ALLEN 318
WARD 318
JONES 317
MARTIN 311
BLAKE 316
CLARK 315
SCOTT 244
KING 309
TURNER 312
ADAMS 243
JAMES 309
FORD 309
MILLER 307
14 rows selected.
DREAM_SALARY
--------------------------------------------------------------------------------
SMITH earns 800 monthly but wants 2400
ALLEN earns 1600 monthly but wants 4800
WARD earns 1250 monthly but wants 3750
JONES earns 2975 monthly but wants 8925
MARTIN earns 1250 monthly but wants 3750
BLAKE earns 2850 monthly but wants 8550
CLARK earns 2450 monthly but wants 7350
SCOTT earns 3000 monthly but wants 9000
KING earns 5000 monthly but wants 15000
TURNER earns 1500 monthly but wants 4500
ADAMS earns 1100 monthly but wants 3300
JAMES earns 950 monthly but wants 2850
FORD earns 3000 monthly but wants 9000
MILLER earns 1300 monthly but wants 3900
14 rows selected.
Q24: Write a query to display the name and salary for all
employees. Format the salary to be 15 character long, left
padded with $ sign.
ENAME LENGTH
---------- ----------
Allen 5
Jones 5
Martin 6
Adams 5
James 5
Miller 6
6 rows selected.
Q25: Write a query to display the employees name with the first
letter capitalized and all other letters lower case and length of
their name for all employees whose name start with J,A and M.
ENAME LENGTH
---------- ----------
Allen 5
Jones 5
Martin 6
Adams 5
James 5
Miller 6
6 rows selected.
Q26: Write a query to display the name, hiredate and day of the
week on which the employee started.
ENAME COMM
---------- ------------------------
SMITH No Commission
ALLEN 300
WARD 500
JONES No Commission
MARTIN 1400
BLAKE No Commission
CLARK No Commission
SCOTT No Commission
KING No Commission
TURNER No Commission
ADAMS No Commission
ENAME COMM
---------- -------------------------
JAMES No Commission
FORD No Commission
MILLER No Commission
14 rows selected.
14 rows selected.
Q29: Write a querry to display unique listing of all jobs that are in
department number 30.
JOB
---------
SALESMAN
CLERK
MANAGER
ENAME DNAME
---------- --------------
ALLEN SALES
WARD SALES
MARTIN SALES
BLAKE SALES
CLARK ACCOUNTING
ADAMS RESEARCH
JAMES SALES
7 rows selected.
13 rows selected.
Q.34 Write a query to display the employee name& employee number along with their
manager's name,manager's number
along with the employees who donot have a manager?
14 rows selected.
28 rows selected.
14 rows selected.
Q37
SQL> SELECT ename,hiredate
2 FROM emp
3 WHERE hiredate>
4 (SELECT hiredate
5 FROM emp
6 WHERE ename='BLAKE');
ENAME HIREDATE
---------- ---------
MARTIN 28-SEP-81
CLARK 09-JUN-81
SCOTT 19-APR-87
KING 17-NOV-81
TURNER 08-SEP-81
ADAMS 23-MAY-87
JAMES 03-DEC-81
FORD 03-DEC-81
MILLER 23-JAN-82
9 rows selected.
Q38
SQL>SELECT e.ename e_name,e.hiredate e_hiredate,m.ename
m_name,m.hiredate m_hiredate
2 FROM emp e,emp m
3 WHERE m.empno=e.mgr AND
MONTHS_BETWEEN(e.hiredate,m.hiredate)<0;
6 rows selected.
Q.39 Write a query to display the employees' name& the amount of the salaries of the
employees are indicated through
asterisks.Each asterisk signifies a hundred dollars?
14 rows selected.
Q40
SQL>SELECT MAX(sal) high_sal,MIN(sal) low_sal,SUM(sal) sum_sal,AVG(sal)
avg_sal
2 FROM emp;
Q41
SQL>SELECT job,MAX(sal) max_sal,MIN(sal) min_sal,SUM(sal)
sum_sal,ROUND(AVG(sal)) avg_sal
2 FROM emp
3 GROUP BY job;
Q42
SQL> SELECT job,COUNT(EMPNO) employees
2 FROM emp
3 GROUP BY job;
JOB EMPLOYEES
--------- ------------
ANALYST 2
CLERK 4
MANAGER 3
PRESIDENT 1
SALESMAN 4
Q43
SQL> SELECT COUNT (DISTINCT mgr) managers
2 FROM emp;
MANAGERS
----------
6
Q44
SQL> SELECT MAX(sal)-MIN(sal) diff_sal
2 FROM emp;
DIFF_SAL
----------
4200
Q45
SQL> SELECT mgr,MIN(sal) m_sal
2 FROM emp
3 GROUP BY mgr
4 HAVING MIN(sal)>1000 AND mgr IS NOT NULL;
MGR M_SAL
---------- ----------
7566 3000
7782 1300
7788 1100
7839 2450
Q47
SQL> SELECT ename,hiredate
2 FROM emp
3 WHERE deptno =
4 (SELECT deptno
5 FROM emp
6 WHERE ename='BLAKE');
ENAME HIREDATE
---------- ---------
ALLEN 20-FEB-81
WARD 22-FEB-81
MARTIN 28-SEP-81
BLAKE 01-MAY-81
TURNER 08-SEP-81
JAMES 03-DEC-81
6 rows selected.
Q48
SQL> SELECT empno,ename
2 FROM emp
3 WHERE sal >
4 (SELECT AVG(sal)
5 FROM emp);
EMPNO ENAME
---------- ----------
7566 JONES
7698 BLAKE
7782 CLARK
7788 SCOTT
7839 KING
7902 FORD
6 rows selected.
Q49
SQL> SELECT empno,ename
2 FROM emp
3 WHERE deptno = ANY
4 (SELECT deptno
5 FROM emp
6 WHERE ename LIKE '%T%');
EMPNO ENAME
---------- ----------
7369 SMITH
7876 ADAMS
7902 FORD
7788 SCOTT
7566 JONES
7499 ALLEN
7698 BLAKE
7654 MARTIN
7900 JAMES
7844 TURNER
7521 WARD
11 rows selected.
Q50
SQL> SELECT ename,sal
2 FROM emp
3 WHERE mgr =
4 (SELECT empno
5 FROM emp
6 WHERE ename='KING');
ENAME SAL
---------- ----------
JONES 2975
BLAKE 2850
CLARK 2450
Q51
SQL> SELECT e.deptno,ename,job
2 FROM emp e,dept d
3 WHERE e.deptno=d.deptno AND dname='SALES';
6 rows selected.
Q52
SQL>SELECT empno,ename,sal
2 FROM emp
3 WHERE sal >
4 (SELECT AVG(sal)
5 FROM emp)
6 AND deptno = ANY
7 (SELECT deptno
8 FROM emp
9 WHERE ename LIKE '%T%');
Q53
SQL>SELECT ename,deptno,sal
2 FROM emp
3 WHERE deptno = ANY
4 (SELECT deptno
5 FROM emp
6 WHERE comm <>0)
7 AND
8 sal = ANY
9 (SELECT sal
10 FROM emp
11 WHERE comm <>0);
Q54
SQL> SELECT *
2 FROM emp
3 WHERE sal > ANY
4 (SELECT sal
5 FROM emp
6 WHERE job = 'CLERK');
13 rows selected.