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. |
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
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
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.
Demikianlah penjelasan mengenai query multi tabel (join, sub select, union dan intersect). Semoga bermanfaat dan terimakasih...
0 Response to "Query Multi Tabel"
Post a Comment