100% found this document useful (1 vote)
1K views

Assignment Database Develepor: Chapter # 01 (Writing Basic SQL Select Statement)

This document contains the details of database development assignments for various chapters on SQL queries. It lists multiple SELECT queries assigned as exercises to retrieve data from tables to select, restrict, sort, use functions and aggregate data. The queries join data from tables like employees, departments, jobs to display details of employees and relationships between tables.

Uploaded by

BalachandraKS
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
1K views

Assignment Database Develepor: Chapter # 01 (Writing Basic SQL Select Statement)

This document contains the details of database development assignments for various chapters on SQL queries. It lists multiple SELECT queries assigned as exercises to retrieve data from tables to select, restrict, sort, use functions and aggregate data. The queries join data from tables like employees, departments, jobs to display details of employees and relationships between tables.

Uploaded by

BalachandraKS
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 12

ASSIGNMENT DATABASE DEVELEPOR

CHAPTER # 01 ( WRITING BASIC SQL SELECT STATEMENT )

Lab1_6 select *
from departments;

Lab1_7 select employee_id,last_name,job_id,hire_date stardate


from employees;

Lab1_9 select job_id


from employees;

Lab1_10 select last_name || ', ' || job_id "Employee and Title"


from employees;

Lab1_11 select last_name || ', ' || job_id "Employee and Title"


from employees;

Lab1_12 select employee_id || ',' || first_name || ',' || last_name || ',' ||


email || ',' || phone_number || ',' || job_id || ',' || hire_date ||
',' || salary || ',' || department_id
from employees;

CHAPTER # 02 ( RESTRICTING AND SORTING DATA )

Lab2_1 select last_name,salary


from employees
where salary > 12000;

Lab2_3 select last_name,salary


from employees
where salary not between 5000 and 12000;

Lab2_4 select last_name,job_id,hire_date


from employees
where hire_date between '20-feb-1998' and '01-may-1998'
order by hire_date asc;

Lab2_5 select last_name,department_id


from employees
where department_id in (20,50)
order by last_name asc;

Lab2_6 select last_name "Employee",salary "Monthly Salary"


from employees
where salary between 5000 and 12000
and department_id in (20,50);

Lab2_7 select last_name,hire_date


from employees
where hire_date like '%94';

MUHAMMAD ARSALAN 1 BCS-III (P.M)


ROLL # 2K8/CSM/203 SIR AFTAB CHANDIO
ASSIGNMENT DATABASE DEVELEPOR

Lab2_8 select last_name,job_id


from employees
where manager_id is null;

Lab2_9 select last_name,salary,commission_pct


from employees
where commission_pct is not null
order by salary desc,commission_pct desc;

Lab2_10 select last_name


from employees
where last_name like '__a%';

Lab2_11 select last_name


from employees
where last_name like '%a%'
and last_name like '%e%';

Lab2_12 select last_name,job_id,salary


from employees
where job_id like 'SA_REP'
or job_id like 'ST_CLERK'
and salary not in (2500,3500,7000);

Lab2_13 select last_name "Employee",salary "Monthly


Salary",commission_pct
from employees
where commission_pct in (0.2);

CHAPTER # 03 ( SINGLE ROW FUNCTIONS )

Lab3_1 select sysdate "date"


from dual;

Lab3_2 select employee_id,last_name,salary,salary+salary*0.15


"New Salary"
from employees;

Lab3_4 select employee_id,last_name,salary,salary+salary*0.15


"New Salary", salary+salary*.15 - salary "Increase"
from employees;

Lab3_5 select initcap(last_name) "Name", length(last_name)


from employees
where last_name like 'A%'
or last_name like 'J%'
or last_name like 'M%'
order by last_name;

Lab3_6 select last_name,trunc(months_between(sysdate,hire_date),0)


"MONTHS_WORKED"

MUHAMMAD ARSALAN 2 BCS-III (P.M)


ROLL # 2K8/CSM/203 SIR AFTAB CHANDIO
ASSIGNMENT DATABASE DEVELEPOR

from employees
order by hire_date desc;

Lab3_7 select last_name|| ' earns ' ||to_char(salary,'$99,999.00')|


| ' monthly but wants' || to_char(salary*3,'$99,999.00')
"Dream Salaries"
from employees;

Lab3_8 select last_name,lpad(salary,15,'$') salary


from employees;

Lab3_9 select last_name,hire_date,to_char(next_day(add_months


(hire_date,6),'Monday'),'fmspth Day,"the" Ddspth "of"
Month, YYYY') review
from employees;

Lab3_10 select last_name,hire_date ,to_char(hire_date,'DAY') day


from employees
order by DAY;

Lab3_11 select last_name,nvl(to_char(commission_pct),'No Commission')


from employees;

Lab3_12

Lab3_13 select job_id,decode( job_id,


'AD_PRES' ,'A',
'ST_MAN' ,'B',
'IT_PROG' ,'C',
'SA_REP' ,'D',
'ST_CLERK' ,'E',
0)g
from employees
group by job_id;

Lab3_14 select job_id,case job_id


when 'AD_PRES' then 'A'
when 'ST_MAN' then 'B'
when 'IT_PROG' then 'C'
when 'SA_REP' then 'D'
when 'ST_CLERK' then 'E'
else '0'
end as g
from employees
group by job_id;

CHAPTER # 04 ( DISPLAYING DATA FROM MULTIPLE TABLES )

Lab4_1 select e.last_name, e.department_id, d.department_name


from employees e, departments d
where e.department_id = d.department_id;

Lab4_2 select distinct e.job_id, d.location_id

MUHAMMAD ARSALAN 3 BCS-III (P.M)


ROLL # 2K8/CSM/203 SIR AFTAB CHANDIO
ASSIGNMENT DATABASE DEVELEPOR

from employees e, departments d


where e.department_id = d.department_id
and e.department_id = 80;

Lab4_3 select e.last_name, d.department_name, l.location_id, l.city


from employees e, departments d, locations l
where e.department_id = d.department_id
and d.location_id = l.location_id
and e.commission_pct is not null;

Lab4_4 select e.last_name, d.department_name


from employees e, departments d
where e.department_id = d.department_id
and e.last_name like '%a%';

Lab4_5 select e.last_name, e.job_id, d.department_id, d.department_name


from employees e, departments d
where e.department_id = d.department_id
and d.location_id = 1800;

Lab4_6 select emp.last_name "Employee", emp.employee_id "Emp#",


mgr.last_name "Manager" , mgr.employee_id "Mgr#"
from employees emp, employees mgr
where emp.manager_id = mgr.employee_id;

Lab4_7 select emp.last_name "Employee", emp.employee_id "Emp#",


mgr.last_name "Manager" , mgr.employee_id "Mgr#"
from employees emp, employees mgr
where emp.manager_id = mgr.employee_id (+)
order by emp.employee_id asc;

Lab4_8 select emp.last_name "Employee", emp.employee_id "Emp#",


mgr.last_name "Manager" , mgr.employee_id "Mgr#"
from employees emp, employees mgr
where emp.manager_i d = mgr.employee_id (+)
order by emp.employee_id asc;

Lab4_9 select e.last_name, e.job_id, d.department_name,


e.salary, j.grade_level
from employees e,departments d, job_grades j
where e.department_id = d.department_id
and e.salary between j.lowest_sal and j.highest_sal ;

Lab4_10 select last_name,hire_date


from employees
where hire_date >
( select hire_date
from employees
where last_name like 'Davies') ;

Lab4_11 select emp.last_name "Employee", emp.hire_date "Emp Hired",


mgr.last_name "Manager" , mgr.hire_date "Mgr Hired"
from employees emp, employees mgr
where emp.manager_id = mgr.employee_id

MUHAMMAD ARSALAN 4 BCS-III (P.M)


ROLL # 2K8/CSM/203 SIR AFTAB CHANDIO
ASSIGNMENT DATABASE DEVELEPOR

and emp.hire_date < mgr.hire_date;

CHAPTER # 05 ( AGGREGATING DATA USING GROUP FUNCTIONS )

Lab5_4 select max(salary) "Maximum",min(salary) "Minimum",


sum(salary) "Sum" ,round(avg(salary),0) "Avarage"
from employees;

Lab5_5 select job_id,max(salary) "Maximum",min(salary) "Minimum",


sum(salary) "Sum", round(avg(salary),0) "Avarage"
from employees
group by job_id;

Lab5_6 select job_id,count(job_id)


from employees
group by job_id;

Lab5_7 select count(manager_id) "Numbers of Managers"


from employees
group by manager_id;

Lab5_8 select max(salary)-min(salary) difference


from employees;

Lab5_9 select manager_id,min(salary)


from employees
where manager_id is not null
group by manager_id
having min(salary) > 6000
order by min(salary) desc;

Lab5_10 select department_name "Name",location_id,


count(employee_id) "Number of People",round(avg(salary),2)
"Salary"
from employees,departments
where employees.department_id = departments.department_id
group by department_name,location_id
order by department_name asc;

Lab5_11 select count(employee_id),


sum(decode( to_char(hire_date,'YYYY'),1995,1,0)) "1995",
sum(decode( to_char(hire_date,'YYYY'),1996,1,0)) "1996",
sum(decode( to_char(hire_date,'YYYY'),1997,1,0)) "1997",
sum(decode( to_char(hire_date,'YYYY'),1998,1,0)) "1998"
from employees;

Lab_12 select job_id,


sum(decode(department_id,20,salary)) "dept 20",
sum(decode(department_id,50,salary)) "dept 50",
sum(decode(department_id,80,salary)) "dept 80",

MUHAMMAD ARSALAN 5 BCS-III (P.M)


ROLL # 2K8/CSM/203 SIR AFTAB CHANDIO
ASSIGNMENT DATABASE DEVELEPOR

sum(decode(department_id,90,salary)) "dept 90",


sum(salary) "Total"
from employees
group by job_id;

CHAPTER # 06 ( SUBQUERIES )

Lab6_1 select last_name,hire_date


from employees
where department_id =
( select department_id
from employees
where last_name like 'Zlotkey')
and last_name not like 'Zlotkey';

Lab6_2 select employee_id,last_name,salary


from employees
where salary >
( select avg(salary)
from employees )
order by salary asc;

Lab6_3 select employee_id,last_name


from employees
where department_id in
( select department_id
from employees
where last_name like '%au%') ;

Lab6_4 select e.last_name,d.department_id,e.job_id


from employees e,departments d
where e.department_id = d.department_id
and d.location_id =
( select location_id
from departments
where location_id = 1700
group by location_id ) ;

Lab6_5 select last_name,salary


from employees
where manager_id =
( select employee_id
from employees
where last_name like 'King'
and job_id like 'AD_PRES' ) ;

Lab6_6 select department_id,last_name,job_id


from employees
where department_id =
( select department_id
from departments
where department_name like 'Executive' ) ;

MUHAMMAD ARSALAN 6 BCS-III (P.M)


ROLL # 2K8/CSM/203 SIR AFTAB CHANDIO
ASSIGNMENT DATABASE DEVELEPOR

Lab6_7 select employee_id,last_name,salary


from employees
where department_id in
( select department_id
from employees
where last_name like '%a%'
and last_name like '%u%' )
and salary >
( select avg(salary)
from employees );

CHAPTER # 07 ( PRODUCING READABLE OUTPUT WITH iSQL*PLUS )

Lab7_3(a) define low_date = 01/01/1998


define high_date = 01/01/1999

i Lab7_3(b)

Lab7_4 select e.last_name "Employee Name", e.job_id,


d.department_name
from employees e, departments d
where e.department_id = d.department_id
and d.location_id = &loc_numbers;

Lab7_5

CHAPTER # 08 ( MANIPULATING DATA )


DATA MANIPULATING LANGUAGE ( DML)

Lab8_1 create table my_empolyee


(id number(4) not null, last_name varchar2(25),
first_name varchar2(25), user_id varchar2(8), salary number(9,2) );

Lab8_2 describe my_employee

Lab8_3 insert into my_employee


Values ( 1, ‘Patel’, ‘Ralph’, ‘rpatel’, 895 )

Lab8_4 insert into my_employee


( id, last_name, first_name, user_id, salary )
Values ( 2, ‘Dancs’, ‘Betty’, ‘bdancs’, 860 )

Lab8_5 select * from my_employees;

Lab8_6 set echo off


set verify off
insert into my_employee
values ( &p_id, ‘&p_last_name’, ‘&p_first_name’,
lower( substr(‘&p_first_name’, 1,1) || substr(‘&p_last_name’, 1,7)
), &p_salary );
set verify on

MUHAMMAD ARSALAN 7 BCS-III (P.M)


ROLL # 2K8/CSM/203 SIR AFTAB CHANDIO
ASSIGNMENT DATABASE DEVELEPOR

set echo on

Lab8_7 set echo off


set verify off
insert into my_employee
values ( &p_id, ‘&p_last_name’, ‘&p_first_name’,
lower( substr(‘&p_first_name’, 1,1) || substr(‘&p_last_name’, 1,7)

), &p_salary );
set verify on
set echo on

Lab8_8 select * from my_employees;

Lab8_9 commit;

Lab8_10 update my_employee set last_name = ‘Drexler’ where id =3;

Lab8_11 update my_employee set salary = 1000 where salary < 900;

Lab8_12 select last_name, salary from my_employee;

Lab8_13 delete from my_employee where last_name = ‘Dancs’;

Lab8_14 select * from my_employees;

Lab8_15 commit;

Lab8_16 set echo off


set verify off
insert into my_employee
values ( &p_id, ‘&p_last_name’, ‘&p_first_name’,
lower( substr(‘&p_first_name’, 1,1) || substr(‘&p_last_name’, 1,7)
), &p_salary );
set verify on
set echo on

Lab8_17 select * from my_employees;

Lab8_18 save_point step_18;

Lab8_19 delete from my_employee;

Lab8_20 select * from my_employees;

Lab8_21 rollback to step_18;

Lab8_22 select * from my_employees;

Lab8_23 commit;

CHAPTER # 09 ( CREATING AND MANAGING TABLES )


DATA CONTROL LANGUAGE ( DCL)

MUHAMMAD ARSALAN 8 BCS-III (P.M)


ROLL # 2K8/CSM/203 SIR AFTAB CHANDIO
ASSIGNMENT DATABASE DEVELEPOR

Lab9_1 (a) create table dept ( id number(7), name varchar2 (25) );


(b) describe dept

Lab9_2 insert into dept


select department_id, department_name
from departments;

Lab9_3 create table emp


( id number(7), last_name varchar2(25),
first_name varchar2(25), dept_id number(7) );
describe emp

Lab9_4 alter table emp modify ( last_name varchar2(50) );


describe emp

Lab9_5 select table_name from user_tables


where table_name in (‘emp’, ‘dept’ );

Lab9_6 create table employees2 as


select employee_id id, first_name, last_name, salary,
department_id dept_id
from employees;

Lab9_7 drop table emp;

Lab9_8 rename employees2 to emp;

Lab9_9 comment on table emp is ‘ Employees Information’;


comment on table dept is ‘ Department Information’;
select * from user_tab_comments
where table_name = ‘dept’ or table_name = ‘emp’ ;

Lab9_10 alter table emp drop column first_name;


describe emp

Lab9_11 alter table emp set unused (dept_id);


describe emp

Lab9_12 alter table emp drop unused columns;


describe emp

CHAPTER # 10 ( INCLUDING CONSTRAINTS )

Lab10_1 alter table emp


add constraint my_emp_id_pk primary key (id);

Lab10_2 alter table dept


add constraint my_dept_id_pk primary key (id);

Lab10_3 alter table emp add ( dept_id number(7) );


alter table emp

MUHAMMAD ARSALAN 9 BCS-III (P.M)


ROLL # 2K8/CSM/203 SIR AFTAB CHANDIO
ASSIGNMENT DATABASE DEVELEPOR

add constraint dept_id_fk forign key(dept_id) refrence dept(id);

Lab10_4 select constraint_name, constraint_type from user_constraints


where ( ‘emp’, ‘dept’);

Lab10_5 select object_name, object_type from user_objects


where object_name like ‘emp%’ or object_name like ‘dept%’;

Lab10_6 alter table emp add commission number(2,2)


Constraint my_emp_comm_ck check (commission >= 0) ;

CHAPTER # 11 ( CREATING VIEWS )

Lab11_1 create or replace view employees_vu as


select employee_id, last_name employee, department_id
from employees;

Lab11_2 select * from employees_vu;

Lab11_3 set long 600 select view_name, text from user_views;

Lab11_4 select employee, department_id from employee_vu;

Lab11_5 create view dept50 as


select employee_id empno, last_name employee,
department_id deptno
from employees where department_id = 50
with check option constraint emp_dept_50;

Lab11_6 describe dept50 select * from dept50;

Lab11_7 update dept50 set deptno = 80


where employee = ‘Matos’;

Lab11_8 create or replace view salary_vu as


select e.last_name “Employee”, d.department_name “Department”
,e.salary “salary”, j.grade_level “Grades”
from employees e, departments d, job_grades j
where e.department_id = d.department_id
and e.salary between j.lowest_sal and j.highest_sal;

CHAPTER # 12 ( OTHER DATABASE OBJECTS )

Lab12_1 create sequence dept_id_seq


Start with 200
increament by 10
maxvalue 1000;

Lab12_2 select sequence_name, max_value, increament_by, last_name


from user_sequence;

MUHAMMAD ARSALAN 10 BCS-III (P.M)


ROLL # 2K8/CSM/203 SIR AFTAB CHANDIO
ASSIGNMENT DATABASE DEVELEPOR

Lab12_3 insert into dept values (dept_id_seq.nextval, ‘Education’ );


insert into dept values (dept_id_seq.nextval, ‘Administration’ );

Lab12_4 create index emp_dept_id_idx on emp (dept_id);

Lab12_5 select index_name, table_name, uniqueness


from user_indexes
where table_name = ‘emp’ ;

CHAPTER # 13 ( CONTROLLING USER ACCESS )

Lab13_6 Team 2 executes the grant statement.


grant select on departments to <user1>;
Team 1 executes the grant statement.
grant select on departments to <user2>;

Lab13_7 select * from departments;

Lab13_8 Team 1 executes this insert statement.


Insert into departments (department_id, department_name )
Values ( 500, ‘Eduacation’ ); commit;
Team 2 executes this insert statement.
Insert into departments ( department_id, department_name )
Values ( 510, ‘Administration’ ); commit;

Lab13_9 Team 1 create a synonym named team2


Create synonym team1 for <user2>.departments;
Team 2 create a synonym named team1
Create synonym team2 for <user1>.departments;

Lab13_10 Team 1 executes this select statement.


Select * from team2;
Team 2 executes this select statement.
Select * from team1;

Lab13_11 select table_name from user_tables;

Lab13_12 select table_name, owner from all_tables


where owner <> <your account>;

Lab13_13 Team 1 revokes the previlage.


Revoke select on departments from user2;
Team 2 revokes the previlage.
Revoke select on departments from user1;

Lab13_14 Team 1 executes this delete statement.


Delete from departments
where department_id = 500 ; commit;
Team 2 executes this delete statement.
Delete from departments

MUHAMMAD ARSALAN 11 BCS-III (P.M)


ROLL # 2K8/CSM/203 SIR AFTAB CHANDIO
ASSIGNMENT DATABASE DEVELEPOR

where department_id = 510 ; commit;

MUHAMMAD ARSALAN 12 BCS-III (P.M)


ROLL # 2K8/CSM/203 SIR AFTAB CHANDIO

You might also like