Set 1
Display 9th record from employees table
-- Solution 1 using rowid
select rowid, first_name from employees where rowid =
(
select rowid from employees where rownum <= 9
minus
select rowid from employees where rownum < 9
);
-- Solution 2 using rownum
select * from
(
select rownum r, e.* from employees e where rownum <= 9 order by employee_id
) a where a.r = 9
Display 5 TO 7 records from employees table
-- Solution 1 using rowid
select rowid, first_name from employees where rowid in
(
select rowid from employees where rownum <= 7
minus
select rowid from employees where rownum < 5
);
-- Solution 2 using rownum
select * from
(
select rownum r, e.* from employees e where rownum <= 9 order by employee_id
) a where a.r >= 5 and a.r <= 7
Delete The Repeated Rows from employees table
DELETE FROM employees WHERE rowid NOT IN
(SELECT MIN(rowid) FROM employees GROUP BY ename);
Display the names of the employees who earn highest salary in their respective departments
select * from employees where (DEPARTMENT_ID,salary) in
(select DEPARTMENT_ID, max(salary) from employees group by DEPARTMENT_ID);
Display the names of employees whose names have second alphabet A in their names
SELECT ename FROM emp WHERE ename LIKE ‘_A%’;
Last updated