Anda di halaman 1dari 8

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:

view sourceprint?

1.mhs (

2.nim varchar(3),

3.namaMhs varchar(30),

4.primary key(nim)

5.)

view sourceprint?

1.mk (

2.kodeMK varchar(3),

3.namaMK varchar(30),

4.sks integer,

5.primary key(kodeMK)
6.)

view sourceprint?

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 Baris dari table kiri selalu
OUTER  JOIN disertakan, tidak
berpengaruh kondisi
terpenuhi atau tidak.
RIGHT OUTER Baris dari table kanan
JOIN selalu disertakan, tidak
berpengaruh kondisi
terpenuhi atau tidak.
SELF JOIN Hanya istilah untuk JOIN
yang menggunakan table
yang sama di sisi kanan
dan kiri.

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 


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

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

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


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 

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

OperatorExist
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
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.

Anda mungkin juga menyukai