Jun 27, 2021
Basis Data 2
Kuliah
Structured Query Language (SQL) - Basis Data 2
Structured Query Language (SQL) adalah Bahasa yang digunakan untuk mengakses data dalam basis data relational. Merupakan Bahasa standar yang digunakan di hampir semua server basis data untuk melakukan managemen datanya.
|
Digunakan untuk menetapkan daftar atribut yang ingin dikeluarkan sebagai hasil query |
|
Berkaitan dengan operasi produk kartesian / menetapkan table yang akan ditelusuri |
|
Berkaitan dengan predikat seleksi yang harus dipenuhi dalam
memperoleh hasil query |
Klausa Select
Contoh table dosen
|
|
|
|
|
---|---|---|---|---|
041611 | Agung |
|
29/01/1985 | Informatika |
040912 | Santi |
|
01/10/1983 | Sipil |
041805 | Fadil |
|
09/02/1986 | Akuntansi |
041707 | Ira |
|
20/05/1984 | PGSD |
Jika ingin menampilkan NIDN dan nama seluruh dosen yang ada ditable tersebut,
maka perintahnya adalah
SELECT NIDN, Nama FROM dosen;
Jika ingin menampilkan seluruh atribut yang terdapat pada table tersebut
perintahnya adalah
SELECT * FROM dosen;
Klausa Where
Klausa ini digunakan untuk menetapkan predikat atau kriteria yang harus
dipenuhi dalam menampilkan query.
SELECT * FROM dosen WHERE Prodi=`sipil`;
Ekpresi tersebut digunakan untuk menampilkan semua atribut untuk dosen dengan
prodi sipil
Nilai sipil diapit dengan tanda kutip tunggal. Penggunaan tanda kutip ini
berlaku untuk nilai yang bertipe string ( sesuai dengan type dari atribut kode
kuliah ). Sehingga tampilannya adalah
|
|
|
|
|
---|---|---|---|---|
040912 | Santi |
|
01/10/1983 | Sipil |
Klausa From
Pada pembahasan sebelumnya secara tidak langsung juga sudah mencontohkan
klausa from dengan satu table dosen. Jika dalam sebuah database tersebut
terdapat banyak table lain yang saling berhububungan, maka kita bisa
menentukan table mana yang mau kita seleksi sebagai sumber pencarian data.
Atribut-atribut yang akan kita tampilkan dalam hasil query tidak hanya
berasal dari satu tabel, namun bisa jadi dari sejumlah tabel, pada kasus
seperti inilah klausa from akan sangat berperan penting.
Contoh table kuliah
|
|
|
|
|
---|---|---|---|---|
L002 | BD1 |
|
|
041611 |
D324 | Pengecoran |
|
|
040912 |
T021 | SIA |
|
|
041805 |
M443 | Met Ngajar |
|
|
041707 |
Untuk melakukan query antara dua tabel atau lebih, tidak bisa dilakukan
dengan sembarangan. Tabel-tabel yang akan dijadikan query haruslah memiliki
relasi. Pada table diatas terdapat relasi dengan table dipembahasan
sebelumnya.
SELECT * FROM dosen, kuliah WHERE kuliah.NIDN = dosen.NIDN;
Hasilnya akan menampilkan data kuliah beserta dosen dosen yang akan
mengajarnya.
Jika kita ingin menampilkan atribut tertentu saja maka
SELECT kuliah.Kode.matkul, kuliah.Nama_matkul, dosen.nama
FROM kuliah, dosen
WHERE kuliah.NIDN = dosen.NIDN;
Jika kita ingin mengganti header dari tampilan query dan menampilkan hasil query hanya untuk matakuliah yang diselenggarakan di semester 3 maka
SELECT kuliah.Kode.matkul AS kode, kuliah.Nama_matkul AS kuliah, dosen.nama AS dosen
FROM kuliah, dosen
WHERE kuliah.NIDN = dosen.NIDN
AND kuliah.semester = 3;
Klausa Where Tambahan
Query dengan kriteria yang berbentuk range nilai tertentu dapat menggunakan tambahan klausa between
SELECT * FROM kuliah WHERE semester BETWEEN 3 AND 5;
Pada contoh diatas akan menampilkan record record kuliah yang diselenggarakan antara semester 3 s/d semster 5. Tampilannya adalah:
|
|
|
|
|
---|---|---|---|---|
L002 | BD1 |
|
|
041611 |
T021 | SIA |
|
|
041805 |
M443 | Met Ngajar |
|
|
041707 |
Pengurutan Hasil Query
Pengurutan record record hasil query disesuaikan dengan struktur penyimpanan yang kita terapkan pada tabel query. Terdapat dua jenis struktur penyimpanan, yaitu:
|
|
---|---|
Hasil query akan ditampilkan berdasarkan kronologis (waktu) penyimpanan | Hasil query akan ditampilkan sesuai dengan atribut yang menjadi dasar indeks |
Terdapat dua jenis mode pengurutan , yaitu pengurutan naik dan pengurutan turun. Kedua mode pengurutan tersebut sama sama mengunakan klausa order by, hanya saja pada pengurutan turun ditambahkan dengan klausa desc pada klausa order by nya. Berikut ini adalah contoh pengurutan hasil query:
Ekspresi diatas akan menampilkan query dengan urutan naik berdasarkan nama mata kuliah. Tampilannya adalah:
SELECT * FROM kuliah ORDER BY Nama_matkul;
|
|
|
|
|
---|---|---|---|---|
L002 | BD1 |
|
|
041611 |
M443 | Met Ngajar |
|
|
041707 |
D324 | Pengecoran |
|
|
040912 |
T021 | SIA |
|
|
041805 |
SELECT * FROM kuliah ORDER BY Nama_matkul DESC;
|
|
|
|
|
---|---|---|---|---|
T021 | SIA |
|
|
041805 |
D324 | Pengecoran |
|
|
040912 |
M443 | Met Ngajar |
|
|
041707 |
L002 | BD1 |
|
|
041611 |