ID Artikel: 136699 - Kajian Terakhir: 14 September 2011 - Revisi: 2.0 Deskripsi dari penggunaan bergabung dalam Microsoft permintaan
Pada Halaman iniRINGKASAN Artikel ini membahas menggunakan bergabung dalam Microsoft permintaan. A
bergabung adalah metode yang dapat Anda gunakan dengan database untuk mendefinisikan dan menggambarkan
hubungan antara dua tabel. Dalam Microsoft pencarian, Anda dapat membuat dan
memanipulasi berbagai jenis bergabung. Dalam banyak kasus, Microsoft permintaan bergabung
tabel dalam query Anda untuk Anda. Bergabung diwakili oleh garis yang menghubungkan
Tabel di jendela tabel. Topik yang dibahas dalam artikel ini meliputi berikut: What Is a Join? Inner Joins SQL Statements Outer Joins Subtract Joins Full Outer Joins Self Joins Equi-Joins Natural Joins Cartesian Products INFORMASI LEBIH LANJUTApakah bergabung?Join adalah hubungan antara dua meja di mana dua tabel digabung menurut bidang yang mereka memiliki kesamaan, membuat baru Virtual tabel (yang dapat disimpan keluar sebagai meja nyata). Sebagai contoh, dengan Berikut dua tabel:
Color_Table:
Join_Field Color_Field
1 Red
2 Blue
3 Green
Pattern_Table:
Join_Field Pattern_Field
2 Striped
3 Checkered
4 Polka-Dot
join sederhana menyerupai berikut ini: Join_Field Color_Field Pattern_Field 2 Blue Striped 3 Green Checkered Tabel hasil berisi hanya Catatan 2 dan 3 Join_Field lapangan karena mereka hanya catatan yang ada di kedua Color_Table dan Pattern_Table. Contoh praktis join adalah pengecer daftar produk dan produsen; meja produk dan vendor tabel dapat bergabung di lapangan ID produk. Join dalamBergabung dalam contoh sebelumnya, disebut bergabung batin, adalah jenis paling sederhana dari bergabung. Biasanya, Anda ingin menggunakan hanya sebagian kecil dari bidang dalam tabel. Sebagai contoh, dalam bergabung nyata batin, seperti salah satu di atas, Anda mungkin ingin mengecualikan Join_Field, sehingga bergabung terlihat seperti ini:Color_Field Pattern_Field Blue Striped Green Checkered Dalam Microsoft permintaan, bergabung batin yang bergabung default jenis (untuk informasi lebih lanjut, lihat halaman 105 di "Microsoft Query User's Guide," Versi 1.0). Pernyataan SQLPernyataan pilih Structured Query Language (SQL) adalah jenis makro yang dapat Anda gunakan ketika Anda membuat bergabung. Perhatikan bahwa SQL sangat berbeda dari Microsoft Excel makro bahasa lain (Visual Basic for Applications, dan bahasa makro Excel 4.0).Tidak perlu memahami SQL untuk dengan mudah membuat bergabung dalam Microsoft permintaan. Bergabung setiap pernyataan pilih terkait dengan itu. Anda dapat melihat pernyataan pilih untuk setiap bergabung dalam Microsoft permintaan dengan mengklik "SQL" di toolbar. Seperti Microsoft Excel makro perekam, Anda dapat menggunakan Query untuk merekam pilih pernyataan. Tidak seperti Microsoft Excel makro perekam, pernyataan pilih perekam selalu dan tidak dapat dimatikan. Berikut adalah bagaimana pernyataan pilih mungkin terlihat dalam Microsoft permintaan untuk bergabung dalam di atas: SELECT Color_Table.Color_Field, Pattern_Table.Pattern_Field FROM `c:\database`.Color_Table, `c:\database`.Pattern_Table WHERE Color_Table.Join_Field = Pattern_Table.Join_Field Catatan bahwa kita menggunakan nama database 'C:\database'.mdb yang adalah file nama ekstensi untuk Microsoft Access database, yang dapat memiliki beberapa tabel dalam satu file. Dalam beberapa database lain, seperti dBASE, paradoks, dan FoxPro, meja masing-masing harus memiliki yang file sendiri. Dalam kasus ini, SQL sintaks mungkin berlebihan karena tabel nama yang selalu sama dengan nama file tanpa ekstensi. SQL sintaks bervariasi di antara query mesin; sebagai contoh, dalam Microsoft Access permintaan dari contoh di atas menyerupai berikut ini: SELECT Color_Table.[Color_Field], Pattern_Table.Pattern_Field FROM Pattern_Table INNER JOIN Color_Table ON Pattern_Table.[Join_Field] = Color_Table.[Join_Field]; Jalan ke meja tidak digunakan dalam Microsoft Access karena tabel dalam Microsoft Access .mdb file. Bahkan jika tabel eksternal terpasang dan digunakan dalam pencarian, Microsoft akses SQL pernyataan tidak menampilkan jalan ke meja eksternal. Join luarJenis lain bergabung disebut bergabung luar. Dengan bergabung luar, Anda mendapatkan semua catatan dari satu meja dan hanya mereka catatan dari yang lain tabel yang memiliki nilai-nilai dari meja pertama yang cocok. Ini dapat meninggalkan beberapa bidang masukan kosong, atau "Null." Untuk setiap dua tabel untuk bergabung, ada dua mungkin bergabung dengan luar, "bergabung luar kiri" dan "bergabung di luar," (begitu dinamakan karena Anda biasanya melihat tabel sisi-by-side). Menggunakan dua sebelumnya tabel dalam contoh, berikut adalah salah satu dari dua bergabung luar mungkin:Join_Field Color_Field Pattern_Field 1 Red (NULL) 2 Blue Striped 3 Green Checkered Mungkin bergabung dengan adalah sebagai berikut: Join_Field Color_Field Pattern_Field 2 Blue Striped 3 Green Checkered 4 (NULL) Polka-Dot Catatan: Dalam bergabung, Anda tidak melihat kata "NULL" ketika Anda melihat data; menggunakan kata kunci "NULL" ketika Anda bekerja dengan bergabung. Dalam Microsoft permintaan, kedua jenis bergabung luar dapat dibuat dengan mudah menggunakan mouse (untuk informasi lebih lanjut tentang prosedur ini, lihat halaman 112 "Microsoft Query User's Guide," versi 1.0). Berikut adalah bagaimana pernyataan SQL mungkin mencari contoh kedua bergabung luar:
SELECT Color_Table.Color_Field, Pattern_Table.Pattern_Field
FROM {oj `c:\database`.Color_Table LEFT OUTER JOIN
`c:\database`.Pattern_Table ON Color_Table.Join_Field =
Pattern_Table.Join_Field}
Untuk membuat contoh praktis bergabung luar, membuat Daftar perusahaan produk dengan angka penjualan untuk produk-produk yang telah dijual, tetapi tidak termasuk produk yang telah tidak dijual. Untuk melakukannya, gunakan Produk ID lapangan untuk bergabung meja produk dan meja penjualan. Join penguranganKetiga jenis bergabung adalah pengurangan bergabung. Join pengurangan adalah kebalikan dari luar bergabung; ini mencakup hanya catatan mereka di salah satu meja yang tidak cocok dengan catatan dalam tabel lainnya. Seperti luar bergabung, ada dua mungkin mengurangi bergabung untuk setiap dua tabel yang ingin bergabung; Namun, mereka tidak biasanya disebut sebagai "Kiri mengurangi bergabung" atau "Benar mengurangi bergabung." A mengurangi bidang biasanya kembali bergabung dari hanya satu tabel, karena oleh definisi bidang tabel lain kembali hanya nilai-nilai NULL. Berikut ini adalah satu mungkin mengurangi bergabung:join_Field Color_Field 1 Red dan inilah yang lain: Join_Field Pattern_Field 4 Polka-Dot Dalam Microsoft permintaan, join pengurangan dibuat oleh pertama menciptakan luar bergabung, dan kemudian menggunakan kriteria "Adalah NULL" pada sesuai bidang (Pattern_Field dalam contoh pertama di atas; Color_Field di kedua contoh) untuk mengecualikan catatan yang cocok antara meja. The Berikut adalah bagaimana pernyataan SQL mungkin mencari bergabung pengurangan pertama di atas:
SELECT Color_Table.Join_Field, Color_Table.Color_Field
FROM {oj `c:\database`.Color_Table LEFT OUTER JOIN
`c:\database`.Pattern_Table ON Color_Table.Join_Field =
Pattern_Table.Join_Field}
WHERE (Pattern_Table.Pattern_Field Is Null)
Untuk membuat contoh praktis bergabung pengurangan, daftar pelanggan yang tidak dipesan baru-baru ini. Untuk melakukannya, gunakan ID Order lapangan untuk bergabung meja pelanggan dan pesanan meja. Penuh luar bergabungKeempat semacam bergabung adalah bergabung penuh luar. Join penuh luar adalah kombinasi dari luar bergabung dengan bergabung gratis pengurangan. Penuh luar bergabung termasuk Record dari tabel kedua dan menggabungkan mereka mencatat bahwa umum antara dua tabel. Berikut ini adalah bergabung penuh luar:Join_Field Color_Field Pattern_Field 1 Red (NULL) 2 Blue Striped 3 Green Checkered 4 (NULL) Polka-Dot Dalam Microsoft permintaan, join penuh luar dibuat dengan memasukkan operator Uni garis sendiri antara bergabung luar pilih pernyataan dan bergabung dengan pengurangan Pilih pernyataan (lihat di atas). Untuk membuat penuh luar bergabung dalam permintaan Microsoft, gunakan langkah-langkah berikut untuk membuat kalimat SQL sesuai:
Join_Field Color_Field Pattern_Field
(NULL) Polka-Dot
1 Red (NULL)
2 Blue Striped
3 Green Checkered
Berikut adalah bagaimana SQL mungkin mencari lengkap luar bergabung di atas (perintah di bawah operator Uni yang disisipkan):
SELECT Color_Table.Join_Field, Color_Table.Color_Field,
Pattern_Table.Pattern_Field
FROM {oj `C:\database`.Pattern_Table LEFT OUTER JOIN
`C:\database`.Color_Table ON Color_Table.Join_Field =
Pattern_Table.Join_Field}
UNION
SELECT Color_Table.Join_Field, Color_Table.Color_Field,
Pattern_Table.Pattern_Field
FROM {oj `C:\database`.Color_Table LEFT OUTER JOIN
`C:\database`.Pattern_Table ON Color_Table.Join_Field =
Pattern_Table.Join_Field}
WHERE (Color_Table.Color_Field Is Null) or(Pattern_Table.Pattern_Field Is Null)
Untuk membuat contoh praktis join penuh luar, menggabungkan tumpang tindih daftar pelanggan yang digunakan oleh departemen yang berbeda, termasuk faks angka (yang hanya pada daftar pertama), dan nama-nama Internet e-mail (yang yang hanya dalam daftar kedua). Masing-masing departemen bisa terus menggunakan parsial yang Daftar sementara memiliki lengkap, bergabung dengan daftar tersedia. Mereka bisa bergabung pada lapangan ID pelanggan. Self-JoinKelima semacam bergabung adalah self-join. Self-join adalah sambungan di mana lapangan dalam tabel cocok dengan bidang yang berbeda dalam salinan dari meja yang sama. Menggunakan tabel contoh ini:
Table_Three
Employee_ID Employee_Name Reports_To
1 Bob 3
2 Sue (NULL)
3 Jim 2
4 Jane 3
dan salinan itu, sebagai berikut:
Table_Three_01
Employee_ID Employee_Name Reports_To
1 Bob 3
2 Sue (NULL)
3 Jim 2
4 Jane 3
Self-join dapat digunakan untuk membuat daftar karyawan nama dengan nama-nama pengawas mereka. Employee_ID di Table_Three akan bergabung dengan Reports_To di Table_Three_01. Berikut adalah bagaimana mungkin Lihatlah pertama: Employee_Name Employee_Name Bob Jim Sue (NULL) Jim Sue Jane Jim Namun, karena membingungkan untuk memiliki bidang yang sama nama untuk kedua bidang, mengubah salah satu nama kolom, sebagai berikut: Employee_Name Supervisor Bob Jim Sue (NULL) Jim Sue Jane Jim Berikut adalah bagaimana SQL mungkin mencari di atas Self-Join: SELECT table_three.Employee_Name, table_three_01.Employee_Name 'Supervisor' FROM `c:\database`.table_three, `c:\database`.table_three_01 WHERE table_three.Employee_ID = table_three_01.Reports_To Ketika Anda mengembalikan data ke Microsoft Excel, sangat tidak menggunakan untuk mengubah nama field dalam Microsoft permintaan. Ini benar karena Microsoft Excel menggunakan nama field yang asli. Untuk informasi lebih lanjut tentang masalah ini, Silakan lihat artikel berikut pada Basis Pengetahuan Microsoft: 121551 (http://support.microsoft.com/kb/121551/EN-US/ ) : XL5: bidang bukan Nama kolom di MSQUERY kembali ke Excel Microsoft Excel makro harus mengubah nama kolom setiap kali data yang dikembalikan refresh (kecuali Anda kembali data dalam sebuah PivotTable, kasus Pivot itu sendiri dapat membuat dan menjaga nama bidang kustom). Equi-Join dan bergabung alamHampir semua bergabung, termasuk semua contoh-contoh yang diberikan sejauh ini, yang Equi-bergabung dan bergabung alami. Makna dari istilah-istilah ini adalah sedikit signifikansi untuk pengguna rata-rata dari Microsoft Query, tapi dua paragraf berupaya menjelaskan istilah untuk orang-orang yang mungkin ingin tahu.Equi-bergabung adalah bergabung dalam catatan yang diperoleh berdasarkan Apakah bidang bergabung memiliki nilai-nilai yang sesuai dalam tabel kedua. Yang mungkin tampak seperti hanya definisi bergabung, tapi itu tidak. Contoh non-sama bergabung adalah bergabung di mana catatan dalam tabel pertama bergabung dengan catatan mereka di kedua meja di mana bidang bergabung di meja pertama lebih besar daripada (bukannya sama dengan) bidang bergabung dalam tabel kedua (atau kurang, atau apa pun Selain itu sama dengan). Tentu saja, ini kembali lebih banyak rekod dari equi-bergabung. Join alam adalah salah satu yang hanya salah satu dari dua tabel bergabung bidang kembali. Karena kedua bidang secara definisi yang identik dalam Equi-bergabung, itu berlebihan untuk memasukkan kedua. Untuk bergabung dengan non-sama, penting untuk memasukkan kedua bidang tersebut. Jadi, equi-bergabung dan alami bergabung pergi bersama-sama. Anda akan ingin bergabung equi (yang menggambarkan kebanyakan bergabung) menjadi alam bergabung dengan kembali hanya salah satu bidang bergabung; Tapi, jika Anda pernah menggunakan bergabung dengan non-sama, Anda mungkin juga ingin membuat non-natural bergabung dengan kembali Kedua bidang bergabung. Terdapat jenis lain dari bergabung. Penuh spektrum bergabung paling baru-baru ini ditetapkan pada tahun 1992 dan standar ini dikenal sebagai SQL-92. Beberapa bergabung tidak penting bagi pengguna Microsoft Excel karena ini bergabung melakukan hal-hal yang lebih mudah untuk dilakukan di Microsoft Excel. Produk KartesiusMencoba untuk mengembalikan data dari dua atau lebih tabel tanpa bergabung setiap menciptakan apa yang disebut "Produk Kartesius." Produk Kartesius didefinisikan sebagai semua kemungkinan kombinasi dari baris dalam semua tabel. Pastikan Anda telah bergabung sebelum mencoba untuk mengembalikan data, karena produk Kartesius meja dengan banyak catatan dan/atau pada banyak tabel dapat mengambil beberapa jam untuk menyelesaikan. Berikut adalah Kartesius produk seperti yang digunakan pada tabel dua contoh; Perhatikan bahwa tabel ini Catatan hanya 3 kali 3 Catatan, yang menghasilkan total 9 Catatan. Namun, Bayangkan jika sebaliknya, tabel catatan 100 kali Catatan 1.000 kali 10.000 Catatan; kemudian tabel akan berisi catatan 1,000,000,000!Join_Field Join_Field Color_Field Pattern_Field 1 2 Red Striped 1 3 Red Checkered 1 4 Red Polka-Dot 2 2 Blue Striped 2 3 Blue Checkered 2 4 Blue Polka-Dot 3 2 Green Striped 3 3 Green Checkered 3 4 Green Polka-Dot Kadang-kadang, beberapa pengguna ingin menggunakan Cartesian produk; Namun, sebagian besar pengguna yang mendapatkan mereka melakukannya secara tidak sengaja, dan sering bingung dengan mereka. Karena sebagian besar pengguna mengecualikan sebagian besar bidang dalam join, produk Kartesius nyata dapat dengan mudah terlihat sebagai membingungkan seperti ini: Color_Field Red Red Red Blue Blue Blue Green Green Green Jika 100 Record ditambahkan ke Pattern_Table, query ini akan memiliki 309 catatan (103 catatan masing-masing merah, biru dan hijau). Cartesian produk memiliki pernyataan pilih yang relatif sederhana. Berikut ini adalah Bagaimana SQL mungkin mencari produk Kartesius di atas: SELECT Color_Table.Color_Field, Pattern_Table.Pattern_Field FROM `c:\database`.Color_Table, `c:\database`.Pattern_Table Contoh praktis Kartesius produk akan membuat daftar semua kemungkinan kombinasi pilihan pada produk barang dagangan, dengan harga total untuk setiap kombinasi. REFERENSI Microsoft Query "User's Guide," versi 1.0, halaman 101-114,
123-131 Berikut dua buku tidak disertakan dengan setiap Microsoft produk dan yang tidak diproduksi oleh Microsoft. Produk pihak ketiga dibahas di sini dibuat oleh vendor yang independen terhadap Microsoft; Kami membuat tidak ada garansi, secara tersirat maupun, mengenai produk ini kinerja atau kehandalan. "Memahami SQL baru: panduan lengkap," Morgan Kaufmann Publishers, Inc., 1993. "Joe Celko SQL untuk Smarties: Lanjutan SQL pemrograman,"Morgan Kaufmann Publishers, Inc., 1995. Untuk informasi lebih lanjut tentang menciptakan bergabung dalam Microsoft permintaan, pilih pencarian tombol pada bantuan dan ketik: joins, overview Berlaku bagi:
Penerjemahan MesinPENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah. Klik disini untuk melihat versi Inggris dari artikel ini:136699
(http://support.microsoft.com/kb/136699/en-us/
)
| Sumber Lain Situs Pendukung Lain
KomunitasCari Bantuan SekarangTerjemahan Artikel
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


Kembali ke atas
