Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Anda dapat menggabungkan tabel ke tabel itu sendiri meskipun tabel tidak memiliki hubungan refleksif dalam database. Misalnya, Anda dapat menggunakan gabungan mandiri untuk menemukan pasangan penulis yang tinggal di kota yang sama.
Seperti halnya gabungan apa pun, gabungan mandiri memerlukan setidaknya dua tabel. Perbedaannya adalah, alih-alih menambahkan tabel kedua ke kueri, Anda menambahkan instans kedua dari tabel yang sama. Dengan begitu, Anda dapat membandingkan kolom dalam instans pertama tabel dengan kolom yang sama di instans kedua, yang memungkinkan Anda membandingkan nilai dalam kolom satu sama lain. Query and View Designer menetapkan alias ke instans kedua tabel.
Misalnya, jika Anda membuat self-join untuk menemukan semua pasangan penulis di dalam Berkeley, Anda membandingkan kolom city pada instans pertama tabel dengan kolom city pada instans kedua. Kueri yang dihasilkan mungkin terlihat seperti berikut ini:
SELECT
authors.au_fname,
authors.au_lname,
authors1.au_fname AS Expr2,
authors1.au_lname AS Expr3
FROM
authors
INNER JOIN
authors authors1
ON authors.city
= authors1.city
WHERE
authors.city = 'Berkeley'
Membuat gabungan mandiri sering memerlukan beberapa kondisi gabungan. Untuk memahami alasannya, pertimbangkan hasil kueri sebelumnya:
Cheryl Carson Cheryl Carson
Abraham Bennet Abraham Bennet
Cheryl Carson Abraham Bennet
Abraham Bennet Cheryl Carson
Baris pertama tidak berguna; Itu menunjukkan bahwa Cheryl Carson tinggal di kota yang sama dengan Cheryl Carson. Baris kedua sama-sama tidak berguna. Untuk menghilangkan data yang tidak berguna ini, Anda menambahkan kondisi lain yang hanya mempertahankan baris hasil di mana dua nama penulis mengacu pada penulis yang berbeda. Kueri yang dihasilkan mungkin terlihat seperti ini:
SELECT
authors.au_fname,
authors.au_lname,
authors1.au_fname AS Expr2,
authors1.au_lname AS Expr3
FROM
authors
INNER JOIN
authors authors1
ON authors.city
= authors1.city
AND authors.au_id
<> authors1.au_id
WHERE
authors.city = 'Berkeley'
Peningkatan pada kumpulan hasil:
Cheryl Carson Abraham Bennet
Abraham Bennet Cheryl Carson
Tetapi dua baris hasil tersebut redundan. Yang pertama mengatakan Carson tinggal di kota yang sama dengan Bennet, dan yang kedua mengatakan Bennet tinggal di kota yang sama dengan Carson. Untuk menghilangkan redundansi ini, Anda dapat mengubah kondisi gabungan kedua dari "tidak sama dengan" menjadi "kurang dari." Kueri yang dihasilkan mungkin terlihat seperti ini:
SELECT
authors.au_fname,
authors.au_lname,
authors1.au_fname AS Expr2,
authors1.au_lname AS Expr3
FROM
authors
INNER JOIN
authors authors1
ON authors.city
= authors1.city
AND authors.au_id
< authors1.au_id
WHERE
authors.city = 'Berkeley'
Dan tataan hasilnya terlihat seperti ini:
Cheryl Carson Abraham Bennet
Untuk membuat gabungan mandiri secara manual
Tambahkan tabel atau objek bernilai tabel yang ingin Anda kerjakan ke panel Diagram .
Tambahkan tabel yang sama lagi, sehingga panel Diagram memperlihatkan tabel atau objek bernilai tabel yang sama dua kali dalam panel Diagram.
Desainer Kueri dan Tampilan menetapkan alias ke instans kedua dengan menambahkan nomor berurutan ke nama tabel. Selain itu, Kueri dan Perancang Tampilan membuat garis penghubung antara dua kemunculan tabel atau objek bernilai tabel di dalam panel Diagram.
Klik kanan baris gabungan dan pilih properti dari menu pintasan.
Di jendela Properti klik Kondisi Gabungan dan Ketik dan klik elipsis (...) di sebelah kanan properti.
Dalam Kotak Dialog Gabung mengubah operator perbandingan antara kunci primer sesuai kebutuhan. Misalnya, Anda dapat mengubah operator menjadi kurang dari (<).
Buat kondisi gabungan tambahan (misalnya, authors.zip = authors1.zip) dengan menyeret nama kolom gabungan utama dalam kemunculan pertama tabel atau objek bernilai tabel dan letakkan pada kolom yang sesuai di kemunculan kedua.
Tentukan opsi lain untuk kueri seperti kolom output, kondisi pencarian, dan urutan pengurutan.
Lihat Juga
Buat Self-Joins Secara Otomatis (Alat Database Visual)
Kueri dengan Penggabungan (Alat Visual Database)