TUGAS MODUL BAB 7
1. Dapatkan
data nomor departmen, nama departmen, nomor proyek, nama proyek, dan tanggal
dimulainya proyek, dimana deptno adalah D01 atau projno MA2111!
Query:
select d.deptno, d.deptname, p.projno, p.projname,
p.prstdate from department d, project p
where d.deptno='D01'
union
select d.deptno, d.deptname, p.projno, p.projname,
p.prstdate from department d, project p
where p.projno='MA2111';
Penjelasan:
Pada query diatas, digunakan select
untuk menampilkan deptno dan deptname dari tabel department yang
diinisialisasikan dengan d. Projno, projname, prstdate dari tabel project yang
diinisialisasikan dengan p. Dengan syarat/ kondisinya yaitu deptno pada tabel
department = ‘D01’
Union digunakan untuk menggabungkan
dua data set yang memiliki kolom dengan definisi dan urutan yang sama. Dalam
hal ini, yang ingin ditampilkan yaitu data dimana deptno = D01 atau projno =
MA2111.
Pada set kedua, digunakan select
untuk menampilkan deptno dan deptname dari tabel department yang
diinisialisasikan dengan d. Projno, projname, prstdate dari tabel project yang
diinisialisasikan dengan p. Dengan syarat/ kondisinya yaitu projno pada tabel
project = ‘MA2111’
2. Dapatkan
department yang memiliki jumlah pegawai lebih dari 3 dan departmen yg
berawalan A!
Query:
select d.deptname from department d, employee e
group by d.deptname having
count(e.empno) > '3'
intersect
select d.deptname from department d, employee e
where d.deptname like 'A%'
group by d.deptname
;
Penjelasan:
Pada query diatas, digunakan select
untuk menampilkan deptname dari tabel department yang diinisialisasikan dengan
d sedangkan Inisialisasi dari tabel employee yaitu e. Group by digunakan untuk mengelompokkan
data berdasarkan deptname.
Having digunakan untuk menyaring
baris yang ingin ditampilkan pada query yang sudah dikelompokkan dengan group
by. Dengan syarat/ kondisinya yaitu jumlah pegawai (count(e.empno)) pada tabel employee > ‘3’. Count disini
digunakan untuk menghitung jumlah pegawai.
Intersect digunakan untuk
menghasilkan result set berupa data-data yang sama dari beberapa data set yang
diinterseksi. Dalam hal ini, yang ingin ditampilkan yaitu department yang
memiliki jumlah pegawai lebih dari 3 dan departmen yang berawalan A.
Pada query diatas, digunakan select
untuk menampilkan deptname dari tabel department yang diinisialisasikan dengan
d sedangkan Inisialisasi dari tabel employee yaitu e. Dengan syarat/kondisinya yaitu deptname
pada tabel department berawalan A, bisa ditulis menggunakan like ‘A%’ yang
artinya like yaitu untuk membandingkan nilai yang sesuai dengan susunan
karakter yang ada. Sedangkan % digunakan untuk sebagai pembatas susunan
karakter yang ingin di tampilkan pada suatu tabel, jika berada pada akhir maka
data yang ditampilkan adalah data yang mengandung karakter sebelum % tersebut.
Lalu data dikelompokkan berdasarkan deptname.
3. Dapatkan
data nama departmen, nama proyek dan nomor act yang departmennya berawalan A
namun actno bukan 60!
Query;
select d.deptname, p.projname, a.actno from department d, project p, act
a
where d.deptname like 'A%'
except
select d.deptname, p.projname, a.actno from department d, project p, act
a
where
a.actno = '60';
Penjelasan:
Pada query diatas, digunakan select
untuk menampilkan deptname dari tabel department yang diinisialisasikan dengan
d, projname dari tabel project yang diinisialisasikan dengan p dan actno dari
tabel act yang diinisialisasikan dengan a. Dengan syarat/kondisinya yaitu
deptname pada tabel department berawalan A, bisa ditulis menggunakan like ‘A%’
yang artinya like yaitu untuk membandingkan nilai yang sesuai dengan susunan
karakter yang ada. Sedangkan % digunakan untuk sebagai pembatas susunan
karakter yang ingin di tampilkan pada suatu tabel, jika berada pada akhir maka
data yang ditampilkan adalah data yang mengandung karakter sebelum % tersebut.
Except digunakan untuk menghasilkan
nilai kembalian berupa set yang merupakan data-data dari set pertama dikurangi data-data
dari set kedua. Dalam hal ini, yang ingin ditampilkan yaitu departmen yang
berawalan A namun actno bukan 60.
Pada set kedua, digunakan select
untuk menampilkan deptname dari tabel department yang diinisialisasikan dengan
d, projname dari tabel project yang diinisialisasikan dengan p dan actno dari
tabel act yang diinisialisasikan dengan a. Dengan syarat/kondisinya yaitu actno
pada tabel act = ‘60’. Jadi pada saat menggunakan except pada set pertama- set
kedua, akan menghasilkan departmen yang berawalan A namun actno bukan 60.
4. Dapatkan
nomor pegawai, nama pegawai (firstnme dan lastname), nomor departmen, nama
departmen dan gaji yang memiliki job berawalan C dan nomor departmen adalah E21
namun gaji pegawai>40000!
Query:
select e.empno, e.firstnme, e.lastname,
d.deptno, d.deptname, e.salary from
employee e, department d
where e.job like 'C%' and e.salary > '40000'
intersect
select e.empno, e.firstnme, e.lastname,
d.deptno, d.deptname, e.salary from
employee e, department d
where
d.deptno='E21' and e.salary > '40000';
Penjelasan:
Pada query diatas, digunakan select
untuk menampilkan empno, firstnme, lastname dari tabel employee yang
diinisialisasikan dengan e, deptno, deptname dari tabel department yang
diinisialisasikan dengan d dan salary dari tabel employee yang diinisialisasikan
dengan e. Dengan syarat/kondisinya yaitu job pada tabel employee berawalan C,
bisa ditulis menggunakan like ‘C%’ yang artinya like yaitu untuk membandingkan
nilai yang sesuai dengan susunan karakter yang ada. Sedangkan % digunakan untuk
sebagai pembatas susunan karakter yang ingin di tampilkan pada suatu tabel,
jika berada pada akhir maka data yang ditampilkan adalah data yang mengandung
karakter sebelum % tersebut. Dan salary dari tabel employee > ‘40000’.
Intersect digunakan untuk menghasilkan
result set berupa data-data yang sama dari beberapa data set yang diinterseksi.
Dalam hal ini, yang ingin ditampilkan yaitu job berawalan C dan nomor departmen
adalah E21.
Pada set kedua, digunakan select
untuk menampilkan empno, firstnme, lastname dari tabel employee yang
diinisialisasikan dengan e, deptno, deptname dari tabel department yang
diinisialisasikan dengan d dan salary dari tabel employee yang
diinisialisasikan dengan e. Dengan syarat/kondisinya yaitu deptno dari tabel
department = ‘E21’ Dan salary dari tabel employee > ‘40000’.
KESIMPULAN
1. Jelaskan
tentang union dan union all, serta perbedaan antara keduanya.
-
Union merupakan operasi mengabungkan dua
data set yang memiliki kolom dengan definisi dan urutan yang sama. Perintah ini
identik dengan menampilkan data 1 atau data 2.
-
Union all serupa dengan union yaitu
merupakan operasi menggabungkan dua data set. Namun perbedaan antara keduanya
yaitu jika union hanya menggabungkan dua data set tanpa adanya duplikasi,
sedangkan union all akan menampilkan seluruh data set yang digabung walaupun
hal itu menyebabkan duplikasi data.
Jika
union hanya menampilkan salah satu dari data dari 2 kolom, union all dapat
menampilkan salah satu atau kedua-duanya dari 2 kolom tersebut.
2. Jelaskan
tentang intersect dan intersect all, serta perbedaan antara keduanya.
-
Intersect dan intersect all adalah
operasi yang menghasilkan result set berupa data-data yang sama dari beberapa
data set yang diinterseksi. Perintah ini identik dengan menampilkan data 1 dan
data 2.
-
Namun perbedaan keduanya yaitu jika
intersect hanya menampilkan data tanpa adanya duplikasi, sedangkan intersect
all akan menampilkan seluruh data walaupun hal itu menyebabkan duplikasi data.
3. Jelaskan
tentang except dan except all, serta perbedaan antara keduanya.
-
Except dan except all adalah operasi
yang menghasilkan nilai kembalian berupa set yang merupakan data-data dari set
pertama dikurangi data-data dari set kedua. Perintah ini identik dengan
menampilkan data 1 namun tidak ada 3 didata 2. (kecuali)
-
Namun perbedaan keduanya yaitu jika
except hanya menampilkan data tanpa adanya duplikasi, sedangkan except all akan
menampilkan seluruh data walaupun hal itu menyebabkan duplikasi data.
hello ka ,bisa private? or praktek via team viewer?
ReplyDeleteThis comment has been removed by the author.
ReplyDelete