Pages

Powered by Blogger.

Tuesday, January 20, 2015

Contoh Penggunaan Union dan Union All pada basis data

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.

2 comments:

  1. hello ka ,bisa private? or praktek via team viewer?

    ReplyDelete
  2. This comment has been removed by the author.

    ReplyDelete

 

Blogger news

Blogroll

About