0% menganggap dokumen ini bermanfaat (0 suara)
26 tayangan10 halaman

A. Pengertian Structure Query Language (SQL)

SQL adalah bahasa standar untuk manipulasi data pada basis data relasional. SQL terdiri dari DDL untuk definisi skema, DML untuk manipulasi data, dan DCL untuk kontrol akses. SQL mendukung berbagai tipe data dan kendala integritas seperti primary key dan foreign key untuk menjaga konsistensi data.

Diunggah oleh

KEVIN G
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
26 tayangan10 halaman

A. Pengertian Structure Query Language (SQL)

SQL adalah bahasa standar untuk manipulasi data pada basis data relasional. SQL terdiri dari DDL untuk definisi skema, DML untuk manipulasi data, dan DCL untuk kontrol akses. SQL mendukung berbagai tipe data dan kendala integritas seperti primary key dan foreign key untuk menjaga konsistensi data.

Diunggah oleh

KEVIN G
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 10

STRUCTURED QUERY LANGUAGE (SQL)

A. Pengertian Structure Query Language (SQL)


SQL adalah bahasa standar dalam basis data yang digunakan untuk melakukan
manipulasi data. Standardisasi bahasa ini dilakukan oleh ANSI tahun 86, 89, 92 dan 99. Di
mana tiap perubahan tahun dilakukan peningkatan kemampuan SQL. Pada perkembangan
saat ini standar yang paling banyak digunakan adalah ANSI 92. Hampir semua DBMS
menggunakan SQL sebagai fasilitas memanipulasi data seperti Oracle, SQLServer, MySQL,
PostGreeSQL, Foxpro, dan sebagainya.
Meskipun awalnya hanya merupakan bahasa untuk memanipulasi data, pada
perkembangannya SQL juga dapat digunakan untuk melakukan definisi data maupun control
(security) terhadap data.
Bahasa query pada Basis data terdiri dari Data-Definition Language (DDL) untuk
menentukan skema basis data, Data-Manipulation Language (DML) untuk mengekspresikan
permintaan dan pembaruan basis data, dan Data-Control Language (DCL) untuk mengatur
akses seorang user terhadap data.
1. Data-Definition Language (DDL)
DDL digunakan untuk menentukan properti tambahan dari data. DDL disebut
penyimpanan data dan bahasa definisi. DDL adalah perintah-perintah yang biasa
digunakan oleh Database Administrator (DBA). Pernyataan-pernyataan ini menentukan
detail implementasi dari skema basis data, yang biasanya disembunyikan dari pengguna.
Nilai data yang disimpan dalam basis data harus memenuhi batasan konsistensi tertentu.
Misalnya, misalkan universitas mengharuskan saldo akun suatu departemen tidak boleh
negatif. DDL menyediakan fasilitas untuk menentukan batasan seperti itu. Sistem basis
data memeriksa kendala ini setiap kali basis data diperbarui.
Dengan bahasa ini dapat dibuat tabel baru, membuat indeks, mengubah tabel,
menentukan struktur tabel, dll. Hasil dari kompilasi perintah DDL menjadi Kamus Data,
yaitu data yang menjelaskan data sesungguhnya. Perintah dasar yang termasuk ke dalam
DDL yaitu:
 Create, digunakan untuk membuat database, tabel, view dan kolom.
 Alter, digunakan untuk mengubah struktur tabel yang telah dibuat seperti mengganti
nama tabel, menambah, mengubah dan menghapus kolom pada tabel.
 Rename, digunakan untuk mengubah nama objek.

Rekayasa Perangkat Lunak SMKN 1 Cibinong (Yuli Dianah, S.T.) 1


 Drop, digunakan untuk menghapus database dan menghapus tabel.

Contoh:
create table jurusan (nama_jurusan char (20),
lokasi char (15),
anggaran numeric (12,2));

2. Data-Manipulation Language (DML)


DML adalah bahasa yang memungkinkan pengguna untuk mengakses atau memanipulasi
data sebagaimana diatur oleh model data yang sesuai. DML juga digunakan untuk
memasukkan, merubah, dan menghapus data-data di dalam sebbuah tabel. Perintah
yang termasuk ke dalam DML yaitu:
 Insert, digunakan untuk menyisipkan atau memasukkan data baru ke dalam tabel.
 Update, digunakan untuk memperbaharui data lama menjadi data baru.
 Delete, digunakan untuk menghapus data dari tabel.
 Select, digunakan untuk menampilkan data dari satu tabel atau beberapa tabel dalam
relasi.

Contoh:
select dosen, nama from dosen where dosen.jurusan = ’Fisika’;

3. Data Control Language (DCL)


DCL adalah bahasa SQL yang berkaitan dengan manipulasi dan hak akses pengguna.
Perintah yang termasuk ke dalam DCL yaitu:
 Grant, digunakan untuk memberikan hak akses oleh administrator kepada pengguna
biasa.
 Revoke, digunakan untuk menghilangkan atau mencabut hak akses yang telah
diberikan oleh administrator kepada pengguna biasa.

B. Tipe Dasar Variabel SQL


Standar SQL mendukung berbagai tipe bawaan, termasuk:
 char (n): String karakter dengan panjang tetap dengan panjang yang ditentukan
pengguna (n). Misalnya Nomor KTP, karena jumlah karakternya pasti sama sesuai
menggunakan char.

Rekayasa Perangkat Lunak SMKN 1 Cibinong (Yuli Dianah, S.T.) 2


 varchar (n): String karakter panjang variabel dengan panjang maksimum yang
ditentukan pengguna (n). Misalnya nama, jumlah karakter bisa saja berbeda sehingga
cukup menentukan jumlah maksimal Panjang karakter.
 int: Integer atau bilangan bulat.
 smallint: Integer kecil (subset yang bergantung pada mesin dari tipe integer)
 numerik (p, d): Nomor titik tetap dengan presisi yang ditentukan pengguna. Angka terdiri
dari p digit (ditambah tanda), dan d digit p berada di kanan titik desimal. Dengan
demikian, numerik (3,1) memungkinkan 44,5 disimpan dengan tepat, tetapi 444,5 atau
0,32 tidak dapat disimpan dengan tepat di bidang jenis ini.
 real, double: angka floating-point dan presisi ganda, bisa menampung hingga 15 digit
pecahan.
 float (n): Angka titik-mengambang, dengan ketepatan setidaknya n digit.
Setiap jenis dapat menyertakan nilai khusus yang disebut nilai null. Nilai null
menunjukkan nilai kosong yang mungkin ada tetapi tidak diketahui, atau yang mungkin tidak
ada sama sekali. Dalam kasus tertentu, mungkin saja nilai null dilarang untuk dimasukkan,
maka dapat dibuat variabel yang not null.
Tipe data char menyimpan string panjang tetap. Pertimbangkan, misalnya, atribut A
dari tipe char (10). Jika string "Ada" disimpan dalam atribut ini, 7 spasi ditambahkan ke string
untuk membuatnya menjadi 10 karakter. Sebaliknya, jika atribut B bertipe varchar (10), dan
"Ada" disimpan di atribut B, tidak ada spasi yang akan ditambahkan. Ketika membandingkan
dua nilai tipe char, jika mereka memiliki panjang yang berbeda, ruang tambahan secara
otomatis ditambahkan ke yang lebih pendek untuk membuat ukuran yang sama.

C. Definisi Skema Dasar


Hubungan SQL didefenisikan dengan menggunakan perintah create table. Perintah
berikut ini membuat tabel jurusan dalam basis data.
create table jurusan (nama_jurusan varchar (20), lokasi varchar (15), anggaran numeric
(12,2), primary key (nama_jurusan));

Tabel yang dibuat di atas memiliki tiga atribut, nama jurusan, yang merupakan karakter
string dengan panjang maksimum 20, lokasi, yang merupakan karakter string dengan panjang
maksimum 15, dan anggaran, yang merupakan angka dengan total 12 digit, 2 di antaranya
adalah setelah titik desimal. Perintah create table juga menentukan bahwa atribut nama
jurusan adalah kunci utama tabel jurusan. Tanda titik koma yang ditunjukkan pada akhir
membuat pernyataan tabel, serta akhir pernyataan SQL.
create table jurusan (nama_jurusan varchar (20), lokasi varchar (15), anggaran numeric
(12,2), primary key (nama_jurusan));

Rekayasa Perangkat Lunak SMKN 1 Cibinong (Yuli Dianah, S.T.) 3


create table mata_kuliah (kode_MK varchar (7), judul varchar (50), nama_jurusan varchar
(20), sks numeric (2,0), primary key (kode_MK), foreign key (nama_jurusan)
references jurusan);

create table dosen (ID varchar (5), nama varchar (20) not null, nama_jurusan varchar (20),
gaji numeric (8,2), primary key (ID), foreign key (nama_jurusan)
references jurusan);

create table kelas (kode_MK varchar (8), kode_kelas varchar (8), semester varchar (6),
tahun numeric (4,0), lokasi varchar (15), ruangan varchar (7), waktu varchar (4),
primary key (kode_MK, kode_kelas, semester, tahun), foreign key (kode_MK) references
mata_kuliah); create table pengajaran (ID varchar (5), kode_MK varchar (8), kode_kelas
varchar (8), semester varchar (6), tahun numeric (4,0), primary key (ID, kode_MK,
kode_kelas, semester, tahun), foreign key (kode_MK, kode_kelas, semester,
tahun) references kelas, foreign key (ID) references
dosen);

SQL mendukung sejumlah kendala integritas yang berbeda, di antaranya:


1. Primary key (Aj1, Aj2,.,, Ajm): Spesifikasi primary-key mengatakan bahwa atribut Aj1, Aj2,.
. ., Ajm membentuk kunci utama untuk tabel. Atribut primary key harus not null dan unik;
yaitu, tidak ada record yang dapat memiliki nilai nol untuk atribut primary key, dan tidak
ada dua record dalam tabel yang dapat sama pada semua atribut primary key. Meskipun
spesifikasi kunci primer bersifat opsional, merupakan ide bagus untuk menentukan kunci
primer untuk setiap tabel.
2. Foreign key (Ak1, Ak2, ..., Akn) references s: Spesifikasi kunci asing mengatakan bahwa
nilai atribut (Ak1, Ak2, ..., Akn) untuk setiap record dalam tabel harus sesuai dengan
nilainilai dari atribut kunci utama dari beberapa record dalam hubungan.
3. Not null: Batasan not null pada atribut menetapkan bahwa nilai nol tidak diizinkan untuk
atribut itu; dengan kata lain, batasan mengecualikan nilai nol dari domain atribut itu.
Sebagai contoh, batasan not null pada atribut nama dari tabel dosen, ini memastikan
bahwa nama dosen tidak boleh kosong.

SQL mencegah pembaruan apa pun ke basis data yang melanggar batasan integritas.
Sebagai contoh, jika record yang baru saja dimasukkan atau dimodifikasi dalam suatu tabel
memiliki nilai nol untuk atribut primary key, atau jika record memiliki nilai yang sama pada
atribut primary key seperti halnya record lain dalam tabel, SQL menandai kesalahan dan
mencegah pembaruan. Demikian pula, penyisipan data mata kuliah dengan nilai nama
jurusan yang tidak muncul dalam tabel jurusan akan melanggar batasan pada kunci asing,
dan SQL akan mencegah penyisipan tersebut terjadi.

Rekayasa Perangkat Lunak SMKN 1 Cibinong (Yuli Dianah, S.T.) 4


Tabel yang baru dibuat awalnya kosong. Perintah insert bisa digunakan untuk
menambahkan data ke dalam tabel. Misalnya, jika ingin memasukkan fakta bahwa ada
seorang dosen bernama Ulfayani di jurusan Biologi dengan ID Dosen 10211 dan gaji
3.000.000, maka perintah yang dibuat:

insert into dosen values (10211, ’Ulfayani’, ’Biologi’, 3000000);

Nilai ditentukan dalam urutan di mana atribut yang sesuai tercantum dalam skema
tabel. Perintah delete dapat digunakan untuk menghapus data dari suatu tabel, dengan
perintah sebagai berikut:

delete from mahasiswa;

Perintah di atas akan menghapus semua record dari tabel mahasiswa. Bentuk lain dari
perintah delete memungkinkan record tertentu untuk dihapus yang akan dibahas pada bab
berikutnya. Untuk menghapus tabel dari database SQL, perintah drop table dapat digunakan.

drop table mahasiswa;

Perintah drop table menghapus semua informasi tentang tabel yang dihapus dari
database. Perintah itu adalah tindakan yang lebih drastis daripada

delete from mahasiswa;

Perintah di atas mempertahankan tabel mahasiswa, tetapi menghapus semua record


di dalam tabel mahasiswa. Perintah drop menghapus tidak hanya semua record, tetapi juga
skema untuk tabel mahasiswa. Setelah tabel mahasiswa dihapus, tidak ada record data yang
dapat dimasukkan ke dalam tabel mahasiswa kecuali dibuat kembali dengan perintah create
table.
Perintah alter table dapat digunakan untuk menambahkan atribut ke tabel yang ada.
Semua record dalam tabel tersebut ditetapkan null sebagai nilai untuk atribut baru. Bentuk
perintah alter table adalah:

alter table dosen add alamat varchar(50);

dimana dosen adalah nama dari tabel yang ada, alamat adalah nama atribut yang akan
ditambahkan, dan varchar(50) adalah tipe atribut yang ditambahkan. Atribut dari suatu tabel
dapat dihilangkan dengan perintah:

alter table dosen drop alamat;

dimana dosen adalah nama tabel yang ada, dan alamat adalah nama atribut tabel yang akan
dihapus.

Rekayasa Perangkat Lunak SMKN 1 Cibinong (Yuli Dianah, S.T.) 5


D. Kueri pada Satu Tabel
Struktur dasar kueri SQL terdiri dari tiga klausa: select, from, and where. Permintaan
mengambil sebagai input tabel yang tercantum dalam klausa from, mengoperasikannya
seperti yang ditentukan pada klausa select dan where, dan kemudian menghasilkan tabel
sebagai hasilnya.
Perhatikan pertanyaan sederhana menggunakan contoh basis data universitas,
"Temukan nama semua dosen". Nama dosen muncul di atribut nama, jadi dimasukkan ke
dalam klausa select.

select nama from dosen;

Tabel 3.1. Hasil Pencarian Nama Dosen

Nama

Suparni

Andri

Reza

Bobby

Sulastri

Sekarang pertimbangkan permintaan lain, "Temukan nama jurusan semua dosen,"


yang dapat ditulis sebagai:

select nama_jurusan from dosen;

Tabel 3.2. Hasil Pencarian Jurusan Dosen

Nama_jurusan

Ilmu Komputer

Sistem Informasi

Biologi

Sistem Informasi

Matematika

Karena lebih dari satu dosen dapat menjadi bagian dari sebuah jurusan, nama jurusan
dapat muncul lebih dari satu kali dalam tabel dosen. Hasil kueri di atas adalah tabel yang
berisi nama-nama jurusan.

Rekayasa Perangkat Lunak SMKN 1 Cibinong (Yuli Dianah, S.T.) 6


Dalam definisi matematika formal dari model relasional, suatu tabel adalah
himpunan. Dengan demikian, duplikat record tidak akan pernah muncul dalam tabel. Dalam
praktiknya, penghapusan duplikat memakan waktu. Oleh karena itu, SQL memungkinkan
duplikat dalam tabel maupun dalam hasil ekspresi SQL. Dengan demikian, kueri SQL
sebelumnya mencantumkan setiap nama jurusan satu kali untuk setiap record yang muncul
dalam tabel dosen.
Dalam kasus di mana pengguna ingin memaksakan penghapusan duplikat, kata kunci
berbeda setelah select dapat disisipkan. Kueri dapat ditulis sebagai berikut:

select distinct nama_jurusan from dosen;

Tabel 3.3. Hasil Pencarian Jurusan Dosen


dengan distinct

Nama_Jurusan

Ilmu Komputer

Sistem Informasi

Biologi

Matematika

Jika duplikat ingin dihapus. Hasil kueri di atas akan berisi setiap nama jurusan paling
banyak satu kali. SQL menggunakan kata kunci all digunakan untuk menentukan secara
eksplisit bahwa duplikat tidak dihapus:

select all nama_jurusan from dosen;

Klausa select juga dapat berisi ekspresi aritmatika yang melibatkan operator +, -, , dan
/ yang beroperasi pada konstanta atau atribut record. Misalnya:

select ID, nama, nama_jurusan, gaji * 1.1 from dosen;

Ini menunjukkan apa yang akan terjadi jika memberikan kenaikan 10% untuk setiap
dosen, bagaimanapun, kueri ini tidak menghasilkan perubahan apa pun pada tabel dosen.
SQL juga menyediakan tipe data khusus, seperti berbagai bentuk tipe tanggal, dan
memungkinkan beberapa fungsi aritmatika beroperasi pada tipe ini. Klausa where
memungkinkan untuk hanya memilih baris-baris dalam tabel hasil dari klausa from yang
memenuhi predikat tertentu. Pertimbangkan kueri "Temukan nama semua dosen di jurusan
Sistem Informasi yang memiliki gaji lebih dari 4.000.000" Kueri ini dapat ditulis dalam SQL
sebagai:

Rekayasa Perangkat Lunak SMKN 1 Cibinong (Yuli Dianah, S.T.) 7


select nama from dosen where nama_jurusan = ’Sistem Informasi’ and gaji > 4000000;

SQL memungkinkan penggunaan penghubung logis and, or, dan not pada klausa where.
Operan dari penghubung logis dapat berupa ekspresi yang melibatkan operator pembanding
<, <=, >, > =, =, dan <>. SQL memungkinkan menggunakan operator pembanding untuk
membandingkan string dan ekspresi aritmatika, serta tipe khusus, seperti tipe tanggal.

E. Kueri pada Multi Tabel


Sejauh ini contoh kueri yang sudah dipelajari berada pada satu tabel. Permintaan sering
kali perlu mengakses informasi dari berbagai hubungan. Sebagai contoh, misalkan pengguna
ingin menjawab permintaan "Ambil nama semua dosen, bersama dengan nama jurusan dan
lokasi jurusannya."
Melihat skema tabel dosen, pengguna menyadari bahwa bisa saja mendapatkan nama
jurusan dari atribut jurusan, tetapi lokasi jurusan ada di atribut lokasi dari tabel jurusan.
Untuk menjawab pertanyaan, setiap record dalam tabel dosen harus dicocokkan dengan
record dalam tabel jurusan yang nilai nama jurusannya cocok dengan nilai nama jurusan dari
record dosen.
Dalam SQL, untuk menjawab kueri di atas, tabel yang perlu diakses dapat dicantumkan
dengan from, dan menentukan kondisi yang cocok denngan where. Permintaan di atas dapat
ditulis dalam SQL sebagai berikut:

select nama, dosen.nama_jurusan, lokasi from dosen, jurusan where


dosen.nama_jurusan = jurusan.nama_jurusan;

Tabel 3.4. Hasil Kueri Multi Tabel

Nama Nama_Jurusan Lokasi

Suparni Ilmu Komputer Kampus I

Andri Sistem Informasi Kampus I

Reza Biologi Kampus I

Bobby Sistem Informasi Kampus I

Sulastri Matematika Kampus I

Perhatikan bahwa atribut jurusan terdapat di tabel dosen dan jurusan, dan nama tabel
digunakan sebagai awalan (dalam dosen.nama_jurusan, dan jurusan.nama_jurusan) untuk
memperjelas atribut mana yang dimaksud. Sebaliknya, atribut nama dan lokasi hanya muncul
di salah satu tabel, dan karenanya tidak perlu diawali dengan nama tabel.

Rekayasa Perangkat Lunak SMKN 1 Cibinong (Yuli Dianah, S.T.) 8


Penamaan ini mensyaratkan bahwa tabel yang ada di dalam from memiliki nama yang
berbeda. Persyaratan ini menyebabkan masalah dalam beberapa kasus, seperti ketika
informasi dari dua record berbeda dalam tabel yang sama perlu digabungkan.
Seperti yang telah dipelajari sebelumnya, kueri SQL dapat berisi tiga jenis klausa, klausa
select, from dan where. Peran setiap klausa adalah sebagai berikut:
• Select digunakan untuk mendaftar atribut yang diinginkan dalam hasil permintaan.
• From adalah daftar tabel yang akan diakses dalam evaluasi kueri.
• Where adalah predikat yang melibatkan atribut tabel dalam dari klausa from.

Meskipun klausa harus ditulis dalam urutan select, from, where, cara termudah untuk
memahami operasi yang ditentukan oleh permintaan adalah dengan mempertimbangkan
klausa dalam urutan operasional: pertama from, lalu where, dan kemudian select.
Tabel hasil memiliki semua atribut dari semua tabel dalam klausa from. Karena nama
atribut yang sama dapat muncul pada lebih dari satu tabel, seperti yang dilihat sebelumnya,
awali nama relasi dari mana atribut itu berasal, sebelum nama atribut.
Sebagai contoh, skema hubungan untuk tabel dosen dan kelas adalah:
(dosen.ID, dosen.name, dosen.nama_jurusan, dosen.gaji, pengajaran.ID,
pengajaran.kode_MK, pengajaran.kode_kelas, pengajaran.semester, pengajaran.tahun)

Dengan skema ini, dosen.ID dapat dibedakan dari pengajaran.ID. Untuk atribut yang
hanya muncul di salah satu dari dua tabel, biasanya akan dibuang awalan nama-tabel.
Penyederhanaan ini tidak mengarah pada ambiguitas apa pun. Skema hubungan dapat ditulis
sebagai berikut:
(dosen.ID, nama, nama_jurusan, gaji pengajaran.ID, kode_MK, kode_kelas, semester,
tahun)

select nama, kode_MK from dosen, pengajaran where dosen.ID= pengajaran.ID;

Kueri di atas hanya menghasilkan dosen yang telah mengajar beberapa mata kuliah.
Dosen yang belum mengajar mata kuliah apa pun bukanlah output, jika ingin menghasilkan
record seperti itu, bisa digunakan operasi yang disebut outer join, yang akan dijelaskan
berikutnya.
Jika hanya ingin menemukan nama dosen dan pengidentifikasi mata kuliah untuk
dosen di jurusan Ilmu Komputer, dapat ditambahkan predikat tambahan untuk klausa where,
seperti yang ditunjukkan di bawah ini.

Rekayasa Perangkat Lunak SMKN 1 Cibinong (Yuli Dianah, S.T.) 9


select nama, kode_MK from dosen, pengajaran where dosen.ID = pengajaran.ID and
dosen.nama_jurusan = ’Ilmu Komputer’;

F. Natural Join
Sebelumnya dalam kueri contoh yang menggabungkan informasi dari tabel dosen dan
tabel pengajaran, kondisi yang cocok mengharuskan dosen.ID sama dengan pengajaran.ID.
Ini adalah satu-satunya atribut dalam dua tabel yang memiliki nama yang sama. Sebenarnya
ini adalah kasus umum; yaitu, kondisi pencocokan dalam klausa from paling sering
mengharuskan semua atribut dengan nama yang cocok untuk disamakan.
Untuk membuat kehidupan seorang programmer SQL lebih mudah untuk kasus umum
ini, SQL mendukung operasi yang disebut natural join. Bahkan SQL mendukung beberapa
cara lain di mana informasi dari dua atau lebih tabel dapat digabungkan bersama. Telah
terlihat bagaimana predikat klausa dapat digunakan untuk menggabungkan informasi dari
banyak tabel.
Operasi gabungan alami beroperasi pada dua tabel dan menghasilkan tabel lain sebagai
hasilnya. Natural join menganggap hanya pasangan record dengan nilai yang sama pada
atribut yang muncul dalam skema kedua tabel. Jadi, kembali ke contoh hubungan dosen dan
pengajaran, dosen bergabung dengan pengajaran di mana record dari dosen dan pengajaran
memiliki nilai yang sama pada atribut umum, yaitu ID.
Pertimbangkan pertanyaan “Untuk semua dosen di universitas yang telah mengajar
beberapa mata kuliah, temukan nama mereka dan kode mata kuliah dari semua program
yang mereka ajarkan”, yang ditulis sebelumnya sebagai:

select nama, kode_MK from dosen, pengajaran where dosen.ID = pengajaran.ID;

Query ini dapat ditulis lebih ringkas menggunakan operasi natural-join di SQL sebagai:

select nama, kode_MK from dosen natural join pengajaran;

Kedua kueri di atas menghasilkan hasil yang sama. Seperti yang dilihat sebelumnya,
hasil dari operasi natural join adalah tabel. Secara konseptual, ungkapan "dosen natural join
pengajaran" pada klausa digantikan oleh hubungan yang diperoleh dengan menilai natural
join. Klausa where dan select kemudian dievaluasi pada relasi ini.
Sebagai contoh, misalkan ingin menjawab pertanyaan "Daftar nama dosen bersama
dengan judul mata kuliah yang mereka ajarkan." Permintaan dapat ditulis dalam SQL sebagai
berikut:

select nama, judul from dosen natural join pengajaran, mata_kuliah where
pengajaran.kode_MK = mata_kuliah.kode_MK;

Rekayasa Perangkat Lunak SMKN 1 Cibinong (Yuli Dianah, S.T.) 10

Anda mungkin juga menyukai