Sabtu, 18 Oktober 2014

LAPORAN 5

LAPORAN
PRAKTIKUM DESAIN BASIS DATA
‘Agregasi SQL dan View”

LANDASAN TEORI
                Terdapat bermacam-macam operator perhitungan dalam SQL, diantaranya adalah sebagai berikut:

  • 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 adalah :
                COUNT(*)                           : Menghitung jumlah baris
                SUM(NAMA KOLOM)    : Menghitung penjumlahan data
                MAX(NAMA_KOLOM)   : Mencari nilai terbesar
                MIN(NAMA KOLOM)     : Mencari nilai terkecil
                AVG(NAMA KOLOM)     : Mencari nilai rata-rata

  • 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.

  • 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.

  • 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.

  • 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.

PERCOBAAN
  • 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.

                Mencari nilai tertinggi :
                SELECT max(nim_mahasiswa) FROM mahasiswa;

                POSTGRESQL


                MYSQL


                Mencari nilai terendah :
                SELECT min(nim_mahasiswa) FROM mahasiswa;

                POSTGRESQL


                MYSQL


                Mencari rata-rata :
                SELECT avg(nim_mahasiswa) FROM mahasiswa;

                POSTGRESQL


                MYSQL


  • Tampilkan rata-rata id atau nim mahasiswa yang data nimnya lebih dari 12.

                SELECT avg(nim_mahasiswa) FROM mahasiswa WHERE nim_mahasiswa >12;

                POSTGRESQL


                MYSQL


  • Tampilkan jumlah mahasiswa berdasarkan fakultas.

                SELECT nama_fak, count(*) FROM mahasiswa, fakultas WHERE                                                 mahasiswa.id_fak=fakultas.id_fak GROUP BY nama_fak;

                POSTGRESQL


                MYSQL


  • Tampilkan seperti nomor 3 dengan persyaratan jumlah mahasiswa yang lebih dari sama dengan 2 saja yang ditampilkan.

                SELECT nama_fak, count(*) FROM mahasiswa, fakultas WHERE                                                  mahasiswa.id_fak=fakultas.id_fak GROUP BY nama_fak HAVING count(*)>=2;

                POSTGRESQL


                MYSQL


  • Tampilkan data mahasiswa dengan persyaratan, jika jenis kelaminnya “L” maka tertulis laki-laki dan bila “P” maka tertulis perempuan.

                SELECT nim_mahasiswa, nama_mahasiswa, CASE WHEN gender='L' then                               'laki-laki' else 'perempuan' end as gender FROM mahasiswa;

                POSTGRESQL


                MYSQL


  • Buatlah view untuk query penampilan data mahasiswa, fakultas. Ambil berdasarkan nim, nama mahasiswa, nama fakultas.

            CREATE VIEW mahasiswa_fakultas as select nim_mahasiswa, nama_mahasiswa,                 nama_fak FROM mahasiswa, fakultas WHERE mahasiswa.id_fak=fakultas.id_fak;

                POSTGRESQL


                MYSQL



PERBANDINGAN POSTGRESQL DAN MYSQL
                Dalam percobaan ini, tidak ada perbedaan yang amat mencolok seperti pada percobaan sebelumnya. Perbedaannya mungkin hanya pada sisi kecepatan ketika eksekusi. Dalam mysql window query dan hasil eksekusi query yang kita buat berbeda. Hal ini cukup menyusahkan karena kita harus bolak balik mengklik window query untuk menuliskan query selanjutnya.
                Berbeda dengan postgresql, tempat penulisan query dan hasil eksekusi berada dalam satu window. Ini memudahkan, karena kita tidak perlu berganti-ganti window. Namun dalam postgresql apabila terjadi error atau kesalahan penulisan, akan tertera pada window tersebut. Di sana akan ditunjukan dibagian manakah letak keslahan kita. Jadi akan terlihat berapa error atau kesalahan yang telah kita lakukan dalam penulisan query.
                Dalam mysql, bentuk error tidak tercantum dalam window. Hanya terdapat peringatan letak kesalahan saja. Terkadang letak kesalahannya tidak ditunjukkan. Jadi terkadang kita sebagai user bingung, penulisan apakah yang salah dalam query tersebut.

KESIMPULAN
                Terdapat bermacam-macam operator yang data digunakan dalam perhitungan data, diantaranya adalah agregate operator, group by, having, case, dan view.
                Fungsi aggregate atau disebut fungsi ringkasan digunakan untuk melakukan penghitungan menjadi sebuah nilai dari beberapa nilai input. Adapun fungsi agregate yang disediakan oleh PostgreSQL adalah COUNT(*) digunakan untuk menghitung jumlah baris, SUM (menghitung penjumlahan data), MAX (mencari nilai terbesar), MIN (mencari nilai terkecil), dan AVG (mencari nilai rata-rata).
                Group By merupakan fungsi yang digunakan untuk melakukan pengelompokan dari perintah SELECT, seringkali diperlukan untuk menjalankan agregate menjadi sebuah kelompok dari hasil Query.
                Pemakaian HAVING terkait dengan GROUP BY, kegunaanya adalah untuk menentukan kondisi bagi GROUP BY, dimana kelompok yang memenuhi kondisi saja yang akan di hasilkan.
                Penggunaan CASE akan membentuk output tersendiri berupa sebuah kolom baru dengan data dari operasi yang di dalamnya.           
                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.

KRITIK DAN SARAN
                Penjelasan penulis tentang contoh-contoh penggunaan operator agregasi dan view kurang. Penulis hanya menmberikan penjelasa singkat, dan contoh singakat dalam kasus tertentu. Penulis tidak memberikan beberapa contoh lain atau kemungkinan lain yang bisa dilakukan dengan operator tersebut.
                Diharapkan bagi penulis untuk memberikan banyak contoh tentang penggunaan operator agregasi, supaya pembaca tidak merasa bingung dalam perhitungan data.

MANFAAT
  1. Pembaca dapat memahami operator agregasi sql sehingga mempermudah dalam hal perhitungan data.
  2. Pembaca dapat memahami cara penggunaan view.























Sabtu, 11 Oktober 2014

LAPORAN 4

LAPORAN
PRAKTIKUM DESAIN BASIS DATA
“Pengenalan Operator Dasar”

LANDASAN TEORI
            Terdapat bermacam-macam operator dasar dalam SQL yang digunakan untuk memanipulasi data. Berikut ini adalah contoh dari macam-macam operator tersebut :
  •  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. Berikut struktur query nya:    
            select namakolom as namakolompengganti from namatabel;
  •  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 seperti pada tabel berikut :
A
B
A AND B
A OR B
True
True
True
True
True
False
False
True
True
Null
Null
True
False
False
False
False
False
Null
False
Null
Null
Null
Null
Null


A
A NOT B
True
False
False
True
Null
Null
Berikut adalah struktur query nya:
            select * from namatabel where namakolom = ‘pencarian 1’ and namakolom = ‘pencarian 2’;
            Atau

            select * from namatabel where namakolom = ‘pencarian 1’ or namakolom = ‘pencarian 2’;
  • BETWEEN

            BETWEEN digunakan untuk menentukan lebar nilai dari nilai terendah dan nilai tertinggi. Pada BETWEEN menggunakan operator pembanding seperti pada tabel berikut:
OPERATOR
PENJELASAN
< 
Kurang dari
> 
Lebih dari
<=
Kurang dari atau sama dengan
>=
Lebih dari atau sama dengan
=
Sama dengan
< > atau !=
Tidak sama dengan
Logika operator BETWEEN sebagai berikut :
¨      Nilai a dalam formula “a BETWEEN x AND y” indentik dengan “a >= x AND a <= y
¨      a NOT BETWEEN x AND y “ identik dengan “a < x OR a > y
Berikut Struktur yang digunakan :
            select * from nama_tabel where nama_kolom between ‘nilai_awal’ and ‘nilai_akhir’;
  •  IN dan NOT IN

            Operator IN berguna melakukan pencocokan dengan salah satu yang ada pada suatu daftar nilai. Berikut Struktur yang digunakan :
            Select * from nama_tabel where nama_kolom in (kata_kunci1, kata_kunci2, kata_kunci13, kata_kunci14);
  •   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 :
KASUS
OPERATOR
Diawali dengan huruf A
LIKE „A%‟
Diakhiri dengan huruf A
LIKE „%A‟
Huruf A pada posisi ke dua
LIKE „_A%‟
Diawali dengan huruf A dan mengandung huruf I
LIKE „A%I%‟
Tidak diawali dengan huruf A
NOT LIKE „A%‟
Berikut struktur SQL untuk pencarian data menggunakan LIKE :
            select * from nama_tabel where nama_kolom like ‘operator’;
  • 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 :
POLA
PENJELASAN
[ ]
Ekspresi kurung. cocok dengan satu karakter yang berada dalam kurung, misal: pattern "a[bcd]i" cocok dengan string "abi", "aci", dan "adi". Penggunaan range huruf dalam kurung diperbolehkan, misal : pattern "[a-z]" cocok dengan salah satu karakter diantara string "a" sampai "z". pattern [0-9] cocok dengan salah satu angka. jika ingin mencari karakter "-" juga, karakter tersebut harus diletakkan di depan atau di belakang kelompok, misal: "[abc-]".
[^ ]
Cocok dengan sebuah karakter yang tidak ada dalam kurung, berlawanan dengan yang diatas. misal: pattern "[^abc]" cocok dengan satu karakter apa saja kecuali "a", "b", "c".
?
Cocok dengan nol atau satu karakter sebelumnya. misal: pattern "died?" cocok dengan string "die" dan "died".
+
Cocok dengan satu atau lebih karakter sebelumnya. misal: "yu+k" cocok dengan "yuk", "yuuk", "yuuuk", dan seterusnya.
*
Cocok dengan nol atau lebih karakter sebelumnya. misal: pattern "hu*p" cocok dengan string "hp", "hup", "huup" dan seterusnya.
{x}
Cocok dengan karakter sebelumnya sejumlah x karakter. misal: pattern "[0-9]{3}" cocok dengan bilangan berapa saja yang berukuran 3 digit.
{x,y}
Cocok dengan karakter sebelumnya sejumlah x hingga y karakter. misal: pattern "[a-z]{3,5}" cocok dengan semua susunan huruf kecil yang terdiri dari 3 sampai 5 huruf.
!
Jika diletakkan di depan pattern, maka berarti "bukan".
misal pattern "!a.u" cocok dengan string apa saja kecuali string "alu", "anu", "abu", "asu", "aiu", dan seterusnya .
^
Jika diletakkan di depan pattern, akan cocok dengan awal sebuah string.
( )
Gruping. digunakan untuk mengelompokkan karakter - karakter menjadi single unit. string yang cocok dalan pattern yang berada dalam tanda kurung dapat digunakan pada operasi berikutnya. semacam variable.
$
Jika diletakkan di belakang pattern, akan cocok dengan akhir sebuah string.
Berikut struktur SQL untuk pencarian data menggunakan REGEXP :
            select * from nama_tabel where nama_kolom ~ ‘operator_regexp dan patern’;
  • 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. Berikut struktur perintah dasar SQL :
            select distinct nama_kolom from nama_tabel;
  • 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. Berikut struktur perintah dasar SQL :
            select * from nama_tabel limit 2;
            Atau
            select * from nama_tabel offset 2;
  •   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. Berikut struktur query untuk UNION :
            select nama_kolom from nama_tabel union select nama_kolom from nama_tabel;
            atau
            select nama_kolom from nama_tabel union all select nama_kolom from nama_tabel;
            EXCEPT digunakan untuk menampilkan hanya query pertama saja, sedangkan hasil query kedua dan yang sama dengan hasil query kedua tidak akan ditampilkan. Berikut struktur query penggunaan EXCEPT :
            select nama_kolom from nama_tabel except select nama_kolom from nama_tabel;
            Perintah INTERSECT hanya akan menampilkan seluruh isi dari data yangmemiliki kesaman diantara hasil kedua query tersebut. Berikut struktur query penggunaan INTERSECT :
            select nama_kolom from nama_tabel except select nama_kolom from nama_tabel;
            Dari uraian materi tentang UNION, EXCEPT dan INTERSECT dapat digambarkan sebagai berikut : 

            Gambar diatas menyatakan UNION yaitu gabungan dari kedua buah object.
            Sedangan gambar kedua menyatakan EXCEPT dimana object yang diambil hanya yang kuning. Sehingga object yang merah atau object kuning yang sama dengan object merah tidak diambil. 
Gambar ke tiga menyatakan INTERSECT yaitu mengambil object yang berwarna hijau atau object memiliki kandungan dari object kuning dan merah.

LANGKAH KERJA
Persiapan praktek : Gunakan tabel mahasiswa dan fakultas pada pertemuan 3. 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
Nomor
Nama
1
Jantung
2
Paru-paru
3
Tenggorokan

            b. Tabel organ_luar
Nomor
Nama
1
Hidung
2
Mata
3
Tenggorokan

HASIL PERCOBAAN
            Pada praktikum kali ini kita menggunakan tabel mahasiswa dan fakultas yang telah kita buat di pertemuan kemarin. Pertama kita menambahkan satu kolom, yaitu kolom gender ke dalam tabel mahasiswa. Kemudian kita mengubah isi data yang kita buat dengan menambahkan gender pada data tersebut dengan perintah UPDATE. Setelah itu, kita memasukkan data ke dalam tabel fakultas sampai 3 baris dan ke dalam tabel mahasiswa sampai 7 baris. Caranya adalah sebagai berikut :
            SQL SHELL :


            MYSQL :
            Membuat kolom gender


            Mengupdate isi tabel


            Memasukkan data


            Isi tabel



            Menampilkan data mahasiswa dengan nama dari kolomnya berubah menjadi nomor_identitas, nama, alamat,nama_fakultas tanpa harus merubah nama kolom secara permanen.
            SQL SHELL :


           MYSQL :


            Menampilkan nama mahasiswa fakultas saintek yang berjenis kelamin laki-laki. Kemudian nama mahasiswa fakultas saintek atau berjenis kelamin laki-laki.
            SQL SHELL :


            MYSQL :
            AND


           OR


            Suatu tabel mahasiswa terdapat 7 baris data mahasiswa. Menampilkan 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.
            SQL SHELL :


            MYSQL :
            BETWEEN
            NOT BETWEEN

           TANPA BETWEEN

            Menampilkan mahasiswa dengan nomor 2,3,5 menggunakan operator IN.
            SQL SHELL :

            MYSQL :

            Menampilkan semua data mahasiswa yang namanya mempunyai awalan huruf “a”.
            SQL SHELL :

            MYSQL :



            Menampilkan semua data mahasiswa yang namanya mempunyai akhiran “a” dan huruf ke-3 dari nama tersebut terdapat huruf “n”.
            SQL SHELL :


            MYSQL :


            Menampilkan nomor fakultas di tabel mahasiswa dengan nomor harus tidak ada yang sama dari baris pertama sampai akhir.
            SQL SHELL :


            MYSQL :


            Menampilkan data mahasiswa 3 baris saja.
            SQL SHELL :


            MYSQL :


            Menampilkan 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.
            SQL SHELL :


            MYSQL :


            Membuat tabel dengan nama organ_dalam dan organ_luar. Lalu menampilkan data dari kedua tabel tersebut menggunakan UNION, EXCEPT dan INTERSECT.
            SQL SHELL :


            MYSQL :
            Membuat tabel organ dalam
           


            Membuat tabel organ luar


            
        UNION


PERBANDINGAN ANTARA SQL SHELL DENGAN MYSQL
  1. Dalam MySQL kita bisa memasukkan beberapa perintah INSERT sekaligus dalam query window, lalu kemudian baru dieksekusi. Sedangkan pada SQL Shell, kita hanya bisa memasukkan satu perintah INSERT, lalu dieksekusi.
  2. Dalam SQL Shell kita tidak perlu berpindah-pindah ke query window karena hasil query langsung dieksekusi dan berada di window yang sama. Sedangkan dalam MySQL, kita harus berpindah-pindah ke query window setelah mengeksekusi suatu query, contohnya seperti perintah SELECT.
  3. Terdapat perbedaan query pada operator REGEXP. Dalam SQL Shell, kita menuliskan operator REGEXP dengan menggunakan simbol (~). Namun dalam MySQL kita tidak bisa menggunakan operator tersebut. Kita harus menuliskan kata REGEXP dalam query operator tersebut.
  4. Dalam SQL Shell, kita dapat menggunakan operator UNION, EXCEPT, dan INTERSECT. Namun dalam MySQL kita hanya bisa menggunakan operator UNION saja. Sedangkan untuk EXCEPT dan INTERSECT tidak bisa. Untuk menggunakan perintah tersebut ada query lain, yaitu :

            EXCEPT            :
                        SELECT * FROM namatabel1 WHERE syarat NOT IN (SELECT * FROM                                            namatabel2);
            INTERSECT :
                        SELECT * FROM namatabel1 WHERE syarat IN (SELECT * namatabel2);

KESIMPULAN
            Ada bermacam-macam perintah operator SQL. Berikut ini adalah beberapa macam perintah tersebut berikut fungsinya :
  •  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.
  • AND dan OR
  • BETWEEN

            BETWEEN digunakan untuk menentukan lebar nilai dari nilai terendah dan nilai tertinggi.
  • 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.

  • 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.
  • 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.
  • LIMIT

            LIMIT dan OFFSET digunakan untuk membatasi jumlah output dari query berdasarkan jumlah row bukan karena kondisi seperti WHERE.
  • UNION, EXCEPT dan 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 yangmemiliki kesaman diantara hasil kedua query tersebut.      
KRITIK
            Penulis tidak menunjukkan contoh dari penggunaan operator EXCEPT dan INTERSECT pada MySQL. Penulis hanya menunjukkan struktur querynya saja.  

SARAN
            Penulis harap menambahkan contoh penggunaan operator EXCEPT dan INTERSECT, bukan hanya query nya saja.

MANFAAT
  1. Pembaca memahami operator dasar dalam standar query sql.
  2. Pembaca memahami cara penggunaan operator dasar dalam hal manipulasi data.