Pertemuan 11 - Bahasa Query Terapan Lanjutan

BAHASA QUERY TERAPAN LANJUTAN

A.Pengertian Join

Join merupakan operasi ang digunakan untuk menggabungkan dua tabel atau lebih dengan hasil berupa gabungan dari kolom-kolom yang berasal dari tabel-tabel tersebut. Pada join sederhana tabel-tabel digabungkan dan di dasarkan pada pencocokan antara kolom pada tabel yang berbeda.

Jenis-jenis Join
1. INNER JOIN
Digunakan untuk menampilkan data dari dua tabel yang berisi data sesuai dengan syarat dibelakang on (tidak boleh null), dengan kata lain semua data dari tabel jabatan mendapat pasangan dari data table pegawai. Menggabungkan dua tabel dimana diantara dua tabel datanya bersesuaian.

tabel jabatan


tabel pegawai

Select*from pegawai inner join jabatan on (kodejabatan = kode)


2. LEFT JOIN

Digunakan untuk menampilkan semua data dari tabel jabatan perintah left join beserta pasangannya dari tabel pegawai. Meskipun terdapat data dari sebelah kiri tidak memiliki pasangan, tetap akan ditampilkan dengan pasangannya berupa nilai NULL.


Tabel Jabatan

Tabel Pegawai

Select*from pegawai left join jabatan on (kodejabatan=kode)


3. RIGHT JOIN

Digunakan untuk menampilkan semua data dari tabel pegawai perintah right join beserta pasangannya dari tabel jabatan. Meskipun terdapat darta dari sebelah kanan tidak memiliki pasangan, tetap akan ditampilkan dengan pasangannya berupa nilai NULL.

Tabel Pegawai

Tabel Jabatan

Select*from pegawai right join jabatan on (kodejabtan=kode)



B. DATA ACCESS

1.GRANT
Digunakan untuk memberikan hak akses, yang terdiri dari Insert, Update, Delete, Select.
Sintaks : 
GRANT hak_akses ON nama_db[WITH GRANT OPTION][AS GRANTOR] atau
GRANT hak_akses ON nama_table TO nama_pemakai[WITH GRANT OPTION][AS GRANTOR]

Contoh : 
- Berikan hak akses kepada Adi untuk menampilkan nilai final tes
- Berikan hak akses atau baca dari table S pada user JIM
- Berikan hak baca dan ubah data untuk attribut status dan city pada user JIM dan Jack

Caranya :
- GRANT SELECT (FINAL) ON NILAI TO ADI
- GRANT SELECT ON S TO JIM
- GRANT SELECT, Update(status,city) ON S TO JIM, JACK

2. REVOKE
Digunakan untuk menarik hak akses pemakai.
Sintaks :
REVOKE hak_akses ON nama_db FROM nama_pemaikai; atau
REVOKE hak_akses ON nama_table FROM nama_pemakai;

Contoh : 
- Tarik kembali dari Adi hak akses untuk menampilkan nilai final tes
- Menarik hak JIM untuk membaca pada table S
- Smith tidak boleh melakukan delete dan update untuk tabel P
- Joe tidak boleh melakukan apapun terhadap tabel S

Caranya : 
- REVOKE SELECT (FINAL) ON NILAI FROM ADI
- REVOKE SELECT ON S FROM JIM
- REVOKE DELETE, UPDATE ON P FROM SMITH
- REVOKE ALL ON S FROM JOE

C.DATA INTERGRITY
RECOVER TABLE

Sintaks : RECOVER TABLE nama_table

Contoh : kembalikan keadaan data mahasiswa seperti pada saat sebelum terjadi kerusakan

Caranya : RECOVER TABLE MHS; 

D.AUXILARY
1.  SELECT … INTO OUTFILE ‘filename’
Sintaks ini digunakan untuk mengekspor data dari tabel ke file lain.
Sintaks : SELECT … INTO OUTFILE ‘Nama File’ [FIELDS | COLUMNS [TERMINATED BY 'string'][[OPTIONALLY] ENCLOSED BY 'char'] [ESCAPED BY 'char'] ]

Contoh :
Ubah semua data mahasiswa ke bentuk ASCII dan disimpan ke file teks di directory/home/adi dengan pemisah antar kolom ‘|’ SELECT * FROM MHS INTO OUTFILE “/home/adi/teks” FIELDS TERMINATED BY “|”;

2. LOAD
Sintaks query ini digunakan untuk mengimpor data dari file lain ke tabel.
Sintaks : LOAD DATA INFILE “ nama_path” INTO TABLE nama_tabel
[ nama_kolom] ;[FIELDS | COLUMNS] [TERMINATED BY 'string'] [[OPTIONALLY] ENCLOSED BY 'char'][ESCAPED BY 'char'] ]

Contoh :
Memasukkan data-data dari file teks yang berada pada direktori “/home/adi” ke dalam tabel MHS_2. Dimana pemisah antara kolom dalam file teks adalah tab (\t) : LOAD FROM “/home/adi/teks” INTO MHS_2 FILELDS TERMINATED BY ‘\t’;

3.RENAME TABLE
Sintaks :
RENAME TABLE OldnamaTabel  TO NewNamaTabel
Contoh :
RENAME TABLE MHS TO MAHASISWA

E.FUNGSI AGREEGATE

 1. COUNT
Digunakan untuk menghitung jumlah. 
Menghitung jumlah record mahasiswa dari tabel MAHASISWA
SELECT COUNT(*) FROM MAHASISWA
 2. SUM
Digunakan untuk menghitung total dari kolom yang mempunyai
tipe data numerik.
SELECT SUM(SKS) AS ‘TOTAL SKS’ FROM MATAKULIAH
3. AVG
digunakan untuk menghitung rata-rata dari data-data dalam sebuah kolom.
SELECT AVG(FINAL) AS ‘FINAL’ FROM Nilai
4. MIN
digunakan untuk menghitung nilai minimal dalam sebuah kolom.
SELECT MIN(FINAL) FROM Nilai
5. MAX
diguankan untuk menghitung nilai maksimum dalam sebuah kolom
SELECT MAX(MID) FROM Nilai
F.SUBQUERY 
Adalah subselect yang dapat digunakan di klausa WHERE dan HAVING
dipernyataan select luar untuk menghasilkan tabel akhir.
Aturan-aturan untuk membuat subquery, yaitu :
1.Klausa Order By tidak boleh digunakan di subquery, Order By hanya 
dapat digunakan di pernyataan Select luar.
2. Klausa subquery Select harus berisi satu nama kolom tunggal atau 
ekspresi kecuali untuk subquery-subquery menggunakankata kunci EXIST
3. Secara default nama kolom di subquery mengacu ke nama table di klausa
 FROm dari subquery tersebut.
4.Saat subquery adalah salah satu dua operan dilibatkan di 
pembandingan, subquery harus muncul disisi kanan pembandingan.


Source : http://njsalsabila.blogspot.com/2016/12/bahasa-query-terapan-lanjutan.html

Komentar

Postingan populer dari blog ini

Pertemuan 9 - Bahasa Query Formal

Pertemuan 10 - Bahasa Query Terapan

Pertemuan 3 - Model Data