Minggu, 16 November 2014

I. TUJUAN

1. Memahami terapan dari sub query dan indeks dalam segala kasus
2. Mengerti perbedaan antara Pgsql dan Mysql

II. LANDASAN TEORI

SUB QUERY
Subquery atau Batin permintaan atau Query bersarang adalah query dalam query. SQL subquery biasanya ditambahkan dalam MANA Klausul pernyataan SQL. Sebagian besar waktu, subquery digunakan ketika Anda tahu bagaimana untuk mencari nilai menggunakan pernyataan SELECT, tetapi tidak tahu nilai yang tepat dalam database. Subqueries adalah cara alternatif untuk kembali data dari beberapa tabel.

SQL Subquery; Pernyataan SELECT
1) Sebuah subquery dapat digunakan dalam laporan SELECT sebagai berikut. Mari kita menggunakan produk dan meja order_items didefinisikan dalam bagian sql_joins.

SQL Subquery; Pernyataan INSERT
2) Subquery dapat digunakan dengan pernyataan INSERT untuk menambahkan baris data dari satu atau lebih tabel ke meja lain.

SQL Subquery; Pernyataan UPDATE
3) Sebuah subquery dapat digunakan dalam laporan UPDATE sebagai berikut. Mari kita menggunakan produk dan meja order yang ada untuk diganti data sesuai keinginan.

4) Biasanya, subquery harus kembali hanya satu record, tapi kadang-kadang juga dapat kembali beberapa catatan bila digunakan dengan operator SEPERTI DI, TIDAK DI dalam klausul mana.
Korelasi Subquery
Permintaan A disebut subquery berkorelasi ketika kedua inner query dan permintaan luar saling bergantung. Untuk setiap baris diproses oleh inner query, permintaan luar diproses juga. Inner query tergantung pada permintaan luar sebelum dapat diproses.
SELECT namakolom FROM namatabel WHERE namakolom operator (subquery);Kegunaan-kegunaan  Subquery dalam memanipulasi data:
·         Meng-copy data dari satu tabel ke tabel lain
·         Menerima data dari inline view
·         Mengambil data dari tabel lain untuk kemudian di update ke tabel yang dituju
·         Menghapus baris dari satu tabel berdasarkan baris dari tabel lain
Perintah ini hanya bisa menerima satu(1) buah hasil dari sub query, jika hasil dari sub query ada lebih adari satu maka akan terjadi error. Ada beberapa bahasan terkait penggunaah Sub Query ini antara lain :

1) Sub query dengan IN
Jika operator ‘=’ hanya digunakan untuk hasil yang tepat satu, maka jika ingin menampilkan yang memiliki hasil lebih dari satu maka menggunakan perintah IN.SELECT namakolom FROM namatabel WHERE kondisi opeatorperbandingan IN (subquery);
2) Sub query dengan ALL
Command ALL diikuti dengan operator perbandingan digunakan memiliki arti menampilkan nilai jika perbandingan bernilai benar untuk semua data. Operator perbandingan tersebut berupa ( <, >, =, != ). Berikut adalah query dasar dari sub query all
SELECT namakolom FROM namatabel WHERE kondisi opeatorperbandingan ALL (subquery);
3) Sub query dengan ANY
Command ANY diikuti dengan operator perbandingan memiliki arti menampilkan nilai yang sesuai dengan apapun yang dihasilkan oleh sub query. Contoh query dasar dari sub query ANY
SELECT namakolom FROM namatabel WHERE kondisi opeatorperbandingan ANY (subquery);
4) Sub query dengan EXISTS
Perintah EXISTS disini berguna untuk mengartur penampilan hasil query, Query Utama akan dijalankan jika Sub Query bernilai TRUE (ada hasilnya) jika hasilnya kosong maka Query utama tidak akan dijalankan. Lawan dari statement EXISTS adalah NOT EXISTS SELECT namakolom FROM namatabel WHERE EXIST / NOT EXIST (subquery);

Catatan Subquery
1) Anda dapat sarang karena banyak pertanyaan yang Anda inginkan,
Non-corelated Subquery
2) Jika subquery tidak tergantung pada permintaan luar itu disebut subquery non-berkorelasi
Kesalahan Subquery
3) Meminimalkan kesalahan subquery: Gunakan drag and drop, copy dan paste untuk menghindari berjalan subqueries dengan ejaan dan kesalahan ketik basis data. Perhatikan bidang beberapa Anda menggunakan koma SELECT, tambahan atau untuk beberapa mendapatkan pesan error SQL "sintaks salah".
SQL Subquery Komentar
4) Menambahkan komentar Subquery SQL adalah kebiasaan yang baik (/ * perintah komentar anda * /) yang dapat menghemat waktu Anda, menjelaskan kerja sebelumnya .. hasil Anda sakit kepala SQL kurang

INDEKS
Indeks disini berguna dalam suatu pencarian nilai atau data dalam database. Dalam suatu kasus ketika mengakses sebuah tabel biasanya DBMS akan membaca seluruh tabel baris perbaris hingga selesai. Ketika baris sangat banyak dan hasil dari query hanya sedikit, maka hal ini sangat tidak efisien. Seperti halnya ketika kita membaca sebuah buku dan ingin mencari kata atau istilah tertentu dalam buku maka biasanya akan di cari dengan membuka setiap halaman dari awal sampai akhir. Dengan adanya indeks buku maka kita cukup dengan membuka indeks, sehingga akan cepat dalam pencarian kata tersebut. PostgreSQL tidak bisa membuat indeks dengan otomatis, sehingga user dapat membuat indeks tersebut untuk sering kali digunakan kolom, biasanya dalam clause WHERE. Berikut struktur SQL :

Sintaks untuk membuat Index:
CREATE INDEX index_name
ON table_name (column_name1,column_name2...);
Sintaks untuk membuat Index unik SQL:
CREATE UNIQUE INDEX index_name
ON table_name (column_name1,column_name2...);
index_name adalah nama INDEKS.
table_name adalah nama dari tabel yang kolom diindeks milik.
column_name1, column_name2 .. adalah daftar kolom yang membentuk INDEKS.
Di Oracle ada dua jenis indeks SQL yaitu, implisit dan eksplisit.

Indeks Implisit:
Mereka dibuat ketika suatu kolom explicity didefinisikan dengan PRIMARY KEY, UNIQUE Kendala KUNCI.
Indeks Explicit:
Mereka diciptakan menggunakan "membuat indeks .." sintaks.

Catatan Index :
1) Meskipun indeks sql diciptakan untuk mengakses baris dalam tabel cepat, mereka memperlambat operasi DML seperti INSERT, UPDATE, DELETE di atas meja, karena indeks dan tabel kedua diperbarui sepanjang ketika operasi DML dilakukan. Jadi menggunakan indeks hanya pada kolom yang digunakan untuk mencari meja sering.
2) Apakah tidak diperlukan untuk membuat indeks di atas meja yang memiliki sedikit data.

3) Dalam database oracle Anda dapat membuat hingga enam belas (16) kolom dalam INDEX.

III. HASIL PRAKTIKUM

1. Tampilkan nama fakultas dan jumlah mahasiswa yang mampunyai ketentuan nama fakultas yang dimunculkan dengan jumlah mahasiswanya terkecil!





2.Tampilkan nama mahasiswa, nama fakultas, alamat dengan syarat nama fakultas sama dengan edi dan alamatnya tidak sama dengan luki!





3.Buatlah index di tabel mahasiswa(alamat). Kemudian buat lagi index yang bersifat unik pada tabel fakultas(fak_nama) kemudian amati perbedaannya ketika memasukkan data yang sama!



4. Buat kolom nama di mahasiswa menjadi unik dan inputkan 2 data yang sama. Kemudian amati perbedaannya !





5. Pindahkan data dari tabel mahasiswa, fakultas ambil kolom nim, nama mahasiswa, alamat, nama fakultas ke tabel baru yang dinamai „tabel identitas‟.





6.Buatlah contoh penggunaan check pada sub bab pembahasan CHECK. Kemudian masukkan beberapa data baik yang sesuai dengan criteria check maupun yang bukan dan amati perbedaannya.





7. Inputkan data di tabel mahasiswa dimana pada kolom nama sebelum inputkan karakter dahulukan dengan spasi dan di akhiri dengan tanda “+” seperti berikut : “ andi cahyono++++”. kemudian munculkan seluruh data dan hilangkan spasi didepan!





8. Munculkan data mahasiswa dengan hilangkan karakter “+” di akhir data dan karakter “a” di awal kata pada kolom nama!







IV. PERBEDAAN

Menurut Saya.. perbedaan yang saya tahu yaitu terdapat pada :
Penerapan query PostgreSQL " SELECT TRIM (BOTH 'kondisi1, kondisi 2' from "nama kolom") from "nama tabel"
tidak bisa di lakukan di dalam MySQL karena akan terjadi kesalahan

V. KESIMPULAN


SUB QUERY
Subquery atau Batin permintaan atau Query bersarang adalah query dalam query. Sebagian besar waktu, subquery digunakan ketika Anda tahu bagaimana untuk mencari nilai menggunakan pernyataan SELECT, tetapi tidak tahu nilai yang tepat dalam database. Subqueries adalah cara alternatif untuk kembali data dari beberapa tabel.
4 Dasar dari Sub Query yang wajib di ingat
SQL Subquery; Pernyataan SELECT
SQL Subquery; Pernyataan INSERT
SQL Subquery; Pernyataan UPDATE
SQL Subquery; Pernyataan DELETE
INDEKS
Indeks disini berguna dalam suatu pencarian nilai atau data dalam database. Dalam suatu kasus ketika mengakses sebuah tabel biasanya DBMS akan membaca seluruh tabel baris perbaris hingga selesai. Ketika baris sangat banyak dan hasil dari query hanya sedikit, maka hal ini sangat tidak efisien. 


VI. KRITIK DAN SARAN

Tolong di kritik ya kk :-D semoga jawaban in benar dan jika salah tolong di benarkan ya :D


VII. DAFTAR PUSTAKA

http://beginner-sql-tutorial.com/id/sql-subquery.htm
http://www.w3resource.com/mysql/string-functions/mysql-trim-function.php
http://www.w3schools.com/sql/default.asp
Membangun Database MYSQL dengan Java GUI
Categories:

2 komentar:

  1. ikuti format dong.. gak ada perbandingan sih....

    BalasHapus
  2. contoh dari pernyataan update,delete dan insertnya kok ga ada ?

    BalasHapus

Subscribe to RSS Feed Follow me on Twitter!