Anda di halaman 1dari 4

Laporan Basis Data 07

“Seleksi Antar Tabel”

Dosen Pengampuh : Andriani Putri, S.Kom., M.Sc

Disusun oleh

Nama : rafik

Nim : 2105903040063

UNIVERSITAS TEUKU UMAR

FAKULTAS TEKNIK

JURUSAN TEKNOLOGI INFORMASI


A. TUJUAN PRATIKUM
a. Menampilkan data dari lebih dari dua tabel dengan CROSS JOIN

B. LATIHAN

Materi : 1

1. Cross Join dan Join tanpa statemen JOIN


Join adalah perintah SQL yang berfungsi untuk melakukan relasi antara kedua tabel atau
lebih yang saling memiliki hubungan / relasi ( ditandai dengan adanya primary key pada
tabel master dan foregn key pada tabel transaksi ). semua baris yang terdapat dalam tabel –
tabel yang digabungkan baik yang berpasangan maupun yang tidak berpasangan. Pada
kenyataan join jenis ini tidak akan pernah dipakai. Meskipun begitu join jenis inilah yang
merupakan dasar dari perintah join . sebelum melakukan join tabel kita akan membuat tabel
3 tabel terlebih dahulu berikut adalah cara pembuatan tabel nya:

a. Tabel siswa
mysql> create table siswa(
-> nim int (5) primary key,
-> nama varchar (20),
-> jk char(2),
-> alamat varchar(21));
Query OK, 0 rows affected, 1 warning (0.24 sec)

mysql> desc siswa;


+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| nim | int | NO | PRI | NULL | |
| nama | varchar(20) | YES | | NULL | |
| jk | char(2) | YES | | NULL | |
| alamat | varchar(21) | YES | | NULL | |
+--------+-------------+------+-----+---------+-------+
b. Tabel mata kuliah
mysql> create table mata_kuliah(
-> kd_mk int(5)primary key,
-> nama_mk varchar (15),
-> sks char (1));
Query OK, 0 rows affected, 1 warning (0.15 sec)

mysql> desc mata_kulah;


+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| kd_mk | int | NO | PRI | NULL | |
| nama_mk | varchar(15) | YES | | NULL | |
| sks | char(1) | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
c. Tabel ambil_mk
mysql> create table ambil_mk(
-> nim int (5),
-> kd_mk int (5),
-> nilai int(2),
-> foreign key (nim) references siswa (nim),
-> foreign key (kd_mk) references mata_kuliah (kd_mk));
Query OK, 0 rows affected, 3 warnings (0.97 sec)

mysql> desc ambil_mk;


+-------+------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+------+------+-----+---------+-------+
| nim | int | YES | MUL | NULL | |
| kd_mk | int | YES | MUL | NULL | |
| nilai | int | YES | | NULL | |
+-------+------+------+-----+---------+-------+
3 rows in set (0.00 sec)

Setelah tabel telah di buat maka kita akan mengisi data di dalam field dengan syntax
berikut
a. Tabel siswa
mysql> insert into siswa values ('1120', 'arya', 'l',
'subusalam'),
-> ('1130', 'rahma', 'p', 'meulaboh'),
-> ('1140', 'aida', 'p', 'banda aceh'),
-> ('1150', 'adi', 'l', 'mandiling natal');
Query OK, 4 rows affected (0.04 sec)

b. Tabel mata kuliah


mysql> insert into mata_kuliah values('tif12', 'struktur data',
'3'),
-> ('tif13', 'manajemen ti', '2'),
-> ('tif34', 'basis data', '3'),
-> ('tif32', 'basis data II', '3'),
-> ('tif23', 'komputer grafis', '3');
Query OK, 5 rows affected (0.08 sec)

c. Tabel ambil mk
mysql> insert into ambil_mk values ('1110', 'tif12', '80'),
-> ('1120', 'tif13', '78'),
-> ('1130', 'tif34', '90'),
-> ('1140', 'tif32', '85'),
-> ('1150', 'tif23', '80');
Query OK, 5 rows affected (0.08 sec)
Setelah tiga tabel di buat kita akan melakukan proses join tabel dengan syntax berikut:

select nama, kd_mk nilai from siswa scross join ambil_mk a;


(menampilkan keseluruhan nama, kd_mk ,dan nilai field didalam data siswa, matkul, dan
ambil_mk).
select s.nim, nama, a.kdmk, nilai from siswa s,ambil_mk a
where s.nim=a.nim;(menampilkan data nim, kd_mk yang menmapilkan hanya
sekali data yang sama.dan menambahkan alias a dan s)
select s.nim, nama, a.kdmk, m.nama_mk, nilai from siswa s, ambil_mk a,
matkul m where s.nim=a.nim and a.kdmk=m.kdmk; (menampilkan 3 tabel
seklaigus dan menampilakn hanya sekali data yang sama).

Berikut adalah contoh gambar sourcecode nya:

Anda mungkin juga menyukai