Practice Lessons 1 - SQL
Practice Lessons 1 - SQL
1. There are four coding errors in this statement. Can you identify them?
SELECT employee_id, last_name
sal x 12 ANNUAL SALARY
FROM employee;
2. Show the structure of Department table and Select all data from that table.
3. Create a query to display unique job codes from the EMPLOYEES table.
4. Display the last name concatenated with the job ID , separated by a comma and
space, and name the column Employee and Title.
Employee and Title
King, AD_PRES
Rajs, ST_CLERK
Davies, ST_CLERK
5. Show the employees that have no commission with a 10% raise in their salary
(round off the salary)
New Salary
The salary of King after a 10% raise is 26400
6. Show those employees that have a name starting with J, K, L, or M.
Practice Lesson #2
7. Create a query to display the last name and salary of employees earning more than
$12000
8. Display the last name and salary for all employee whose salary is not in the range
of $5000 and $12000.
9. Display the last name and department number for all employees in department 20
and 30 in alphabetic order.
10. Display the last name and hire date of every employee who was hired in 1994.
11. Display the last name of all employee who have an a and an e in their last
name.
Practice Lesson #3
12. Create a query to display the last name and salary for all employees. Format the
salary to be 15 char long, left padded with $. Label the column Salary.
13. Create a query that displays the employees last name and commission amount. If
an employee does not earn commission, put No Commission. Label the column
COMM.
Practice Lesson #4
14. Write a query to display the last name, department number, and department name
for all employees.
15. Write a query to display the employee last name, department name, location ID,
and city of all employees who earn a commission.
16. Create a query to display the name and hire date of any employee hired after
employee Davies.
17. Display the names and hire dates for all employees who ware hired before their
managers, along with their managers name and hire dates. Label the columns
Employee, Emp Hired, Manager, and Mgr Hired, respectively.
Practice Lesson #5
18. Display highest, lowest, sum and average salary of all employees. Label the
columns Maximum, Minimum, Sum, and Average respectively. Round your result
to the nearest whole number.
19. Modify the above query to display the minimum, maximum, sum, and average
salary for each job type.
20. Write a query to display the number of people with the same job.
21. Create a query that will display the total number of employees and of that total,
the number of employees hired in 1995, 1996, 1997, and 1998.
Practice Lesson #6
22. Create a query to display the employee number and last names of all employees
who earn more than the average salary. Sort the results in ascending order of
salary.
Do Case Study << 1 -7 >>
Practice Lesson #7
23. Create a view called EMPLOYEE_VU based on the employee_number,
employee_name, and department_number from the EMPLOYEES table. Change
the heading for the employee_name to EMPLOYEE.
24. Select the view name and text from the USER_VIEWS data dictionary view.
25. Using your EMPLOYEE_VU view, enter a query to display all employee names
and department numbers.
26. Create a view called SALARY_VU based on the employee last names,
department names, salaries, and salary grades for all employees. Use the
EMPLOYEE, DEPARTMENTS, JOB_GRADE tables. Label the columns
Employee, Department, Salary, and Grade respectively.
Case Study #8
Practice Lesson #8
27. Create a sequence to be used with the primary key column of the DEPT table. The
sequence should be start at 200 and have a maximum value of 1000.have your
sequence increment by ten numbers. Name the sequence DEPT_ID_SEQ.
28. Write a query to display the following information about your sequence
sequence name, maximum value, increment size, and last number.
SEQUENCE_NAME
DEPARTMENT_SEQ
DEPT_ID_SEQ
MAX_VALUE
9990
1000
INCREMENT_BY
10
10
LAST_NUMBER
280
200
29. Create a non-unique index on the foreign key column (DEPT_ID) in the EMP
table.
30. Display the indexes and uniqueness that exist in the data dictionary for the EMP
table.
INDEX_NAME
EMP_DEPT_ID_IDX
MY_EMP_ID_PK
TABLE_NAME
EMP
EMP
UNIQUENESS
NONUNIQUE
UNIQUE
Practice Lesson #9
31. Create a synonym for the other teams DEPARTMENTS table.
32. Query all the rows in the other teams DEPARTMENTS table by using your
synonym.
33. Query the USER_TABLES data dictionary to see information about the tables that
you own.
Practice Lesson #10
34. Last names and department ID of all the employees from the EMPLOYEES from
the EMPLOYEES table, regardless of whether or not they belong to any
department or not.
35. Department ID and department name of all the departments from the
DEPARTMENTS table, regardless of whether or not they have employees
working in them.
Practice Lesson #11
36. Write a query to display the DBTIMEZONE and SESSIONTIMEZONE.
37. Write a query to extract the YEAR from HIRE_DATE column of the
EMPLOYEES table for those employee who work in dept 80.
38. Alter the session to set the NLS_DATE_FORMAT to DD-MON-YYYY.
SALARY
5800
9000
11000
..
24000
DEPTNO
50
60
80
..
90
DEPT_AVG
3500
6400
10033.3333
..
19333.3333