Select the product you need help with
คำอธิบายของการใช้งานของตัวเชื่อมในแบบสอบถามของ Microsoftหมายเลขบทความ (Article ID): 136699 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้ เนื้อหาบนหน้านี้สรุปบทความนี้กล่าวถึงในการใช้ตัวเชื่อมในแบบสอบถามของ Microsoft เข้าร่วมเป็นวิธีคุณสามารถใช้กับฐานข้อมูลการกำหนดค่า และการแสดงให้เห็นถึงความสัมพันธ์ระหว่างตารางที่สองได้ ในแบบสอบถามของ Microsoft คุณสามารถสร้าง และจัดการชนิดต่าง ๆ ของตัวเชื่อม ในหลายกรณี แบบสอบถาม Microsoft รวมตารางในแบบสอบถามของคุณ ตัวเชื่อมที่แสดงอยู่ ด้วยบรรทัดที่มีการเชื่อมต่อตารางในบานหน้าต่าง'ตาราง' หัวข้อที่ครอบคลุมอยู่ในบทความนี้มีข้อมูลต่อไปนี้: What Is a Join? Inner Joins SQL Statements Outer Joins Subtract Joins Full Outer Joins Self Joins Equi-Joins Natural Joins Cartesian Products ข้อมูลเพิ่มเติมอะไรเป็นการรวมหรือไม่เข้าร่วมมีการเชื่อมต่อระหว่างตารางที่สองที่ผสานตารางที่สองตามที่เขตข้อมูลที่มีในร่วม การสร้างตารางเสมือนใหม่ (ซึ่งสามารถถูกบันทึกไว้ออกเป็นตารางที่แท้จริง) ตัวอย่างเช่น ด้วยตารางที่สองต่อไปนี้:
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_Field Color_Field Pattern_Field 2 Blue Striped 3 Green Checkered ตารางผลลัพธ์ประกอบด้วยเฉพาะระเบียน 2 และ 3 ในฟิลด์ Join_Field เนื่องจากมีเรกคอร์ดเดียวที่มีอยู่ใน Color_Table และ Pattern_Table ตัวอย่างที่ practical ของการเข้าร่วมมีรายการของผู้ที่อยู่ของผลิตภัณฑ์และผู้ผลิต ตารางผลิตภัณฑ์ และผู้ขายที่ตารางไม่สามารถเข้าร่วมในเขตข้อมูลหมายเลขผลิตภัณฑ์ได้ เข้าร่วม Innerเข้าร่วมในตัวอย่างก่อนหน้านี้ เรียกเข้าร่วมการ inner เป็นชนิดที่ง่ายที่สุดของการเข้าร่วม โดยทั่วไป คุณต้องการใช้เพียงแบบเศษส่วนของฟิลด์ในตาราง ตัวอย่างเช่น เชื่อม inner จริง เช่นข้างต้น หนึ่งคุณอาจต้องการแยก Join_Field เพื่อให้เข้าร่วมมีลักษณะดังนี้:Color_Field Pattern_Field Blue Striped Green Checkered ในแบบสอบถามของ Microsoft ตัวเชื่อม inner เป็นชนิดการเข้าร่วมการเริ่มต้น (สำหรับข้อมูลเพิ่มเติม ดูหน้า 105 ในรายการแนะ "ของผู้ใช้แบบสอบถาม Microsoft นำ รุ่น 1.0) รายงานของ SQLคำสั่ง SELECT ในภาษาของแบบสอบถามอย่างเป็นระบบ (SQL) ที่มีชนิดของแมโครที่คุณสามารถใช้ได้เมื่อคุณสร้างการเข้าร่วม โปรดสังเกตว่า SQL เป็นอย่างยิ่งที่แตกต่างจากของ Microsoft Excel แมโครภาษาอื่น (การ Visual การพื้นฐานสำหรับโปรแกรมประยุกต์ และภาษาของแมโคร Excel 4.0)คุณไม่จำเป็นในการทำความเข้าใจเกี่ยวกับ SQL เพื่อสร้างตัวเชื่อมได้โดยง่ายในการสอบถาม Microsoft เข้าร่วมทั้งหมดมีคำสั่ง SELECT ที่เชื่อมโยงด้วย คุณสามารถดูคำชี้แจง SELECT สำหรับการเข้าร่วมใด ๆ ในแบบสอบถาม Microsoft ได้ โดยการคลิก "SQL" บนแถบเครื่องมือ ตาม ด้วยเครื่องบันทึกของแมโครของ Microsoft Excel คุณสามารถใช้แบบสอบถามเพื่อบันทึกคำสั่ง SELECT ซึ่งแตกต่างจากการบันทึกของแมโครของ Microsoft Excel บันทึกคำสั่ง SELECT อยู่เสมอ และไม่สามารถปิด นี่คือคำสั่ง SELECT อาจลักษณะในแบบสอบถามของ Microsoft สำหรับการเข้าร่วม inner ที่ด้านบน: 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 โปรดสังเกตว่า เราใช้ชื่อของฐานข้อมูล 'C:\database' .mdb ซึ่งมีนามสกุลของชื่อแฟ้มสำหรับฐานข้อมูล Microsoft Access ซึ่งสามารถมีหลายตารางในหนึ่งแฟ้ม ในฐานบางข้อมูลอื่น เช่น dBASE, Paradox และ FoxPro แต่ละตารางต้องมีแฟ้มของตนเอง ในกรณีดังกล่าว ไวยากรณ์ SQL อาจปรากฏซ้ำซ้อนเนื่องจากชื่อตารางได้เสมอเหมือนกับชื่อแฟ้มโดยไม่มีส่วนขยาย SQL ไวยากรณ์แตกต่างไปจากเอ็นจินการสอบถาม การมีตัวอย่างเช่น ใน Microsoft ในการเข้าถึง แบบสอบถามจากตัวอย่างข้างต้นลักษณะต่อไปนี้: 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]; เส้นทางไปยังตารางไม่ได้ถูกใช้ในการเข้าถึงของ Microsoft ได้เนื่องจากตารางอยู่ในแฟ้ม.mdb Microsoft Access แม้ว่าตารางภายนอกถูกเชื่อมต่อ และใช้ในการสอบถาม คำสั่ง SQL การเข้าถึงของ Microsoft ไม่แสดงเส้นทางไปยังตารางภายนอก เข้าร่วม Outerเข้าร่วมชนิดอื่นเรียกว่าการเข้าร่วม outer ด้วยการเข้าร่วมการ outer คุณเห็นระเบียนทั้งหมดที่อยู่จากตารางหนึ่งและเฉพาะระเบียนจากตารางอื่น ๆ ที่มีค่าที่ตรงกันจากตารางแรก ซึ่งอาจปล่อยว่างรายการของฟิลด์บางส่วน หรือ "ศูนย์ สำหรับตารางสองเพื่อให้สามารถเข้าร่วม ได้ "ซ้าย outer เชื่อม" ตัวเชื่อม outer ที่เป็นไปได้สอง และ "ขวา outer เชื่อม (ดังนั้นชื่อได้เนื่องจากคุณมักจะดูตารางแบบเคียงข้างกัน) ใช้ตารางที่สองที่ก่อนหน้าในตัวอย่าง ต่อไปนี้เป็นตัวเชื่อม outer เป็นไปได้ที่สองอย่างใดอย่างหนึ่ง:Join_Field Color_Field Pattern_Field 1 Red (NULL) 2 Blue Striped 3 Green Checkered เป็นแบบอื่นสามารถเชื่อมต่อไปนี้: Join_Field Color_Field Pattern_Field 2 Blue Striped 3 Green Checkered 4 (NULL) Polka-Dot หมายเหตุ: ในการเข้าร่วม คุณไม่เห็นคำว่า "เป็น NULL" เมื่อคุณดูข้อมูล ใช้คำสำคัญ "เป็น NULL" เมื่อคุณกำลังทำงานกับตัวเชื่อม ในแบบสอบถามของ Microsoft ทั้งสองชนิดของการเข้าร่วม outer สามารถสร้างขึ้นได้อย่างง่ายดายโดยใช้เมาส์ (สำหรับข้อมูลเพิ่มเติมเกี่ยวกับกระบวนการนี้ ดูหน้า 112 รายการแนะ "ของผู้ใช้แบบสอบถาม Microsoft นำ รุ่น 1.0) ได้ The following is how the SQL statement might look for the second example of an outer join:
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}
To create a practical example of an outer join, make a list of a company's products with sales figures for the products that had been sold, but not excluding products that had not been sold. To do this, use a Product ID field to join a Products table and a Sales table. The Subtract JoinA third kind of join is the subtract join. A subtract join is the opposite of an outer join; it includes ONLY those records in one table that don't match any record in the other table. Like outer joins, there are two possible subtract joins for any two tables that you want to join; however, they are not usually referred to as "Left subtract join" or "Right subtract join." A subtract join normally return fields from only one of the tables, because by definition the other table's fields return only NULL values. The following is one possible subtract join:join_Field Color_Field 1 Red and here is the other: Join_Field Pattern_Field 4 Polka-Dot In Microsoft Query, a subtract join is created by first creating an Outer join, and then using the criteria "IS NULL" on an appropriate field (Pattern_Field in the first example above; Color_Field in the second example) to exclude records that match between the tables. The following is how the SQL statement might look for the first subtract join above:
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)
To create a practical example of a subtract join, a list of customers that had not ordered recently. To do this, use an Order ID field to join a Customers table and an Orders table. The Full Outer JoinA fourth kind of join is the full outer join. A full outer join is a combination of an outer join with its complimentary subtract join. A full outer join includes all records from both tables and merges those records that are common between the two tables. The following is a full outer join:Join_Field Color_Field Pattern_Field 1 Red (NULL) 2 Blue Striped 3 Green Checkered 4 (NULL) Polka-Dot In Microsoft Query, a full outer join is created by inserting the UNION operator on its own line between the outer join's SELECT statement and the subtract join's SELECT statement (see above). To create a full outer join in Microsoft Query, use the following steps to create the corresponding SQL sentence:
Join_Field Color_Field Pattern_Field
(NULL) Polka-Dot
1 Red (NULL)
2 Blue Striped
3 Green Checkered
Here is how the SQL might look for the above full outer join (commands below the UNION operator is pasted):
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)
To create a practical example of a full outer join, merge overlapping customer lists used by different departments, including fax numbers (which were only on the first list), and Internet e-mail names (which are only in the second list). Each department could continue to use its partial list while having the complete, joined list available. They could be joined on a Customer ID field. The Self-JoinA fifth kind of join is the self-join. A self-join is a connections where a field in a table is matched with a different field in a copy of the same table. Using this example table:
Table_Three
Employee_ID Employee_Name Reports_To
1 Bob 3
2 Sue (NULL)
3 Jim 2
4 Jane 3
and a copy of it, as follows:
Table_Three_01
Employee_ID Employee_Name Reports_To
1 Bob 3
2 Sue (NULL)
3 Jim 2
4 Jane 3
A self-join could be used to create a list of employee names with their supervisor's names. The Employee_ID in Table_Three would be joined with the Reports_To in Table_Three_01. The following is how it might look at first: Employee_Name Employee_Name Bob Jim Sue (NULL) Jim Sue Jane Jim However, because it is confusing to have the same field name for both fields, change one of the field names, as follows: Employee_Name Supervisor Bob Jim Sue (NULL) Jim Sue Jane Jim The following is how the SQL might look for the above 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 เมื่อคุณส่งคืนข้อมูลไปยัง Microsoft Excel มันจะไม่มีการใช้การเปลี่ยนชื่อฟิลด์ในแบบสอบถามของ Microsoft นี้เป็นจริงเนื่องจาก Microsoft Excel ใช้ชื่อเขตข้อมูลต้นฉบับ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับปัญหานี้ โปรดดูบทความในฐานความรู้ของ Microsoft ต่อไปนี้: 121551
(http://support.microsoft.com/kb/121551/EN-US/
)
: XL5: เขตแทนของชื่อของคอลัมน์ใน MSQUERY ที่ส่งคืนไปยัง Excelแมโคร Microsoft Excel ต้องเปลี่ยนชื่อคอลัมน์ทุกครั้งที่มีฟื้นฟูข้อมูลที่ส่งกลับ (ยกเว้นคุณคืนข้อมูลใน PivotTable ซึ่งกรณีสาระสำคัญเองสามารถสร้าง และเก็บชื่อเขตข้อมูลแบบกำหนดเอง) เข้าร่วม Equi และเข้าร่วมที่เป็นธรรมชาติตัวเชื่อมเกือบทั้งหมด การรวมทั้งตัวอย่างทั้งหมดที่กำหนดให้จนถึงปัจจุบัน เป็นตัวเชื่อม equi และตัวเชื่อมที่เป็นธรรมชาติ meanings เงื่อนไขเหล่านี้มีความสำคัญเพียงเล็กน้อยให้กับผู้ใช้โดยเฉลี่ยของแบบสอบถามของ Microsoft แต่ขั้นตอนถัดไปสองย่อหน้าพยายามที่จะอธิบายถึงเงื่อนไขสำหรับผู้ใช้อาจ curious ที่equi-เข้าร่วมมีการเข้าร่วมในระเบียนที่ถูกเรียกขึ้นอยู่กับว่าฟิลด์เข้าร่วมมีค่าที่ตรงกันในตารางทั้งสอง ซึ่งอาจดูเหมือนกับเพียงคำนิยามของการเข้าร่วม แต่จะไม่ได้ ตัวอย่างของการเข้าร่วมไม่เท่ากับเป็นการเข้าร่วมการที่เร็กคอร์ดในตารางแรกจะเชื่อมต่อเข้ากับระเบียนในตารางที่สองที่ฟิลด์การรวมในตารางแรกเป็นมากกว่า (แทนการเท่ากับการ) ที่รวมในตารางที่สอง (หรือน้อยกว่า หรือ anything นอกเหนือ จากเท่ากับการ) ตามปกติ กลับเรกคอร์ดเพิ่มเติมนอกเหนือจากการเข้าร่วม equi เข้าร่วมที่เป็นธรรมชาติคือหนึ่งที่มีการส่งคืนของตารางสองในการรวมเขตข้อมูลหนึ่งเท่านั้น เนื่องจากมีสองฟิลด์เหล่านี้ ด้วยคำจำกัดความที่เหมือนกันในการเข้าร่วม equi ไม่ซ้ำซ้อนรวมทั้งสองอย่าง สำหรับการเข้าร่วมไม่เท่ากับ คุณจำเป็นเพื่อรวมทั้งเขตข้อมูลเหล่านั้น ดังนั้น ตัวเชื่อม equi และตัวเชื่อมที่เป็นธรรมชาติไปพร้อมกัน คุณจะต้องตัวมี equi-เชื่อม (ซึ่งอธิบายถึงตัวเชื่อมที่มากที่สุด) เพื่อให้เข้าร่วมที่เป็นธรรมชาติ โดยการคืนค่าเพียงหนึ่งเขตข้อมูลที่รวม แต่ ถ้าคุณเคยใช้การเข้าร่วมไม่เท่ากับ คุณอาจต้องทำให้การเข้าร่วมไม่ธรรมชาติ โดยการส่งกลับเขตข้อมูลรวมทั้งสอง ตัวเชื่อมชนิดอื่นได้ หลัก ๆ เต็มรูปแบบของตัวเชื่อมล่าสุดได้ถูกกำหนดไว้ใน 1992 และมาตรฐานนี้เรียกว่า SQL 92 ตัวเชื่อมที่บางอย่างจะไม่สำคัญกับผู้ใช้ Microsoft Excel ได้เนื่องจากตัวเชื่อมเหล่านี้ทำสิ่งต่าง ๆ ที่ง่ายต่อการดำเนินการใน Microsoft Excel ผลิตภัณฑ์ Cartesianความพยายามที่ส่งค่าข้อมูลจากตารางสองราย หรือมากกว่าไม่มีตัวเชื่อมสร้างสิ่งที่เรียกว่า "Cartesian ผลิตภัณฑ์ ผลิตภัณฑ์ Cartesian ถูกกำหนดเป็นชุดที่เป็นไปได้ทั้งหมดของแถวในตารางทั้งหมด คุณควรแน่ใจว่า คุณมีตัวเชื่อมก่อนที่จะพยายามส่งค่าข้อมูล เนื่องจากผลิตภัณฑ์ Cartesian บนตารางที่มีหลายระเบียน และ/หรือ ในหลายตารางอาจใช้เวลาหลายชั่วโมงการให้เสร็จสมบูรณ์ ต่อไปนี้เป็นผลิตภัณฑ์ Cartesian ตามที่ใช้ในตารางตัวอย่างที่สอง หมายเหตุว่า ตารางนี้มีเฉพาะระเบียนที่ 3 เวลาเรกคอร์ 3 ซึ่ง yields ผลรวมของระเบียนที่ 9 อย่างไรก็ตาม สมมติถ้าแทน ตารางถูก 100 เรกคอร์ดเวลา 1000 เรกคอร์ดเวลา 10000 ระเบียน นั้นตารางใดประกอบด้วยระเบียน 1,000,000,000Join_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 ในบางครั้ง ผู้ใช้บางอย่างที่ต้องการใช้ผลิตภัณฑ์ Cartesian อย่างไรก็ตาม ส่วนใหญ่ผู้รับเหล่านั้นทำได้โดยไม่ตั้งใจ และมักจะ confused โดยเหล่านั้น เนื่องจากผู้ใช้ส่วนใหญ่ไม่รวมส่วนใหญ่ของเขตข้อมูลในการเข้าร่วม ผลิตภัณฑ์ Cartesian จริงสามารถได้อย่างง่ายดายค้น perplexing เป็นตามนี้: Color_Field Red Red Red Blue Blue Blue Green Green Green ถ้ามีเพิ่มระเบียน 100 ให้ Pattern_Table แบบสอบถามนี้จะมีเรกคอร์ 309 (103 ระเบียนแต่ละสีแดง ฟ้า และสีเขียว) คาร์ทีเซียนผลิตภัณฑ์มีคำสั่ง SELECT ที่ค่อนข้างง่าย ต่อไปนี้เป็นวิธี SQL อาจค้นหาผลิตภัณฑ์ Cartesian ด้านบน: SELECT Color_Table.Color_Field, Pattern_Table.Pattern_Field FROM `c:\database`.Color_Table, `c:\database`.Pattern_Table ตัวอย่างที่ practical ผลิตภัณฑ์ Cartesian จะเป็นการ สร้างรายการของชุดที่เป็นไปได้ทั้งหมดของตัวเลือกในผลิตภัณฑ์สินค้า ด้วยผลรวมราคาสำหรับแต่ละชุด ข้อมูลอ้างอิงแบบสอบถาม Microsoft แนะนำ "ของผู้ใช้รายการ รุ่น 1.0 หน้า 101 114, 123 131 สมุดบัญชีที่สองต่อไปนี้จะไม่รวมอยู่ใน Microsoft ใด ๆ ผลิตภัณฑ์และจะไม่สร้าง โดย Microsoft กำลังผลิตผลิตภัณฑ์ของบุคคลสามที่กล่าวถึงต่อไปนี้ โดยผู้จัดจำหน่ายที่เกี่ยวข้องกับ Microsoft เราทำให้ไม่รับประกัน ทั้งโดยนัย หรืออย่างอื่น ใด เกี่ยวกับประสิทธิภาพหรือความน่าเชื่อถือของผลิตภัณฑ์เหล่านี้ "การทำความเข้าใจเกี่ยวกับ SQL ที่สร้าง: มีรายการแนะนำเสร็จสมบูรณ์, " Morgan Kaufmann ผู้เผยแพร่ Inc., 1993 " SQL ของ Joe Celko สำหรับ Smarties: ขั้นสูงการเขียนโปรแกรม SQL, " Morgan Kaufmann ผู้เผยแพร่ Inc., 1995 สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการสร้างตัวเชื่อมในแบบสอบถามของ Microsoft เลือกการค้นหาปุ่มในวิธีใช้และชนิด: joins, overview คุณสมบัติหมายเลขบทความ (Article ID): 136699 - รีวิวครั้งสุดท้าย: 6 มกราคม 2554 - Revision: 4.0 ใช้กับ
แปลโดยคอมพิวเตอร์ ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:136699
(http://support.microsoft.com/kb/136699/en-us/
)
| การแปลบทความ
|




กลับไปด้านบน








