Sqlpractise
Sqlpractise
2. Display the first name and join date of the employees who joined between 2002 and 2005.
3. Display first name and join date of the employees who is either IT Programmer or Sales Man.
6. Display first name, salary, commission pct, and hire date for employees with salary less than 10000.
7. Display job Title, the difference between minimum and maximum salaries for jobs with max salary in the range 10000 to
20000.
10. Display employees where the first name or last name starts with S.
12. Display details of the employees where commission percentage is null and salary in the range 5000 to 10000 and department
is 30.
SELECT * FROM EMPLOYEES WHERE COMMISSION_PCT IS NULL AND SALARY
BETWEEN 5000 AND 10000 AND DEPARTMENT_ID=30
13. Display first name and date of first salary of the employees.
16. Display first name and last name after converting the first letter of each name to upper case and the rest to lower case.
18. Display the length of first name for employees where last name contain character ‘b’ after 3rd position.
19. Display first name in upper case and email address in lower case for employees where the first name and email address are
same irrespective of the case.
21. Display the number of days between system date and 1st January 2011.
22. Display how many employees joined in each month of the current year.
24. Display employee ID and the date on which he ended his previous job.
26. Display the country ID and number of cities we have in the country.
27. Display average salary of employees in each department who have commission percentage.
28. Display job ID, number of employees, sum of salary, and difference between highest salary and lowest salary of the
employees of the job.
29. Display job ID for jobs with average salary more than 10000.
GROUP BY TO_CHAR(HIRE_DATE,'YYYY')
HAVING COUNT(EMPLOYEE_ID) > 10
31. Display departments in which more than five employees have commission percentage.
32. Display employee ID for employees who did more than one job in the past.
33. Display job ID of jobs that were done by more than 3 employees for more than 100 days.
FROM EMPLOYEES
GROUP BY DEPARTMENT_ID, TO_CHAR(HIRE_DATE, 'YYYY')
ORDER BY DEPARTMENT_ID
35. Display departments where any manager is managing more than 5 employees.
36. Change salary of employee 115 to 8000 if the existing salary is less than 6000.
37. Insert a new employee into employees with all the required details.
39. Change job ID of employee 110 to IT_PROG if the employee belongs to department 10 and the existing job ID does not start
with IT.
40. Insert a row into departments table with manager ID 120 and location ID in any location ID for city Tokyo.
42. Display job title, employee ID, number of days between ending date and starting date for all jobs in department 30 from job
history.
SELECT EMPLOYEE_ID, JOB_TITLE, END_DATE-START_DATE DAYS
46. Display job title, department name, employee last name, starting date for all jobs from 2000 to 2005.
48. Display job title, employee name, and the difference between maximum salary for the job and salary of the employee.
49. Display last name, job title of employees who have commission percentage and belongs to department 30.
50. Display details of jobs that were done by any employee who is currently drawing more than 15000 of salary.
SELECT JH.*
FROM JOB_HISTORY JH JOIN EMPLOYEES E ON (JH.EMPLOYEE_ID =
E.EMPLOYEE_ID)
WHERE SALARY > 15000
51. Display department name, manager name, and salary of the manager for all managers whose experience is more than 5
years.
SELECT DEPARTMENT_NAME, FIRST_NAME, SALARY
FROM DEPARTMENTS D JOIN EMPLOYEES E ON (D.MANAGER_ID=E.MANAGER_ID)
WHERE (SYSDATE-HIRE_DATE) / 365 > 5
52. Display employee name if the employee joined before his manager.
53. Display employee name, job title for the jobs employee did in the past where the job was done less than six months.
55. Display department name, average salary and number of employees with commission within the department.
GROUP BY DEPARTMENT_NAME
56. Display the month in which more than 5 employees joined in any department located in Sydney.
SELECT TO_CHAR(HIRE_DATE,'MON-YY')
FROM EMPLOYEES JOIN DEPARTMENTS USING (DEPARTMENT_ID)
JOIN LOCATIONS USING (LOCATION_ID)
WHERE CITY = 'Seattle'
GROUP BY TO_CHAR(HIRE_DATE,'MON-YY')
HAVING COUNT(*) > 5
57. Display details of departments in which the maximum salary is more than 10000.
60. Display employees who did not do any job in the past.
61. Display job title and average salary for employees who did a job in the past.
GROUP BY JOB_TITLE
WHERE EMPLOYEE_ID IN
62. Display country name, city, and number of departments where department has more than 5 employees.
64. Display employee name, job title, start date, and end date of past jobs of all employees with commission percentage null.
65. Display the departments into which no employee joined in last two years.
67. Display details of current job for employees who worked as IT Programmers in the past.
68. Display the details of employees drawing the highest salary in the department.
select salary
from employees main
where 2 = (select count( distinct salary )
from employees
where salary > main.salary)
PL/SQL Programs