Saturday, 24 May 2014

SQL Query


SQL Query to find second highest salary of Employee

select MAX(Salary) from Employee WHERE Salary NOT IN (select MAX(Salary) from Employee );



SQL Query to find Max Salary from each department.


SELECT DeptID, MAX(Salary) FROM Employee GROUP BY DeptID.



Write a SQL Query to print the name of distinct  employee whose DOB is between 01/01/1960 to 31/12/1975.

SELECT DISTINCT EmpName FROM Employees WHERE DOB BETWEEN ‘01/01/1960’ AND ‘31/12/1975’;




Write an SQL Query to find employee whose Salary is equal or greater than 10000.

SELECT EmpName FROM Employees WHERE Salary>=10000;



Write an SQL Query to find name of employee whose name Start with ‘M’

SELECT * FROM Employees WHERE EmpName like 'M%';





Find all Employee records containing the word "Joe", regardless of whether it was stored as JOE, Joe, or
joe.


SELECT * from Employees WHERE upper(EmpName) like upper('joe%');





Finding nth highest salary example

SELECT *
FROM Employee Emp1
WHERE (1) = (
SELECT COUNT(DISTINCT(Emp2.Salary))
FROM Employee Emp2

WHERE Emp2.Salary > Emp1.Salary)


Delete multiple duplicate rows ?
OR
How to Delete Duplicate Records in Oracle ?



DELETE FROM your_table
WHERE rowid not in
(SELECT MIN(rowid)
FROM your_table
GROUP BY column1, column2, column3);


delete from emp a where rowid != (select max(rowid) from emp b where  a.empno=b.empno);


No comments:

Post a Comment