Structured Query Language (SQL) - Basis Data 2

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.


SELECT
Digunakan untuk menetapkan daftar atribut yang ingin dikeluarkan sebagai hasil query
FROM
Berkaitan dengan operasi produk kartesian / menetapkan table yang akan ditelusuri
WHERE
Berkaitan dengan predikat seleksi yang harus dipenuhi dalam memperoleh hasil query


Klausa Select
Contoh table dosen
NIDN
Nama
Jenis Kelamin
Tgl lahir
Prodi
041611 Agung
L
29/01/1985 Informatika
040912 Santi
P
01/10/1983 Sipil
041805 Fadil
L
09/02/1986 Akuntansi
041707 Ira
P
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
NIDN
Nama
Jenis Kelamin
Tgl lahir
Prodi
040912 Santi
P
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
Kode_matkul
Nama_matkul
Semester
SKS
NIDN
L002 BD1
3
3
041611
D324 Pengecoran
2
2
040912
T021 SIA
5
3
041805
M443 Met Ngajar
4
2
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:
Kode_matkul
Nama_matkul
Semester
SKS
NIDN
L002 BD1
3
3
041611
T021 SIA
5
3
041805
M443 Met Ngajar
4
2
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:
Penyimpanan heap
Penyimpanan sekuensial berindeks
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:
SELECT * FROM kuliah ORDER BY Nama_matkul;
Ekspresi diatas akan menampilkan query dengan urutan naik berdasarkan nama mata kuliah. Tampilannya adalah:
Kode_matkul
Nama_matkul
Semester
SKS
NIDN
L002 BD1
3
3
041611
M443 Met Ngajar
4
2
041707
D324 Pengecoran
2
2
040912
T021 SIA
5
3
041805

SELECT * FROM kuliah ORDER BY Nama_matkul DESC;
Ekspresi diatas akan menampilkan query dengan urutan turun berdasarkan nama mata kuliah. Tampilannya adalah:
Kode_matkul
Nama_matkul
Semester
SKS
NIDN
T021 SIA
5
3
041805
D324 Pengecoran
2
2
040912
M443 Met Ngajar
4
2
041707
L002 BD1
3
3
041611
Structured Query Language (SQL) - Basis Data 2
4/ 5
Oleh