Selasa, 21 Oktober 2014

Laporan Praktikum Desain Basis Data 5 : Agregasi SQL dan View


A. LANDASAN TEORI

  1. Agregate Operator
Fungsi aggregate atau disebut fungsi ringkasan digunakan untuk melakukan penghitungan menjadi  sebuah nilai dari beberapa nilai input.  Aggregate  dapat digabungkan dengan sebuah parameter seperti WHERE untuk  menghasilkan suatu hasil yang lebih kompleks lagi.  Adapun fungsi  agregate  yang  disediakan oleh PostgreSQL dapat dilihat pada tabel berikut : 

  2. Group By
Group By merupakan fungsi yang digunakan untuk melakukan pengelompokan dari perintah  SELECT. Group by seringkali diperlukan untuk menjalankan  agregate menjadi sebuah  kelompok  dari hasil Query.
  3. Having
Pemakaian HAVING terkait dengan GROUP BY, kegunaanya adalah untuk menentukan  kondisi bagi GROUP BY, dimana kelompok yang memenuhi  kondisi saja yang akan di hasilkan. 
   4. Case
Meskipun SQL bukan merupakan sebuah prosedur bahasa perograman, namun dalam prosesnya dapat dengan bebas mengontrol data yang kembali dari query. Kata WHERE menggunakan  perbandingan untuk mengontrol pemilihan data, sedangkan CASE perbandingan dalam bentuk output kolom. Jadi intinya penggunaan CASE akan membentuk output tersendiri berupa sebuah kolom baru dengan data dari operasi yang di dalamnya.
   5. View
Views dapat juga disebut tabel bayangan tetapi bukan temporary table, bukan juga merupakan sebuah tabel yang asli.  Suatu view adalah suatu  relasi virtual  yang tidak perlu ada  database tetapi dapat diproduksi atas permintaan oleh pemakai tertentu, pada ketika permintaan.  Satu lagi kelebihan yang dimiliki oleh view yaitu dapat menyimpan perintah query, dan dapat mewakili sebuah subset dari tabel asli dan memilih kolom atau row tertentu dari tabel biasa.

B. HASIL PRAKTIKUM

         Soal Praktikum Ke 5 :
1.  Dari tabel mahasiswa yang telah dibuat  tambahkan 3 data lagi  ,  tambahkan kolom gender kemudian update datanya  dan  tampilkan banyaknya data mahasiswa yang telah di inputkan. Kemudian cari nim atau id mahasiswa yang paling kecil, paling besar dan rata-ratanya.
2.  Tampilkan rata-rata id atau nim mahasiswa yang data nimnya lebih dari 12.
3.  Tampilkan jumlah mahasiswa berdasarkan fakultas. Sehingga hasilnya seperti berikut: 


4.  Tampilkan  seperti nomor 3 dengan persyaratan jumlah mahasiswa yang lebih dari sama dengan 2 saja yang ditampilkan.
5.  Tampilkan data mahasiswa dengan persyaratan, jika jenis kelaminnya “L” maka tertulis laki-laki dan bila “P” maka tertulis perempuan.
6.  Buatlah view untuk query  penampilan data mahasiswa, fakultas. Ambil berdasarkan nim, nama mahasiswa, nama fakultas.

1. Menggunakan PostgreSQL

 Tambahkan tiga data mahasiswa menggunakan perintah seperti yang pernah diulas pada praktikum sebelumnya, lalu tampilkan isi tabelnya menggunakan perintah query
SELECT * FROM mahasiswa;

Kemudian cari nim mahasiswa paling besar, paling kecil dan rata-rata dengan menggunakan perintah query 
SELECT MAX (nim_mah) FROM mahasiswa;
SELECT MIN (nim_mah) FROM mahasiswa;
SELECT AVG (nim_mah) FROM mahasiswa;

Lalu tampilkan rata-rata nim mahasiswa yang nimnya lebih dari 12 dengan perintah query
SELECT AVG (nim_mah) FROM mahasiswa WHERE nim_mah > 12;

 
Selanjutnya tampilkan jumlah mahasiswa berdasarkan fakultas menggunakan perintah query
SELECT nama_fak, COUNT(*) FROM mahasiswa, fakultas WHERE mahasiswa.id_fak=fakultas.id_fak GROUP BY nama_fak;


Lalu tampilkan perintah seperti di atas, tetapi hanya yang berjumlah lebih dari 2 mahasiswa dengan perintah query
SELECT nama_fak, COUNT(*) FROM mahasiswa, fakultas  WHERE mahasiswa.id_fak=fakultas.id_fak GROUP BY nama_fak HAVING COUNT (*) >2;


Kemudian tampilkan data mahasiswa, dengan syarat jika jenis kelaminnya “L” maka laki-laki, jika “P” maka perempuan dengan perintah query
SELECT nim_mah, nama_mah, gender_mah, CASE WHEN gender_mah=’L’ THEN ‘Laki-laki’ ELSE ‘Perempuan’ END AS jenis_kelamin FROM mahasiswa,fakultas WHERE mahasiswa.id_fak=fakultas.id_fak;

 *di atas saya menambahkan alamat_fak untuk kelengkapan saja

Sekarang buat tabel VIEW untuk penampilkan tabel mahasiswa dan fakultas berdasarkan nim_mah dan nama_fak menggunakan perintah query
CREATE VIEW informasi_mah AS SELECT nim_mah, nama_mah, nama_fak FROM mahasiswa, fakultas WHERE mahasiswa.id_fak=fakultas.id_fak;

Selanjutnya tampilkan view yang terlah dibuat  dengan perintah query
SELECT * FROM informasi_mah;

2. Menggunakan My SQL (Command Prompt)

Tambahkan tiga data mahasiswa menggunakan perintah seperti yang pernah diulas pada praktikum sebelumnya, lalu tampilkan isi tabelnya menggunakan perintah query
SELECT * FROM mahasiswa;
  
Kemudian cari nim mahasiswa paling besar, paling kecil dan rata-rata dengan menggunakan perintah query 
SELECT MAX (nim_mah) FROM mahasiswa;
SELECT MIN (nim_mah) FROM mahasiswa;
SELECT AVG (nim_mah) FROM mahasiswa;

Lalu tampilkan rata-rata nim mahasiswa yang nimnya lebih dari 12 dengan perintah query
SELECT AVG (nim_mah) FROM mahasiswa WHERE nim_mah > 12;

Selanjutnya tampilkan jumlah mahasiswa berdasarkan fakultas menggunakan perintah query
SELECT nama_fak, COUNT(*) FROM mahasiswa, fakultas WHERE mahasiswa.id_fak=fakultas.id_fak GROUP BY nama_fak;

Lalu tampilkan perintah seperti di atas, tetapi hanya yang berjumlah lebih dari 2 mahasiswa dengan perintah query
SELECT nama_fak, COUNT(*) FROM mahasiswa, fakultas  WHERE mahasiswa.id_fak=fakultas.id_fak GROUP BY nama_fak HAVING COUNT (*) >2;

Kemudian tampilkan data mahasiswa, dengan syarat jika jenis kelaminnya “L” maka laki-laki, jika “P” maka perempuan dengan perintah query
SELECT nim_mah, nama_mah, CASE WHEN gender_mah=’L’ THEN ‘Laki-laki’ ELSE ‘Perempuan’ END AS jenis_kelamin FROM mahasiswa,fakultas WHERE mahasiswa.id_fak=fakultas.id_fak;

Sekarang buat tabel VIEW untuk penampilkan tabel mahasiswa dan fakultas berdasarkan nim_mah dan nama_fak menggunakan perintah query
CREATE VIEW info_mah AS SELECT nim_mah, nama_mah, nama_fak FROM mahasiswa, fakultas WHERE mahasiswa.id_fak=fakultas.id_fak;

Selanjutnya tampilkan view yang telah dibuat  dengan perintah query
SELECT * FROM info_mah ORDER BY nim_mah ASC;
* "ORDER BY nim_mah ASC" perintah tersebut untuk menampilkan secara urut dari kecil ke besar

C. PERBANDINGAN PostgreSQL dan MySQL

    Dari praktik diatas disimpulkan bahwa perbedaan antara keduanya hanya sedikit, yakni terletak pada perintah query COUNT,AVG,MAX dan MIN. Pada postgreSQL perintah COUNT,AVG,MAX dan MIN tidak harus di gandengankan dengan tanda (*) ataupun (namakolom), akan tetapi jika pada MySQL harus digandengankan , Contohnya SELECT MAX(nim_mah) FROM mahasiswa; dan  pada perintah SELECT nama_fak, COUNT(*) FROM mahasiswa, fakultas WHERE mahasiswa.id_fak=fakultas.id_fak GROUP BY nama_fak;. jika tidak digandengkan maka akan error.

D. KESIMPULAN, MANFAAT dan SARAN

   Kesimpulan dari hasil praktikum yakni kita harus lebih jeli dan hati-hati ketika mengerjakan dan mencoba karna pada DBMS MySQL perintah yang diketik sangat sensitive dan itu berbeda pada PostgreSQL yang tidak berpengaruh ketika kita mengetik dengan huruf besar ke kecil ataupun sebaliknya.
     Sarannya mungkin sama saja dari percobaan praktikum pertama sampai kelima ini. Kita harus sering-sering mencoba,mencoba dan mencoba karena segala sesuatu akan mudah ketika kita terbiasa dengan sesuatu yang kita lakukan secara berulang dan teratur.
      Akhir kata, semoga laporan praktikum kelima tentang agregasi SQL dan view ini bermanfaat untuk para pembaca yang selalu ingin mencoba hal baru dan sedang belajar tentang database seperti saya :) Semoga bermanfaat dan terus mencoba. 

E. REFERENSI

Mustafa, Aziz .2014. Modul Praktikum DBD.pdf
Unknown Web Developer

Selasa, 14 Oktober 2014

Laporan Desain Basis Data 4 : Pengenalan Operator Dasar


A. Landasan Teori

#AS
   AS biasa digunakan untuk menampilkan label kolom dengan  nama lain sehingga yang akan muncul dalam hasil query bukan nama asli kolom, tetapi nama yang mungkin lebih sesuai dan mudah dimengerti. AS digunakan setelah nama kolom yang akan diganti yang kemudian diikuti dengan nama penggantinya.

#AND dan OR    Pada bagian sebelumnya kita menggunakan anak kalimat atau sintaks WHERE hanya pada  konteks yang sederhana. Berikut ini kita akan mencoba menggunakan WHERE untuk konteks yang lebih kompleks lagi, anak kalimat where yang kompleks akan bekerja dengan  baik dengan menggunakan kata AND  dan OR. SQL menggunakan standar logika boolean three-valued.

#BETWEEN     BETWEEN  digunakan untuk menentukan lebar nilai dari nilai terendah dan nilai tertinggi.  Pada  BETWEEN  menggunakan  operator pembanding seperti pada tabel berikut :


#IN dan NOT IN    Operator IN berguna melakukan pencocokan dengan salah satu yang ada pada suatu daftar nilai.

#LIKE     LIKE digunakan ketika kita ingin mencari sebuah data yang hanya diwakili oleh salah satu atau lebih hurufnya saja. Misalkan kita ingin mencari nama yang huruf awalnya R, maka kita harus menggunakan LIKE. Berikut adalah tabel contoh kasus penggunaan LIKE : 


#REGEXP
    Regular Expression atau Regex, merupakan sebuah teknik atau cara untuk mencari persamaan - presamaan string atau data dan memanipulasinya. Biasanya lebih sering digunakan untuk string. Didalam PostgreSQL disimbolkan dengan “~”. Berikut tabel daftar simbol pada reguler expression : 




#DISTINCT    DISTINCT sering kali diperlukan untuk mengembalikan hasil dari sebuah query  dengan tidak terdapat duplikasi, artinya pada hasil outputnya tidak terjadi kesamaan data meskipun pada data sesungguhnya sangat mungkin banyak duplikasi. Hal ini juga berlaku jika data yang ada dalam bentuk angka.

#LIMIT
    LIMIT dan OFFSET digunakan untuk membatasi jumlah output dari query berdasarkan jumlah row bukan karena kondisi seperti WHERE. Bisa dikatakan LIMIT adalah untuk menentukan jumlah baris yang akan ditampilkan yang dihitung dari baris pertama, sedangkan OFFSET digunakan untuk menghilangkan  baris  sesuai dengan jumlah yang diberikan pada OFFSET. 

#UNION, EXCEPT dan INTERSECT     Hasil dari dua buah query dapat dikombinasikan dengan menggunakan UNION, EXCEPT  atau  INTERSECT. UNION digunakan untuk menggabungkan hasil dua buah query menjadi satu kolom. EXCEPT digunakan untuk menampilkan hanya query pertama saja, sedangkan hasil query kedua dan yang sama dengan hasil query kedua tidak akan ditampilkan. Perintah INTERSECT  hanya akan menampilkan seluruh isi dari data yang memiliki kesaman diantara hasil kedua query tersebut.

 



B. Hasil Praktikum
     
    Di bawah ini adalah soal praktikum yang akan di jelaskan pada laporan praktikum keempat ini

Persiapan praktek : Gunakan tabel mahasiswa dan fakultas pada pertemuan ketiga.  Tambahkan kolom gender di tabel mahasiswa kemudian update data mahasiswa.  Insert data mahasiswa hingga 7 baris.
1.  Berdasarkan tabel sebelumnya yaitu bab 3, tampilkan data mahasiswa dengan  nama dari kolomnya  berubah menjadi nomor_identitas, nama, alamat,nama_fakultas  tanpa harus merubah nama kolom secara permanen.
2.  Tampilkan  nama mahasiswa  fakultas saintek  yang berjenis kelamin laki-laki. Kemudian nama mahasiswa fakultas saintek atau berjenis kelamin laki-laki
3.  Suatu tabel mahasiswa terdapat 7 baris data mahasiswa. Tampilkan data mahasiswa dari nomor 3 sampai dengan 5, kemudian tampilkan juga data mahasiswa yang bukan dari nomor 3 sampai dengan 5  menggunakan between  dan tanpa menggunakan between. 
4.  Tampilkan mahasiswa dengan nomor 2,3,5 menggunakan operator IN.
5.  Tampilkan semua data mahasiswa yang namanya mempunyai awalan huruf “a”.
6.  Tampilkan semua data mahasiswa yang namanya mempunyai akhiran “a” dan huruf ke-3 dari nama tersebut terdapat huruf “n”.
7.  Tampilkan nomor fakultas di tabel mahasiswa dengan nomor harus tidak ada yang sama dari baris pertama sampai akhir.
8.  Tampilkan data mahasiswa 3 baris saja.
9. Tampilkan data mahasiswa dengan ciri-ciri memiliki nama awalan a kemudian kata selanjutnya boleh r atau boleh t atau boleh d. misalkan yang memenuhi kriteria ciri tersebut seperti adi, atik, arif, adam dll. 
*Boleh dengan awalan dan ciri yang lain namun karakteristiknya harus sesuai soal
10. Buatlah tabel dengan nama organ_dalam dan organ_luar sebagai berikut :
a.  Tabel organ_dalam  
b.  Tabel organ_luar 

Tampilkan data  dari kedua tabel tersebut menggunakan UNION, EXCEPT dan
INTERSECT 


1. Menggunakan PostgreSQL

     Langkah awal telah saya jelaskan pada laporan pertama, bagaimana masuk hingga membuat tabel pada PostgreSQL. Jika sudah paham, kita lanjutkan untuk mengerjakan laporan keempat ini. Pertama yang kita gunakan adalah tabel mahasiswa dan fakultas (*praktikum ketiga) lalu tambahkan terlebih dahulu data-data nomor dan nama fakultas dalam tabel fakultas menggunakan perintah query
INSERT INTO fakultas VALUES (1, ‘saintek’),(3, ‘ekonomi’),(4, ‘humaniora’);

Selanjutnya tambahkan field yang bernama gender_mah pada tabel mahasiswa menggunakan perintah query
ALTER TABLE mahasiswa ADD COLUMN “gender_mah” varchar(1);

isi data sesuai pada keterangan dari field menggunakan perintah query
UPDATE mahasiswa SET gender_mah=’L’ WHERE nama_mah=’luki’;

Kemudian insert data mahasiswa sampai 7 baris menggunakan perintah query INSERT INTO mahasiswa VALUES (12,‘sarah’,‘bali’,‘0878866654’,4,‘P’), (13,‘hakim’,‘malang’,‘0897888373’,1,‘L’), ... ;

*nilai fields bisa di insertkan satu persatu, namun jika dirasa terlalu lama bisa dijadikan satu query dengan memberi tanda koma(,)

Lalu tampilkan isi tabel mahasiswa 
SELECT * FROM mahasiswa;


**pada langkah diatas tidak ada keterangan foto seperti sebelumnya karena pada waktu pengerjaan saya menyelesaikan sampai selesai yang ternyata query sebelumnya hanya sebagian yang terlihat pada halaman PostgreSQL Shell.


Kemudian tampilkan data mahasiswa seluruhnya. rubah label pada field mahasiswa tanpa harus merubah nama field secara permanen menggunakan perintah query  
SELECT nim_mah AS nomor_identitas, nama_mah AS nama, alamat_mah AS alamat, id_fak AS nama_fakultas FROM mahasiswa;

Perintah selanjutnya mampilkan data mahasiswa yang berjenis kelamin laki-laki menggunakan perintah query  
 SELECT * FROM mahasiswa WHERE gender_mah=’L’;


Selanjutnya tampilkan data mahasiswa yang berjenis kelamin laki-laki atau mahasiswa fakultas saintek menggunakan perintah query  
SELECT * FROM mahasiswa WHERE gender_mah=’L’ OR id_fak=1;

Pada tabel mahasiswa terdapat 7 baris, tampilkan yang bernomor 3-5 saja menggunakan BETWEEN menggunakan perintah query  
SELECT * FROM mahasiswa WHERE nim_mah BETWEEN 13 and 15;


Setelah itu tampilkan yang bukan nomor 3-5 menggunakan BETWEEN.
 SELECT * FROM mahasiswa WHERE nim_mah NOT BETWEEN 13 and 15;


Lalu tampilkan yang bukan nomor 3-5 tanpa menggunakan perintah BETWEEN menggunakan perintah query 
SELECT * FROM mahasiswa WHERE nim_mah <'13' OR nim_mah>'15';


Kemudian tampilkan data mahasiswa yang bernomor 2,3,5 dengan menggunakan perintah IN. 
SELECT * FROM mahasiswa WHERE nim_mah in (12,13,15);


Lalu tampilkan data seluruh mahasiswa yang mempunyai nama huruf awalan a menggunakan perintah query  
SELECT * FROM mahasiswa WHERE nama_mah LIKE ‘a%’;


Tampilka seluruh data mahasiswa yang mempunyai nama huruf akhiran a dan huruf ketiga n menggunakan perintah query  
  SELECT * FROM mahasiswa WHERE nama_mah LIKE ‘%a’;
 SELECT * FROM mahasiswa WHERE nama_mah LIKE ‘__%n’;


Selanjutnya tampilkan nomor fakultas di tabel mahasiswa dengan syarat nomor tidak ada yang sama menggunakan perintah query
SELECT DISTINCT id_fak FROM mahasiswa;


Tampilkan data mahasiswa 3 menggunakan perintah query
SELECT * FROM mahasiswa LIMIT 3;


Kemudian tampilkan data mahasiswa dengan ciri-ciri nama huruf awal a, dan huruf selanjutnya bole  r atau t atau d, sedangkan di sini saya menggunakan huruf lain agar hasil tidak kosong dengan menggunakan perintah query
SELECT * FROM mahasiswa WHERE nama_mah ~ ‘s[ar]’;


*Hasilnya akan kosong jika tidak memenuhi kriteria.

Kemudian buatlah dua tabel yang bernama organ dalam dan organ luar dengan menggunakan perintah query 
CREATE TABLE organ_dalam (nomor integer not null, nama varchar(27));


CREATE TABLE organ_luar (nomor integer not null, nama varchar(27));



Lalu masukkan datanya sesuai yang ditentukan dengan menggunakan perintah query
INSERT INTO organ_dalam VALUES (1, ‘jantung’), ... ;


INSERT INTO organ_dalam VALUES (1, ‘jantung’), ... ;


Langkah terakhir kita lakukan perintah UNION, EXCEPT dan INTERSECT menggunakan perintah query
SELECT * FROM organ_dalam UNION SELECT * FROM organ_luar;
SELECT * FROM organ_dalam EXCEPT SELECT * FROM organ_luar;
SELECT * FROM organ_dalam INTERSECT SELECT * FROM organ_luar;



2. Menggunakan MySQL
Sebelumnya, koneksikan dulu pada database yang ingin digunakan. Lalu tambahkan field yang bernama gender_mah pada tabel mahasiswa yang telah dibuat pada praktikum sebelumnya  menggunakan perintah query
ALTER TABLE mahasiswa ADD COLUMN gender_mah varchar(1);


serta isi datanya sesuai pada keterangan dari field lainnya 
UPDATE mahasiswa SET gender=’L’ WHERE nim_mah=14;


Kemudian insert data mahasiswa sampai 7 baris menggunakan perintah query
INSERT INTO mahasiswa VALUES (11,‘shinta’,‘makasar’, ‘08566321000,3,‘P’),(12,‘fiersa’,‘bandung’,‘08199456003,4,‘L’), ... ;


Lalu tampilkan isi tabel mahasiswa dengan menggunakan perintah query
SELECT * FROM mahasiswa;


Kemudian tampilkan data mahasiswa seluruhnya. rubah label pada field mahasiswa tanpa harus merubah nama field secara permanen menggunakan perintah query  
SELECT nim_mah as nomor_identitas, nama_mah as nama, nama_fak as nama_fakultas FROM mahasiswa, fakultas WHERE mahasiswa.id_fak=fakultas.id_fak;


Tampilkan data mahasiswa yang berjenis kelamin laki-laki dengan menggunakan perintah query
SELECT * FROM mahasiswa WHERE gender=’L’;


Tampilkan data mahasiswa yang berjenis kelamin laki-laki atau mahasiswa fakultas saintek dengan menggunakan perintah query
SELECT * FROM mahasiswa WHERE gender=’L’ OR id_fak=1;



Tampilkan data mahasiswa yang bernomor 2,3,5 dengan menggunakan IN dengan perintah query
SELECT * FROM mahasiswa WHERE nim_mah in (12,13,15);


Pada tabel mahasiswa terdapat 7 baris, tampilkan yang bernomor 3-5 saja menggunakan BETWEEN dengan perintah query
SELECT * FROM mahasiswa WHERE nim_mah BETWEEN 13 and 15;



Setelah itu kita tampilkan yang bukan nomor 3-5 menggunakan BETWEEN
dengan perintah query
SELECT * FROM mahasiswa WHERE nim_mah NOT BETWEEN 13 and 15;



Lalu tampilkan yang bukan nomor 3-5 tanpa menggunakan BETWEEN dengan perintah query
SELECT * FROM mahasiswa WHERE NOT nim_mah >= 13 and nim_mah <= 15;


Tampilkan data seluruh mahasiswa yang mempunyai nama huruf awalan a menggunakan perintah query
SELECT * FROM mahasiswa WHERE nama_mah LIKE ‘a%’;

*Tertulis Empty set , yang berarti hasilnya akan kosong karena tidak ada yang cocok.

Tampilkan seluruh data mahasiswa yang mempunyai nama huruf akhiran a dan huruf ketiga n menggunakan perintah query
SELECT * FROM mahasiswa WHERE nama_mah LIKE ‘__n%a’;


Tampilkan nomor fakultas di tabel mahasiswa dengan syarat nomor tidak ada yang sama dengan menggunakan perintah query
SELECT DISTINCT id_fak as nomor_fakultas FROM mahasiswa;


Tampilkan data mahasiswa 3 menggunakan perintah query
SELECT * FROM mahasiswa LIMIT 3;


Tampilkan data mahasiswa dengan ciri-ciri nama huruf awal a, dan huruf selanjutnya boleh  r atau t atau d, akan tetapi pada data mahasiswa yang dibuat tidak ada maka saya menggunakan awalan huruf b dengan perintah query
SELECT * FROM mahasiswa WHERE nama_mah REGEXP ‘b[nta]’;


Kemudian buatlah dua tabel yang bernama organ dalam dan organ luar dengan menggunakan perintah query 
CREATE TABLE organ_dalam (nomor integer not null, nama varchar(27));
CREATE TABLE organ_luar (nomor integer not null, nama varchar(27));
 

Lalu masukkan data tabel organ dalam dan organ luar sesuai yang ditentukan dengan menggunakan perintah query
INSERT INTO organ_dalam VALUES (1, ‘jantung’), ... ;


Lalu kita lakukan perintah UNION dengan menggunakan perintah query
SELECT * FROM organ_dalam UNION SELECT * FROM organ_luar;


Kemudian untuk EXCEPT dan INTERSECT berbeda dengan PostgreSQL, buatlah dua buah tabel lagi tetapi hanya satu kolom saja dengan perintah query
CREATE TABLE organ_dalam2 (nama varchar(15));
CREATE TABLE organ_luar2 (nama varchar(15));


Untuk INTERSECT dan EXCEPT menggunakan perintah query 
SELECT * FROM organ_dalam2 WHERE nama IN (SELECT * FROM organ_luar2);
SELECT * FROM organ_dalam2 WHERE nama NOT IN (SELECT * FROM organ_luar2);


C. Perbandingan PostgeSQL dan MySQL

  Dari percobaan di atas bisa di lihat bahwa perbedaan query antara PostgreSQL dan MySQL terletak pada perintah EXCEPT dan INTERSECT yang menggunakan NOT dan NOT IN pada MySQL sedangkan pada PostgreSQL menggunakan perintah EXCEPT dan INTERSECT saja. Lalu perintah REGREXP pada PostgreSQL disimbolkan dengan “~” sedangkan pada MySQL menggunakan perintah REGREXP.

D. Kritik, Saran dan Manfaat

     Tentunya segala macam ilmu dan informasi baik sedikit ataupun banyak akan bermanfaat begitu juga dengan laporan praktikum keempat ini semoga bermanfaat dan menambah ilmunya para pembaca. Saran saya untuk diri sendiri dan pembaca agar selalu mencoba, mencoba dan mencoba tentu saja dengan dibarengi doa dan ikhtiar :) Semoga bermanfaat.

E. Referensi
Materi Praktikum Desain Basis Data 2013.pdf
http://blog.akakom.ac.id/detotty/dasar-dasar-sql-structured-query-language/
Unknown Web Developer