You are on page 1of 2

Q)how to counnt the columns?

a)select count(*) from all_tab_columns where table_name='EMP'; (OR)


Select count(*) from user_tab_columns where table_name='EMP';

Q) how to find 4th record of the table ?

a) select * from emp where rownum<=4


minus
select * from emp where rownum<=3;

Q) HOW TO FIND OUT THE 2ND HIGHEST SALARY IN EMP ?

A) SELECT ENAME,SAL,EMPNO FROM EMP WHERE SAL=(SELECT MAX(SAL) FROM EMP WHERE SAL < (SELECT
MAX(SAL) FROM EMP));

Q) how to find the nth row from a table


for example table having14 recoreds i want to display last record ?

A) SELECT *FROM EMP WHERE ROWID=(SELECT MAX(ROWID) FROM EMP);

Q) how to fiend the nth row from a table


for example table having14 recoreds i want to display first record ?

A) SELECT *FROM EMP WHERE ROWID=(SELECT MIN(ROWID) FROM EMP);

Q)HOW TO FIND OUT ONLY EVEN RECORDS IN TABLE ?

A) SELECT *FROM EMP WHERE (ROWID,0) IN (SELECT ROWID, MOD(ROWNUM,2) FROM EMP);

Q)HOW TO FIND OUT ONLY ODD RECORDS IN TABLE ?

A) SELECT *FROM EMP WHERE (ROWID,1) IN (SELECT ROWID, MOD(ROWNUM,2) FROM EMP);

Q) HOW TO FIND THE MAX SALARIES EACH DEPTNO ?

A)SELECT *FROM EMP WHERE SAL IN (SELECT MAX(SAL) FROM EMP GROUP BY DEPTNO);

Q) HOW TO FIND THE EMP EXPERIENCE ?

A) SELECT ENAME,EMPNO,MONTHS_BETWEEN(SYSDATE,HIREDATE)/12 EXPERIENCE FROM EMP;

Q)HOW TO FIND WHICH EMPLOYEE JOIN IN PERTICULAR MONTH?

A) SELECT *FROM EMP WHERE TO_CHAR(HIREDATE,'MON')='JAN';

Q)DISPLAY LAST 3 SAL?

A) SELECT *FROM(SELECT *FROM EMP ORDER BY SAL ASC)WHERE ROWNUM<=3;

Q)DISPLAY FIRST 3 MAX SAL?

A) SELECT *FROM(SELECT *FROM EMP ORDER BY SAL DESC)WHERE ROWNUM<=3;

Q) Removing Duplicate records :

A) Delete from emp where rowid not in ( select min(rowid) from emp group by empno);
Q) Retrive all rows except Last Record
SQL> select empno,ename,sal,deptno from emp
where rowid not in
(select max(rowid) from emp);

Q) Update all rows except First row in Table.


SQL>Update emp set sal = sal + 2500 where rowid not in (select min(rowid) from emp);

Q) Retrieving Top 5 Highly paid Employees

A) SELECT *FROM EMP A WHERE 5>=(SELECT COUNT(DISTINCT SAL) FROM EMP B


WHERE A.SAL<=B.SAL);

You might also like