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 :
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]
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
- 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
- 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 :
Sintaks :
REVOKE hak_akses ON nama_db FROM nama_pemaikai; atau
REVOKE hak_akses ON nama_table FROM nama_pemakai;
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
- 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
- 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
Source : http://njsalsabila.blogspot.com/2016/12/bahasa-query-terapan-lanjutan.html
Komentar
Posting Komentar