In the realm of SQL, efficiently querying and managing employee data can significantly streamline your tasks. Below are some essential SQL queries you might find useful for various scenarios:
Display Employees Whose Name Starts with 'M'
sqlSELECT * FROM emp WHERE ename LIKE 'M%';
Display Employees Whose Second Letter of Name Is 'L'
sqlSELECT * FROM emp WHERE ename LIKE '_L%';
Display the First Date of the Current Month Using predefined date functions:
sqlSELECT LAST_DAY(ADD_MONTHS(SYSDATE, -1)) + 1 FROM dual;
Display Employees Who Joined in December
sqlSELECT * FROM emp WHERE TO_CHAR(HIREDATE, 'MON') = 'DEC';
Skip the First Five Rows and Display Remaining Rows
sqlSELECT * FROM (SELECT ROWNUM r, ename, sal FROM emp) WHERE r > 5;
Display the Junior Most Employee
sqlSELECT * FROM emp WHERE hiredate = (SELECT MAX(hiredate) FROM emp);
Display Employees with the Minimum Salary in Each Department
sqlSELECT * FROM emp WHERE (deptno, sal) IN (SELECT deptno, MIN(sal) FROM emp GROUP BY deptno);
Display the Last Four Rows
sqlSELECT * FROM emp MINUS SELECT * FROM emp WHERE ROWNUM <= (SELECT COUNT(*) - 4 FROM emp);
Display the First and Last Row
sqlSELECT * FROM (SELECT ROWNUM r, ename, sal FROM emp) WHERE r = 1 OR r = (SELECT COUNT(*) FROM emp);
Display Records with Odd Row Numbers
sqlSELECT * FROM (SELECT ROWNUM r, ename, sal FROM emp) WHERE MOD(r, 2) = 1;
Display Records with Even Row Numbers
sqlSELECT * FROM (SELECT ROWNUM r, ename, sal FROM emp) WHERE MOD(r, 2) = 0;
Display the 5th Highest Salary
sqlSELECT * FROM (SELECT ROWNUM r, ename, sal FROM (SELECT * FROM emp ORDER BY sal DESC)) WHERE r = 5;
Display the nth Highest Salary Using Correlated Subquery
sqlSELECT * FROM emp e1 WHERE &n = (SELECT COUNT(DISTINCT(sal)) FROM emp e2 WHERE e2.sal >= e1.sal);
Display the First Ten Rows
sqlSELECT * FROM emp WHERE ROWNUM <= 10;
Display the Top Five Highest Salary Employees
sqlSELECT * FROM (SELECT * FROM emp ORDER BY sal DESC) WHERE ROWNUM <= 5;
Display Rows with Specific Numbers (2nd, 3rd, 4th, 5th, 7th, 9th)
sqlSELECT * FROM (SELECT ROWNUM r, ename, sal FROM emp) WHERE r IN (2, 3, 4, 5, 7, 9);
Display the Second Row
sqlSELECT * FROM (SELECT ROWNUM r, ename, sal FROM emp) WHERE r = 2;
Display Salaries from Highest to Lowest in Each Department Using ROW_NUMBER()
sqlSELECT deptno, ename, sal, ROW_NUMBER() OVER (PARTITION BY deptno ORDER BY sal DESC) r FROM emp;
Mastering these queries will empower you to efficiently extract and analyze data from your employee tables, aiding in insightful decision-making and management.
No comments:
Post a Comment