Belajar PostgreSQL 3
Kita akan mencoba untuk menggabungkan dua tabel yang saling terkait dimana tabel anak memiliki foreign key (field penghubung) ke tabel karyawan. Sehingga secara logis foreign key tabel anak ( id ) akan dihubungkan dengan primary key tabel karyawan ( id_karyawan). Ini adalah sambungan tutorial dari halaman sebelumnya klik disini.
Ulas kembali dari proses login dengan user postgres, hingga melakukan koneksi kedatabase latihan:
postgres@darkstar:~$ psql -U postgres -W
Password FOR user postgres:
psql (8.4.2)
Type "help" FOR help.
postgres=# \c latihan
Password FOR user postgres:
psql (8.4.2)
You are now connected TO DATABASE "latihan".
latihan=# \dt
List of relations
Schema | Name | Type | Owner
--------+----------+-------+----------
public | anak | TABLE | postgres
public | karyawan | TABLE | postgres
(2 rows)Sekarang Anda lihat semua isi data pada tabel karyawan dan tabel anak:
latihan=# SELECT *from anak;
id | nama | tgl_lahir
-----+----------------+------------
101 | Endang Wahyuni | 1995-07-07
103 | Famhi Akbar | 1995-05-19
(2 rows)
latihan=# SELECT *from karyawan;
id_karyawan | nama
-------------+-------------
101 | Ani Setiani
103 | Andrianto
(2 rows)Nah bagaimana cara menampilkan data sekaligus dari dua tabel menjadi satu tabel, jadi informasi mengenai karyawan lengkap dengan informasi anaknya:
latihan=# SELECT karyawan.id_karyawan, karyawan.nama, anak.nama AS nama_anak
latihan-# from karyawan, anak
latihan-# where karyawan.id_karyawan = anak.id;
id_karyawan | nama | nama_anak
-------------+-------------+----------------
101 | Ani Setiani | Endang Wahyuni
103 | Andrianto | Famhi Akbar
(2 rows)Penulisan nama tabel berserta titik sebelum nama field dimaksud agar jika ada nama field yang sama dalam satu sintak sql yang akan membedakan adalah nama tabelnya, karena bisa jadi ada field yang sama. Dalam penulisan sql diatas masih bisa kita persingkat lagi menjadi seperti dibawah ini:
latihan=# SELECT k.id_karyawan, k.nama, a.nama AS nama_anak
latihan-# from karyawan k, anak a
latihan-# where k.id_karyawan = a.id;
id_karyawan | nama | nama_anak
-------------+-------------+----------------
101 | Ani Setiani | Endang Wahyuni
103 | Andrianto | Famhi Akbar
(2 rows)










/rating_on.png)
/rating_half.png)
(3.50 out of 5)
















era said:
misalnya ada tabel
pasien dan kecamatan
nah aq pengen nampilin jumlah pasien yang ada di kecamatan tertentu
tapi jika di kecamatan itu g ada pasiennya maka nilainya 0
nah gi mana tu mas?????
[Balas Komentar]
Hendra Nuryuliansyah said:
[Balas Komentar]