0% menganggap dokumen ini bermanfaat (0 suara)
81 tayangan12 halaman

Sistem Basis Data SQL 71130121

HR SCHEMA 1. Fungsi Agregasi dan Group a. Seorang manager perusahaan ingin mengetahui jumlah gaji, jumlah karyawan yang memiliki job_id IT_PROG. Tampilkan job_id, jumlah gaji, jumlah karyawan yang bekerja sebagai IT_PROG

Diunggah oleh

Alvin Tanjung
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
81 tayangan12 halaman

Sistem Basis Data SQL 71130121

HR SCHEMA 1. Fungsi Agregasi dan Group a. Seorang manager perusahaan ingin mengetahui jumlah gaji, jumlah karyawan yang memiliki job_id IT_PROG. Tampilkan job_id, jumlah gaji, jumlah karyawan yang bekerja sebagai IT_PROG

Diunggah oleh

Alvin Tanjung
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 12

TUGAS

Sistem Basis Data


SQL

Nama Penyusun :
Alvin Tanjung
( 71130121 )

Djunaidi

Universitas
Duta Wacana

Kristen
Yogyakarta

1. Fungsi Agregasi dan Group


a. Seorang manager perusahaan ingin mengetahui jumlah gaji, jumlah karyawan yang
memiliki job_id IT_PROG.
Tampilkan job_id, jumlah gaji, jumlah karyawan yang bekerja sebagai IT_PROG
select job_id, sum(salary), count(job_id)
from hr.employees
where job_id like 'IT_PROG'
group by job_id

b. Seorang manager ingin mengetahui berapa jumlah karyawan setiap departemen.

Tampilkan department ID, nama departemen, dan jumlah karyawan yang bekerja di
departemen itu.
select d.department_id, d.department_name, count(e.employee_id)
from hr.employees e, hr.departments d
where e.department_id=d.department_id
group by d.department_id, d.department_name

c. Seorang pengusaha ingin mengetahui nama-nama department yang memiliki rata-rata


gaji dibawah 10.000.
Tampilkan department ID, nama department, gaji. Dimana gaji dibawah 10.000
select d.department_id ,d.department_name, avg(e.salary) "gaji"
from hr.employees e, hr.departments d
where e.employee_id=d.manager_id
group by d.department_name, d.department_id
having avg(e.salary)<10000

d. Seorang pemilik perusahaan ingin mengetahui rata-rata penghasilan semua karyawan


yang dipimpin oleh manager ID dengan nomor ID 121.
Tampilkan ID manager dan rata-rata gaji karyawannya
select manager_id, avg(salary)
from hr.employees
where manager_id like '121'
group by manager_id

e. Tampilkan employee id, nama employee, department id, nama department, dan rata-rata
penghasilannya. Dimana department ID diatas 100.
select e.employee_id, e.first_name, d.department_id,
d.department_name, avg(e.salary)
from hr.employees e, hr.departments d
where e.department_id=d.department_id and e.department_id >100
group by e.employee_id, e.first_name, d.department_id,
d.department_name

2. Himpunan
a. Tampilkan locations ID antara table locations dengan departmnets
select location_id
from hr.locations
union
select location_id
from hr.departments

b. Tampilkan ID pekerja yang tidak menjadi manager


select employee_id
from hr.employees
minus
select manager_id
from hr.employees

c. Tampilkan pekerjaan yang diambil oleh karyawan


select job_id
from hr.jobs
intersect
select job_id
from hr.employees

3. Left / right outer join


Tampilkan siapa saja karyawan yang membidangi di masing-masing department.
select d.department_id, d.department_name, e.employee_id, e.first_name
from hr.departments d
left outer join hr.employees e
on d.department_id = e.employee_id

4. Natural Join
Tampilkan employee_ID , first_name, job_title. Dimana job_titlenya adalah seorang
programmer
select employee_id, first_name, job_title
from hr.employees NATURAL JOIN hr.jobs
where job_title LIKE 'Programmer'
8

5. SubQuery
a. Seorang ingin mengetahui data diri pegawainya, tetapi ia hanya ingin mengetahui
pegawai dengan gaji lebih dari gaji temannya. Dimana ID temanya = 103.
Tampilkan employee_id, full_name, email
select employee_id, first_name || ' ' || last_name full_name, email
from hr.employees
where salary > (
select salary
from hr.employees
where employee_id = 103)

b. Pemimpin ingin mengetahui department_id dan department_name, dimana location_id


lebih besar dari location_id yang manager_id adalah 114
select department_id, department_name
from hr.departments
where location_id > (
select location_id
from hr.departments
where manager_id = 114)

c. Tampilkan email dan phone_number, dari table employees. Dimana employee_id lebih
besar dari employee_id valli.
select email, phone_number
from hr.employees
where employee_id > (
select employee_id
from hr.employees
where first_name = 'Valli')

10

d. Tampilkan nama city dari table locations, dimana memiliki location_id lebih besar dari
locations_id city Toronto.
select city
from hr.locations
where location_id > (
select location_id
from hr.locations
where city = 'Toronto')

11

e.

Tampilkan tanggal bekerja pegawai, dimana employee_id lebih kecil dari employee_id
Diana.
select hire_date
from hr.employees
where employee_id < (
select employee_id
from hr.employees
where first_name = 'Diana')

12

Anda mungkin juga menyukai