Contohnya saya memiliki tabel seperti berikut :
1. tabel [username]
dbsyuaa=# select * from username; uid | uname -----+--------- 2 | fery 3 | andi 4 | budy 5 | kucing 6 | gstar 7 | bing 8 | bigbang (7 rows)
2. tabel [usermail]
dbsyuaa=# select * from usermail; uid | umail -----+--------------------- 2 | fery@yahoo.com 3 | andi@yahoo.com 4 | budy@yahoo.com 5 | kucing@aol.com 6 | me@gstar.com 7 | bing@microsoft.com 8 | bigbang@yahoo.co.id (7 rows)
3. tabel [usercity]
dbsyuaa=# select * from usercity; uid | ucity -----+--------- 2 | bandung 3 | jakarta 4 | depok 5 | bali 6 | jakarta 7 | Bandung 8 | Bandung (7 rows)
Tujuan utama saya adalah mengambil seluruh data dengan ketentuan masing-masing tabel digabung berdasarkan column [uid]. Untuk penyelesaiannya saya menggunakan inner join. Sehingga bentuk query saya akan menjadi seperti ini :
select * from username inner join usermail using("uid") inner join usercity using("uid");
Dan akan menghasilkan tabel seperti ini :
select * from username inner join usermail using("uid") inner join usercity using("uid"); uid | uname | umail | ucity -----+---------+---------------------+--------- 2 | fery | fery@yahoo.com | bandung 3 | andi | andi@yahoo.com | jakarta 4 | budy | budy@yahoo.com | depok 5 | kucing | kucing@aol.com | bali 6 | gstar | me@gstar.com | jakarta 7 | bing | bing@microsoft.com | Bandung 8 | bigbang | bigbang@yahoo.co.id | Bandung
Dalam kondisi lain, mungkin juga menggunakan bentuk query seperti dibawah :
select * from username, usermail, usercity where username.uid=usercity.uid and username.uid=usermail.uid;
Hanya saja akan menghasilkan tabel yang tidak sesuai dengan keinginan semula :
dbsyuaa=# select * from username, usermail, usercity where username.uid=usercity.uid and username.uid=usermail.uid; uid | uname | uid | umail | uid | ucity -----+---------+-----+---------------------+-----+--------- 2 | fery | 2 | fery@yahoo.com | 2 | bandung 3 | andi | 3 | andi@yahoo.com | 3 | jakarta 4 | budy | 4 | budy@yahoo.com | 4 | depok 5 | kucing | 5 | kucing@aol.com | 5 | bali 6 | gstar | 6 | me@gstar.com | 6 | jakarta 7 | bing | 7 | bing@microsoft.com | 7 | Bandung 8 | bigbang | 8 | bigbang@yahoo.co.id | 8 | Bandung (7 rows)