Monday, July 29, 2013

How to find k th row from bottom in a table in SQL

Refer table click here for this post. Table name is emp, to display kth row from bottom
we need to run the following command

select ename,sal from emp e1 where (select count(*) from emp e2 where e1.rowid <= e2.rowid)=4;

the inner query finds the row which has 4 rows below it using rowid keyword in sql.

How to display first k rows in SQL

To display first k rows from a table make use of rownum keyword which initially has value 0 and gets incremented by one when it moves to next row.

Here is the example to display first three rows from emp table.

select *from emp where rownum < 4

Sunday, July 28, 2013

Find maximum salary in each department

we will use the table displayed below for further post unless and otherwise mentioned. table emp contains five column eno(employee number),ename(employee name),sal(employee salary),deptno(employee's department number),mgr(employee's manager number).

the below query displays name of each employee,salary and deptno who are having maximum salary in their department.

Granting and retrieving privileges in oracle

if we want to assign some privilege to some user say "sonu" then we can assign privilege using command GRANT

grant privilege_name on table_name to user_name;
if there are multiple privileges then seperate using commas.
in the figure it's assigning all privileges to user "sonu"

 similarly we can retrieve privilege using revoke command which is shown in the below figure.