Skip to main content

Menerapkan penggunaan SQL untuk mengakses multi table

Select multitable

SQL adalah bahasa query baku untuk DBMS.SQL diambil sebagai bagian sejak tahun 1992 awalnya diterapkan pada DBMS besar seperti Oracle dan Informix.

Tabel-tabel yang dibuat pada studi kasus ini cukup sederhana saja untuk memudahkan pemahaman. Adapun tabel-tabel tersebut adalah:
1.mhs (
2.nim varchar(3),
3.namaMhs varchar(30),
4.primary key(nim)
5.)
1.mk (
2.kodeMK varchar(3),
3.namaMK varchar(30),
4.sks integer,
5.primary key(kodeMK)
6.)
1.ambilMK (
2.nim varchar(3),
3.kodeMK varchar(3),
4.nilai integer,
5.primary key(nim, kodeMK)
6.)
Dalam hal ini, field nim dan kodeMK pada tabel ambilMK merupakan foreign key. Apabila diperhatikan, tabel mhs dengan tabel ambilMK saling berelasi karena nim dalam tabel ambilMK berasal dari nim dalam tabel mhs (master tabel).
Demikian pula antara tabel mk dengan ambilMK. Kedua tabel ini juga berelasi karena kodeMK dalam tabel ambilMK berasal dari kodeMK dalam tabel mk.
1.JOIN



Nama
Catatan
INNER JOIN
Hnya menghasilkan baris kombinasi jika kondisi terpenuhi
CROSS JOIN
Sama dengan INNER JOIN (TRUE)
LEFT OUTER JOIN
Baris dari table kiri selalu disertakan, tidak berpengaruh kondisi terpenuhi atau tidak.
RIGHT OUTER JOIN
Baris dari table kanan selalu disertakan, tidak berpengaruh kondisi terpenuhi atau tidak.
SELF JOIN
Hanya istilah untuk JOIN yang menggunakan table yang sama di sisi kanan dan kiri.


join, sub select, union dan intersect




a. INNER JOIN 


Sintak:

select * from namatable1 inner join namatable2 on namatable1.namakolom= namatable2.namakolom;

Contoh:


Tampilkan data air_master kemudian Meal_Code dan Service_Code 


contoh soal inner join dan penyelesaian


b. CROSS JOIN


Sintak:

select * from namatable1 cross join namatable2 on namatable1.namakolom= namatable2.namakolom;

Contoh:


Tampilkan data air_master kemudian Meal_code dan Service_Code


contoh soal cross join dan penyelesaian


c. LEFT OUTER JOIN 



Sintak:

select * from namatable1 left outer join namatable2 on namatable1.namakolom= namatable2.namakolom;

Contoh:


Tampilkan data service(Air_Code) dan Service_Name


contoh soal left join dan penyelesaian


d. RIGHT OUTER JOIN 


Sintak:

select * from namatable1 right outer join namatable2 on namatable1.namakolom= namatable2.namakolom;

Contoh:


Tampilkan data airline_service (Air_Code) dan Service_Name


contoh soal right join dan penyelesaian



e. SELF JOIN 


Sintak:

select * from namatable self join kolom;


2. Sub Select 


Sub select adalah query SELECT yang ada didalam perintah SQL lain (SELECT/UPDATE/INSERT dan lain sebagainya).

Secara umum syntax subquery adalah :

SELECT * FROM tabel_a WHERE kolom_a = (SELECT kolom_b FROM tabel_b);


Contoh:


 Tampilkan Air_Code dan Airlines_Name 


contoh soal sub select dan penyelesaian


 Tampilkan total Air_Code yang paling banyak datanya dan kolom yang ditampilkan adalah Air_Code


contoh soal sub select dan penyelesaian


Operator Exist

pada operator exist semua bentuk kondisi diletakkan didalam subquery, bukan pada query utama.


Secara umum syntax operator ini adalah :

select kolom_a,kolom_b, FROM nama_tabelWHERE EXIST (subselect);


3. UNION



Berfungsi untuk menggabungkan 2 tabel yang berbeda dengan syarat tabel itu harus sama jumlah kolomnya.



Sintak :

SELECT * FROM namatable  WHERE <<kondisi>> UNION SELECT kolom1,kolom2 FROM namatabel;

Jika tabel tersebut mempunyai kolom yang berbeda, maka dapat ditambahkan null atau 1
Penggunaan: ‘ UNION SELECT 1,kolom1,kolom2 FROM namatabel

Contoh:


Tampilkan data airline_meal dan meal berdasarkan Meal_Code yang diawali huruf V


contoh soal union dan penyelesaian



4. INTERSECT 


 INTERSECT merupakan operator yang digunakan untuk memperoleh data dari dua buah query dimana data yang ditampilkan adalah yang memenuhi kedua query tersebut dengan ketentuan jumlah, nama dan tipe kolom dari masing-masing tabel yang akan ditampilkan datanya harus sama.


Sintak : 

SELECT * FROM namatabel1 INTERSECT SELECT * FROM namatabel2

Pada MySQL tidak terdapat operator INTERSECT namun sebagai gantinya dapat menggunakan operator IN seperti contoh 1 pada bagian Nested Queries.

Comments

Popular posts from this blog

Mengevaluasi pengamanan sistem basis data pada RDBMS

Mengevaluasi pengamanan sistem basis data pada RDBMS Kompetensi : a. Password akses basis data. b. Enkripsi password. c. Priviladge. d. Pembatasan kewenangan hak akses pengguna basis data RDBMS. e. Penambahan dan penghapusan pengguna basis data. A. Password akses basis data. Keamanan database adalah suatu cara untuk melindungi database dari ancaman, baikdalam bentuk kesengajaan atau pun bukan. Ancaman adalah segala situasi atau kejadian baik secara sengaja maupun tidak yang bersifat merugikan dan mempengaruhi system serta secara konsekuensi terhadap perusahaan/organisasi yang memiliki system database.Keamanan database tidak hanya berkenaan dengan data yang ada pada database saja, tetapi juga meliputi bagian lain dari system database, yang tentunya dapat mempengaruhi database tersebut. Hal ini berarti keamanan database mencakup perangkat keras, perangkat lunak, orang dan data. Agar memiliki suatu keamanan yang efektif dibutuhkan kontrol yang tepat. Seseorang yang mempunyai...

Menerapkan replikasi basis data

Menerapkan replikasi basis data Kompetensi: a. Replikasi basis data. b. Diagram koneksi replikasi basis data. c. Konfigurasi replikasi basis data. d. Server basis data master. e. Server basis data slave. A. Replikasi basis data Replikasi database adalah seperangkat teknologi yang digunakan untuk menyalin dan mendistribusikan data dari satu database ke database yang lain. Dan selanjutnya, mensinkronisasikan antar database untuk menjaga konsistensi. Dengan replikasi, data dapat didistribusikan ke lokasi yang berbeda dan pengguna yang jauh melalui LAN, WAN, Dial-up Connection, wireless connections, dan internet. Alasan umum yang mendasari kenapa harus menggunakan replikasi, yaitu: Untuk membuat sebuah server basis data  siaga. Jika server utama gagal, maka server siaga dapat mengambil alih tugas server utama. Untuk mengaktifkan backup tanpa harus mematikan server utama.  Setelah terjadi replikasi, backup dilakukan pada slave, bukan pada master. Dengan cara ini, master...

Menerapkan pengendalian server melalui koneksi client server pada RDBMS

Kompetensi : a. Administrasi server RDBMS. b. Pengelolaan server RDBMS. c. Backup Data dan   Restore Data. DBMS (Database Management systems) adalah kumpulan program yang mengkoordinasikan semua kegiatan yang berhubungan dengan basis data. Dengan adanya berbagai tingkatan pandangan dalam suatu basis data maka untuk mengakomodasikan masing-masing pengguna dalam piranti lunak manajemen basis data biasanya terdapat bahasa-bahasa tertentu yang disebut Data Sub language. Data sub language adalah subset bahasa yang dipakai untuk operasi manajemen basis data. Dalam penggunaan biasanya dapat ditempelkan (embedded) pada bahasa tuan rumah (Cobol, PL/1, dsb). Secara umum maka setiap pengguna basis data memerlukan bahasa yang dipakai sesuai tugas dan fungsinya. A. ADMINISTRASI SERVER RDBMS Administrasi Server  Pada Jaringan Komputer adalah pengontrolan atau pengelolaan akses terhadap jaringan dan sumber daya yang terdapat di dalamnya. Server  itu merupakan penyedia a...