About Me

Hai, saya Rosihan Ari Yuana. Saya sehari-hari adalah mengajar di Universitas Sebelas Maret.

Bidang riset saya tentang adaptive learning, computer aided learning, dan datascience

Selain itu, saya juga seorang penulis buku dan blogger.

More about me...

  • Home
  • /
  • SQL
  • /
  • Relasi Tabel dengan Substring di SQL
SQL

Relasi Tabel dengan Substring di SQL

Pada artikel yang lain tentang substring di SQL telah dibahas sebelumnya mengenai pemanfaatan function substring() dalam membuat query SQL. Selanjutnya apakah dapat substring dari suatu string tersebut direlasikan dengan data yang ada dalam tabel lain?

Masih bingung dengan pertanyaan di atas? OK misalkan ada kasus seperti di bawah ini.

Diketahui data dalam tabel mahasiswa sebagai berikut :

NIM         Nama Mahasiswa
M0197001    Rosihan Ari Yuana
M0197002    Dwi Amalia Fitriani
M0297003    Faza Fauzan
M0298002    Nada Hasanah
M0398005    Yohana Dwi Ariyanto
M0398007    Ismail Hasan

Serta diketahui pula kode jurusan dan nama jurusan yang tersimpan dalam tabel Jurusan:

Kode Jurusan    Nama Jurusan
M01             Matematika
M02             Fisika
M03             Kimia

Apabila kita lihat data dari kedua tabel, maka terdapat relasi antara kode jurusan dengan NIM mahasiswa, terutama digit pertama sampai ketiga, contoh M01 pada NIM M0197001. Digit ini selanjutnya kita namakan substring karena bagian dari string NIM bukan? Substring tersebut menunjukkan informasi jurusan si mahasiswa.

Nah seandainya kita diminta menampilkan hasil query berikut ini:

Tampilkan semua Nama Mahasiswa dan Nama Jurusannya!

Bagaimana bentuk query SQL nya? Seandainya dalam tabel mahasiswa tersedia sebuah field tersendiri untuk menyimpan informasi kode jurusan mahasiswa, tentunya relasinya mudah. Nah lantas bagaimana? Ya…. relasikan saja substring dari NIM yang menunjukkan kode jurusan dengan field kode jurusan dalam tabel Jurusan. Berikut ini adalah statement SQL nya:

SELECT mhs.namaMhs, jurusan.namaJurusan
FROM mhs, jurusan
WHERE substring(mhs.nim, 1, 3) = jurusan.kodeJurusan;

dengan asumsi bahwa ‘mhs’ dan ‘jurusan’ adalah nama masing-masing tabel.

Maksud dari perintah substring(mhs.nim, 1, 3) adalah mengambil karakter 1 s/d 3 dari semua data yang ada dalam field NIM pada tabel mhs.

Selanjutnya bagaimana dengan permintaan query berikut ini?

Tampilkan nama mahasiswa dan nama jurusannya, dari mahasiswa yang berangkatan 97.

Untuk membuat statement SQL sesuai permintaan di atas, kita harus lihat dulu bahwa untuk tahun angkatan mahasiswa dapat dilihat dari karakter 4 s/d 5 dari NIM. Sehingga lagi-lagi kita gunakan substring(). Berikut ini statement SQL nya

SELECT mhs.namaMhs, jurusan.namaJurusan
FROM mhs, jurusan
WHERE substring(mhs.nim, 1, 3) = jurusan.kodeJurusan AND
substring(mhs.nim, 4, 2) = '97';

Mungkin ada bertanya, mengapa 97 nya diapit dengan tanda petik? Ya… 97 di sini kan merupakan substring dari string NIM mahasiswa, sehingga tahun angkatan ini juga merupakan string dan bukannya integer atau tipe data bilangan yang lain.

 

0
Bagikan artikel ini jika bermanfaat !

Saya seorang dosen dan peneliti di Universitas Sebelas Maret. Bidang penelitian saya tentang: adaptive learning, datascience, dan computer aided learning. Selain itu saya juga seorang blogger, serta penulis buku tentang pemrograman, dan matematika.

Leave a Reply