Query Multi Tabel



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_tabel WHERE 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.


Demikianlah penjelasan mengenai query multi tabel (join, sub select, union dan intersect). Semoga bermanfaat dan terimakasih... 



Previous
Next Post »

1 komentar:

Click here for komentar
4/8/20, 3:59 AM ×

Mantap dah bang, akhirnya bisa juga menggunakan select untuk beberapa tabel, soal nya penting banget nih untuk pemrograman web, terutama untuk php, saya lagi belajar tentang web soalnya. Kalo bisa, mau kenal nih sama abang. Perkenalkan yah, nama saya Ramayandra Valentino, dari STMIK Atma Luhur (https://www.atmaluhur.ac.id/)

Congrats bro Ramayandra Valentino you got PERTAMAX...! hehehehe...
Reply
avatar

Silahkan berkomentar secara bijak dan sesuai dengan topik pembahasan. Terimakasih. ConversionConversion EmoticonEmoticon

Thanks for your comment