Cara Membuat Query SQL Untuk Relasi antar Tabel


membuat query sql untuk relasi tabel contoh kasus data perkulahan mahasiswa :

    1). buat terlebih dahuli tabel dibawah ini :
    Tabel ambilmk :

    CREATE TABLE `ambilmk` (
    `nim` varchar(5),
    `kodemk` varchar(4),
    `nilai` float,
    `smt` varchar(10),
    `thajar` varchar(10),
    PRIMARY KEY (`nim`,`kodemk`)
    );

    Tabel mhs:

    CREATE TABLE `mhs` (
    `nim` varchar(5),
    `namamhs` varchar(20),
    `alamat` text,
    `tgllhr` date,
    PRIMARY KEY (`nim`)
    );

    Tabel mk:

    CREATE TABLE `mk` (
    `kodemk` varchar(4),
    `namamk` varchar(20),
    `sks` int(11),
    `smt` varchar(10),
    PRIMARY KEY (`kodemk`)
    );

    2). isi tabel sample sbb:
    Tabel ambilmk :

    INSERT INTO `ambilmk` VALUES (‘M001’, ‘MK01’, ‘3’, ‘GANJIL’, ‘2001-2002’);
    INSERT INTO `ambilmk` VALUES (‘M001’, ‘MK02’, ‘2’, ‘GANJIL’, ‘2001-2002’);
    INSERT INTO `ambilmk` VALUES (‘M002’, ‘MK01’, ‘4’, ‘GANJIL’, ‘2001-2002’);
    INSERT INTO `ambilmk` VALUES (‘M003’, ‘MK03’, ‘4’, ‘GENAP’, ‘2001-2002’);

    Tabel mhs:
    INSERT INTO `mhs` VALUES (‘M001’, ‘XXX’, ‘SOLO’, ‘1990-10-01’);
    INSERT INTO `mhs` VALUES (‘M002’, ‘YYY’, ‘SEMARANG’, ‘1992-08-11’);
    INSERT INTO `mhs` VALUES (‘M003’, ‘ZZZ’, ‘SOLO’, ‘1991-04-15’);

    Tabel mk:
    INSERT INTO `mk` VALUES (‘MK01’, ‘KALKULUS I’, ‘3’, ‘GANJIL’);
    INSERT INTO `mk` VALUES (‘MK02’, ‘GEOMETRI’, ‘2’, ‘GANJIL’);
    INSERT INTO `mk` VALUES (‘MK03’, ‘KALKULUS II’, ‘3’, ‘GENAP’);

    Query SQL untuk menampilkan data mahasiswa (nim, nama) dari mahasiswa yang pernah mengambil matakuliah ‘MK01′ adalah sbb:
    SELECT mhs.nim, mhs.namamhs
    FROM mhs, ambilmk
    WHERE mhs.nim = ambilmk.nim AND ambilmk.kodemk = ‘MK01’;

    Setelah itu, kembali lagi kita lihat gambar relasi ketiga tabel di atas. Tabel ‘mhs’ dan ‘ambilmk’ dihubungkan dengan field ‘nim’ yang ada pada keduanya. Sedangkan tabel ‘mk’ dan ‘ambilmk’ terhubung oleh field ‘kodemk’ yang juga ada pada keduanya. Nah… selanjutnya kita bisa membuat query SQL nya:

    SELECT mhs.nim, mhs.namamhs, ambilmk.nilai
    FROM mhs, ambilmk, mk
    WHERE mhs.nim = ambilmk.nim AND mk.kodemk = ambilmk.kodemk AND mk.namamk = ‘KALKULUS I’;

    Trus… mungkin ada yang bertanya lagi… bagaimana jika query relasi tabelnya dijalankan di script PHP? Ya… caranya sama saja, Anda tinggal jalankan query SQL untuk relasi tabel di dalam script PHP nya. Dalam hal ini relasi tabel tetap ditentukan oleh query SQL nya..

    <?php
    mysql_connect("dbhost", "dbuser", "dbpass");
    mysql_select_db("dbname");

    $query = "SELECT mhs.nim, mhs.namamhs, ambilmk.nilai
    FROM mhs, ambilmk, mk
    WHERE mhs.nim = ambilmk.nim AND mk.kodemk = ambilmk.kodemk
    AND mk.namamk = 'KALKULUS I'";
    $hasil = mysql_query($query);

    echo "

    “;
    echo “

    “;
    while ($data = mysql_fetch_array($hasil))
    {
    echo “

    “;
    }
    echo “

    NIM Nama Mhs Nilai
    “.$data[‘nim’].” “.$data[‘namamhs’].” “.$data[‘nilai’].”

    “;

    ?>

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s