hr schema queries

Upload: vemuriraja

Post on 24-Feb-2018

259 views

Category:

Documents


4 download

TRANSCRIPT

  • 7/25/2019 HR Schema Queries

    1/9

    Queries

    1. Display details of jobs where the minimum salary is greater than 10000.

    SELECT * FROM JOBS WHERE MIN_SALARY > 10000

    2. Display the first name and join date of the employees who joined between 2002 and2005.

    SELECT FIRST_NAME, HIRE_DATE FROM EMPLOYEESWHERE TO_CHAR(HIRE_DATE, 'YYYY') BETWEEN 2002 AND 2005 ORDER BYHIRE_DATE

    3. Display first name and join date of the employees who is either IT Programmer orales !an.

    SELECT FIRST_NAME, HIRE_DATEFROM EMPLOYEES WHERE JOB_ID IN ('IT_PRO', 'SA_MAN')

    ". Display employees who joined after 1st #anuary 200$.

    SELECT * FROM EMPLOYEES !"#$# "%$#_ > '01+200'

    5. Display details of employee with ID 150 or 1%0.

    SELECT * FROM EMPLOYEES WHERE EMPLOYEE_ID %+ (150,1-0)

    %. Display first name& salary& 'ommission p't& and hire date for employees with salary

    less than 10000.

    SELECT FIRST_NAME, SALARY, COMMISSION_PCT, HIRE_DATE FROM EMPLOYEESWHERE SALARY . 10000

    (. Display job Title& the differen'e between minimum and ma)imum salaries for jobs

    with ma) salary in the range 10000 to 20000.

    SELECT JOB_TITLE, MA/_SALARYMIN_SALARY DIFFERENCE FROM JOBS WHEREMA/_SALARY BETWEEN 10000 AND 20000

    $. Display first name& salary& and round the salary to thousands.

    SELECT FIRST_NAME, SALARY, ROND(SALARY, ) FROM EMPLOYEES

    *. Display details of jobs in the des'ending order of the title.

    SELECT * FROM JOBS ORDER BY JOB_TITLE

    10.Display employees where the first name or last name starts with .

  • 7/25/2019 HR Schema Queries

    2/9

    SELECT FIRST_NAME, LAST_NAME FROM EMPLOYEES WHERE FIRST_NAME LIE 'S3'OR LAST_NAME LIE 'S3'

    11.Display employees who joined in the month of !ay.

    SELECT * FROM EMPLOYEES WHERE TO_CHAR(HIRE_DATE, 'MON')4 'MAY'

    12.Display details of the employees where 'ommission per'entage is null and salary inthe range 5000 to 10000 and department is 30.

    SELECT * FROM EMPLOYEES WHERE COMMISSION_PCT IS NLL AND SALARY BETWEEN5000 AND 10000 AND DEPARTMENT_ID40

    13.Display first name and date of first salary of the employees.

    SELECT FIRST_NAME, HIRE_DATE, LAST_DAY(HIRE_DATE)1 FROM EMPLOYEES

    1".Display first name and e)perien'e of the employees.

    SELECT FIRST_NAME, HIRE_DATE, FLOOR((SYSDATEHIRE_DATE)6-5)FROMEMPLOYEES

    15.Display first name of employees who joined in 2001.

    SELECT FIRST_NAME, HIRE_DATE FROM EMPLOYEES WHERE TO_CHAR(HIRE_DATE,'YYYY')42001

    1%.Display first name and last name after 'on+erting the first letter of ea'h name toupper 'ase and the rest to lower 'ase.

    SELECT INITCAP(FIRST_NAME), INITCAP(LAST_NAME) FROM EMPLOYEES

    1(.Display the first word in job title.

    SELECT JOB_TITLE, SBSTR(JOB_TITLE,1, INSTR(JOB_TITLE, ' ')1) FROMJOBS

    1$.Display the length of first name for employees where last name 'ontain 'hara'ter ,b-after 3rd position.

    SELECT FIRST_NAME, LAST_NAME FROM EMPLOYEES WHERE INSTR(LAST_NAME,'B') >

    1*.Display first name in upper 'ase and email address in lower 'ase for employeeswhere the first name and email address are same irrespe'ti+e of the 'ase.

    SELECT PPER(FIRST_NAME), LOWER(EMAIL) FROM EMPLOYEES WHEREPPER(FIRST_NAME)4 PPER(EMAIL)

    20.Display employees who joined in the 'urrent year.

  • 7/25/2019 HR Schema Queries

    3/9

    SELECT * FROM EMPLOYEES WHERE TO_CHAR(HIRE_DATE,'YYYY')4TO_CHAR(SYSDATE,'YYYY')

    21.Display the number of days between system date and 1st #anuary 2011.

    SELECT SYSDATE 7_('01+2011') FROM DAL

    22.Display how many employees joined in ea'h month of the 'urrent year.

    SELECT TO_CHAR(HIRE_DATE,'MM'), CONT (*) FROM EMPLOYEESWHERE TO_CHAR(HIRE_DATE,'YYYY')4 TO_CHAR(SYSDATE,'YYYY') ROP BYTO_CHAR(HIRE_DATE,'MM')

    23.Display manager ID and number of employees managed by the manager.

    SELECT MANAER_ID, CONT(*) FROM EMPLOYEES ROP BY MANAER_ID

    2".Display employee ID and the date on whi'h he ended his pre+ious job.

    SELECT EMPLOYEE_ID, MA/(END_DATE) FROM JOB_HISTORY ROP BY EMPLOYEE_ID

    25.Display number of employees joined after 15th of the month.

    SELECT CONT(*) FROM EMPLOYEES WHERE TO_CHAR(HIRE_DATE,'DD') > 15

    2%.Display the 'ountry ID and number of 'ities we ha+e in the 'ountry.

    SELECT CONTRY_ID, CONT(*) FROM LOCATIONS ROP BY CONTRY_ID

    2(.Display a+erage salary of employees in ea'h department who ha+e 'ommission

    per'entage.

    SELECT DEPARTMENT_ID, A8(SALARY) FROM EMPLOYEESWHERE COMMISSION_PCT IS NOT NLL ROP BY DEPARTMENT_ID

    2$.Display job ID& number of employees& sum of salary& and differen'e between highestsalary and lowest salary of the employees of the job.

    SELECT JOB_ID, CONT(*), SM(SALARY), MA/(SALARY)MIN(SALARY) SALARYFROM EMPLOYEES ROP BY JOB_ID

    2*.Display job ID for jobs with a+erage salary more than 10000.

    SELECT JOB_ID, A8(SALARY) FROM EMPLOYEESROP BY JOB_IDHA8IN A8(SALARY)>10000

    30.Display years in whi'h more than 10 employees joined.

    SELECT TO_CHAR(HIRE_DATE,'YYYY') FROM EMPLOYEESROP BY TO_CHAR(HIRE_DATE,'YYYY')

  • 7/25/2019 HR Schema Queries

    4/9

    HA8IN CONT(EMPLOYEE_ID) > 10

    31.Display departments in whi'h more than fi+e employees ha+e 'ommission

    per'entage.

    SELECT DEPARTMENT_ID FROM EMPLOYEES

    WHERE COMMISSION_PCT IS NOT NLLROP BY DEPARTMENT_IDHA8IN CONT(COMMISSION_PCT)>5

    32.Display employee ID for employees who did more than one job in the past.

    SELECT EMPLOYEE_ID FROM JOB_HISTORY ROP BY EMPLOYEE_ID HA8IN CONT(*)> 1

    33.Display job ID of jobs that were done by more than 3 employees for more than 100days.

    SELECT JOB_ID FROM JOB_HISTORYWHERE END_DATESTART_DATE > 100ROP BY JOB_IDHA8IN CONT(*)>

    3".Display department ID& year& and umber of employees joined.

    SELECT DEPARTMENT_ID, TO_CHAR(HIRE_DATE,'YYYY'), CONT(EMPLOYEE_ID)FROM EMPLOYEESROP BY DEPARTMENT_ID, TO_CHAR(HIRE_DATE, 'YYYY')ORDER BY DEPARTMENT_ID

    35.Display departments where any manager is managing more than 5 employees.

    SELECT DISTINCT DEPARTMENT_IDFROM EMPLOYEESROP BY DEPARTMENT_ID, MANAER_IDHA8IN CONT(EMPLOYEE_ID) > 5

    3%./hange salary of employee 115 to $000 if the e)isting salary is less than %000.

    PDATE EMPLOYEES SET SALARY 4 000 WHERE EMPLOYEE_ID 4 115 AND SALARY .-000

    3(. Insert a new employee into employees with all the reuired details.

    INSERT INTO EMPLOYEES (EMPLOYEE_ID, FIRST_NAME, LAST_NAME, EMAIL,PHONE_NMBER, HIRE_DATE,JOB_ID, SALARY, DEPARTMENT_ID)8ALES (209, 'ANELA', 'SNYDER','ANELA',' 215 25 :99',

    SYSDATE, 'SA_MAN', 12000, 0)

    3$.Delete department 20.

  • 7/25/2019 HR Schema Queries

    5/9

    DELETE FROM DEPARTMENTS WHERE DEPARTMENT_ID420

    3*./hange job ID of employee 110 to ITP4 if the employee belongs to department

    10 and the e)isting job ID does not start with IT.

    PDATE EMPLOYEES SET JOB_ID4 'IT_PRO'

    WHERE EMPLOYEE_ID4110 AND DEPARTMENT_ID410 AND NOT JOB_ID LIE 'IT3'

    "0. Insert a row into departments table with manager ID 120 and lo'ation ID in any

    lo'ation ID for 'ity Toyo.

    INSERT INTO DEPARTMENTS (150,'SPORTS',120,1200)

    "1.Display department name and number of employees in the department.

    SELECT DEPARTMENT_NAME, CONT(*) FROM EMPLOYEES NATRAL JOIN DEPARTMENTSROP BY DEPARTMENT_NAME

    "2.Display job title& employee ID& number of days between ending date and startingdate for all jobs in department 30 from job history.

    SELECT EMPLOYEE_ID, JOB_TITLE, END_DATESTART_DATE DAYSFROM JOB_HISTORY NATRAL JOIN JOBSWHERE DEPARTMENT_ID40

    "3.Display department name and manager first name.

    SELECT DEPARTMENT_NAME, FIRST_NAME FROM DEPARTMENTS D JOIN EMPLOYEES EON (D;MANAER_ID4E;EMPLOYEE_ID)

    "".Display department name& manager name& and 'ity.

    SELECT DEPARTMENT_NAME, FIRST_NAME, CITY FROM DEPARTMENTS D JOINEMPLOYEES E ON (D;MANAER_ID4E;EMPLOYEE_ID) JOIN LOCATIONS L SIN(LOCATION_ID)

    "5.Display 'ountry name& 'ity& and department name.

    SELECT CONTRY_NAME, CITY, DEPARTMENT_NAMEFROM CONTRIES JOIN LOCATIONS SIN (CONTRY_ID)JOIN DEPARTMENTS SIN (LOCATION_ID)

    "%.Display job title& department name& employee last name& starting date for all jobs

    from 2000 to 2005.

    SELECT JOB_TITLE, DEPARTMENT_NAME, LAST_NAME, START_DATEFROM JOB_HISTORY JOIN JOBS SIN (JOB_ID) JOIN DEPARTMENTSSIN (DEPARTMENT_ID) JOIN EMPLOYEES SIN (EMPLOYEE_ID)WHERE TO_CHAR(START_DATE,'YYYY') BETWEEN 2000 AND 2005

    "(.Display job title and a+erage salary of employees

  • 7/25/2019 HR Schema Queries

    6/9

    SELECT JOB_TITLE, A8(SALARY) FROM EMPLOYEESNATRAL JOIN JOBS ROP BY JOB_TITLE

    "$.Display job title& employee name& and the differen'e between ma)imum salary forthe job and salary of the employee.

    SELECT JOB_TITLE, FIRST_NAME, MA/_SALARYSALARY DIFFERENCE FROMEMPLOYEES NATRAL JOIN JOBS

    "*.Display last name& job title of employees who ha+e 'ommission per'entage andbelongs to department 30.

    SELECT JOB_TITLE, FIRST_NAME, MA/_SALARYSALARY DIFFERENCE FROMEMPLOYEES NATRAL JOIN JOBS WHERE DEPARTMENT_ID 4 0

    50.Display details of jobs that were done by any employee who is 'urrently drawingmore than 15000 of salary.

    SELECT JH;*FROM JOB_HISTORY JH JOIN EMPLOYEES E ON (JH;EMPLOYEE_ID 4E;EMPLOYEE_ID)WHERE SALARY > 15000

    51.Display department name& manager name& and salary of the manager for allmanagers whose e)perien'e is more than 5 years.

    SELECT DEPARTMENT_NAME, FIRST_NAME, SALARYFROM DEPARTMENTS D JOIN EMPLOYEES E ON (D;MANAER_ID4E;MANAER_ID)WHERE (SYSDATEHIRE_DATE) 6 -5 > 5

    52.Display employee name if the employee joined before his manager.

    SELECT FIRST_NAME FROM EMPLOYEES E1 JOIN EMPLOYEES E2 ON(E1;MANAER_ID4E2;EMPLOYEE_ID)WHERE E1;HIRE_DATE . E2;HIRE_DATE

    53.Display employee name& job title for the jobs employee did in the past where the job

    was done less than si) months.

    SELECT FIRST_NAME, JOB_TITLE FROM EMPLOYEES E JOIN JOB_HISTORY JH ON(JH;EMPLOYEE_ID 4 E;EMPLOYEE_ID) JOIN JOBS J ON( JH;JOB_ID 4 J;JOB_ID)WHERE MONTHS_BETWEEN(END_DATE,START_DATE) . -

    5".Display employee name and 'ountry in whi'h he is woring.

    SELECT FIRST_NAME, CONTRY_NAME FROM EMPLOYEES JOIN DEPARTMENTSSIN(DEPARTMENT_ID)JOIN LOCATIONS SIN( LOCATION_ID)JOIN CONTRIES SIN ( CONTRY_ID)

    55.Display department name& a+erage salary and number of employees with'ommission within the department.

  • 7/25/2019 HR Schema Queries

    7/9

    SELECT DEPARTMENT_NAME, A8(SALARY), CONT(COMMISSION_PCT)FROM DEPARTMENTS JOIN EMPLOYEES SIN (DEPARTMENT_ID)ROP BY DEPARTMENT_NAME

    5%.Display the month in whi'h more than 5 employees joined in any department lo'ated

    in ydney.

    SELECT TO_CHAR(HIRE_DATE,'MONYY')FROM EMPLOYEES JOIN DEPARTMENTS SIN (DEPARTMENT_ID) JOIN LOCATIONSSIN (LOCATION_ID)WHERE CITY 4 'S#10000)

    5$.Display details of departments managed by ,mith-.

    SELECT * FROM DEPARTMENTS WHERE MANAER_ID IN(SELECT EMPLOYEE_ID FROM EMPLOYEES WHERE FIRST_NAME4'SMITH')

    5*.Display jobs into whi'h employees joined in the 'urrent year.

    SELECT * FROM JOBS WHERE JOB_ID IN(SELECT JOB_ID FROM EMPLOYEES WHERE

    TO_CHAR(HIRE_DATE,'YYYY')4TO_CHAR(SYSDATE,'YYYY'))

    %0.Display employees who did not do any job in the past.

    SELECT * FROM EMPLOYEES WHERE EMPLOYEE_ID NOT IN(SELECT EMPLOYEE_ID FROM JOB_HISTORY)

    %1.Display job title and a+erage salary for employees who did a job in the past.

    SELECT JOB_TITLE, A8(SALARY) FROM JOBS NATRAL JOIN EMPLOYEESROP BY JOB_TITLEWHERE EMPLOYEE_ID IN (SELECT EMPLOYEE_ID FROM JOB_HISTORY)

    %2.Display 'ountry name& 'ity& and number of departments where department has more

    than 5 employees.

    SELECT CONTRY_NAME, CITY, CONT(DEPARTMENT_ID)FROM CONTRIES JOIN LOCATIONS SIN (CONTRY_ID) JOIN DEPARTMENTS SIN(LOCATION_ID)WHERE DEPARTMENT_ID IN

    (SELECT DEPARTMENT_ID FROM EMPLOYEES

  • 7/25/2019 HR Schema Queries

    8/9

    ROP BY DEPARTMENT_IDHA8IN CONT(DEPARTMENT_ID)>5)

    ROP BY CONTRY_NAME, CITY=

    %3.Display details of manager who manages more than 5 employees.

    SELECT FIRST_NAME FROM EMPLOYEESWHERE EMPLOYEE_ID IN(SELECT MANAER_ID FROM EMPLOYEESROP BY MANAER_IDHA8IN CONT(*)>5)

    %".Display employee name& job title& start date& and end date of past jobs of all

    employees with 'ommission per'entage null.

    SELECT FIRST_NAME, JOB_TITLE, START_DATE, END_DATEFROM JOB_HISTORY JH JOIN JOBS J SIN (JOB_ID) JOIN EMPLOYEES E ON( JH;EMPLOYEE_ID 4 E;EMPLOYEE_ID)

    WHERE COMMISSION_PCT IS NLL

    %5.Display the departments into whi'h no employee joined in last two years.

    SELECT * FROM DEPARTMENTSWHERE DEPARTMENT_ID NOT IN( SELECT DEPARTMENT_ID FROM EMPLOYEES WHERE FLOOR((SYSDATEHIRE_DATE)6-5) . 2)

    %%.Display the details of departments in whi'h the ma) salary is greater than 10000 foremployees who did a job in the past.

    SELECT * FROM DEPARTMENTSWHERE DEPARTMENT_ID IN(SELECT DEPARTMENT_ID FROM EMPLOYEESWHERE EMPLOYEE_ID IN (SELECT EMPLOYEE_ID FROM JOB_HISTORY)ROP BY DEPARTMENT_IDHA8IN MA/(SALARY) >10000)

    %(.Display details of 'urrent job for employees who wored as IT Programmers in the

    past.

    SELECT * FROM JOBSWHERE JOB_ID IN(SELECT JOB_ID FROM EMPLOYEES WHERE EMPLOYEE_ID IN

    (SELECT EMPLOYEE_ID FROM JOB_HISTORY WHERE JOB_ID4'IT_PRO'))

    %$.Display the details of employees drawing the highest salary in the department.

    SELECT DEPARTMENT_ID,FIRST_NAME, SALARY FROM EMPLOYEES OTER WHERESALARY 4

    (SELECT MA/(SALARY) FROM EMPLOYEES WHERE DEPARTMENT_ID 4OTER;DEPARTMENT_ID)

  • 7/25/2019 HR Schema Queries

    9/9

    %*.Display the 'ity of employee whose employee ID is 105.

    SELECT CITY FROM LOCATIONS WHERE LOCATION_ID 4(SELECT LOCATION_ID FROM DEPARTMENTS WHERE DEPARTMENT_ID 4

    (SELECT DEPARTMENT_ID FROM EMPLOYEES WHEREEMPLOYEE_ID4105)

    )

    (0.Display third highest salary of all employees

    #