คอมพิวเตอร์การเขียนโปรแกรม

ผู้ประกอบการ SQL INNER JOIN: ตัวอย่างของไวยากรณ์และคุณสมบัติ

การพัฒนาฐานข้อมูลใด ๆ รวมถึงไม่เพียงการสร้างและการกรอกของตารางที่มีข้อมูลต่างๆ แต่ยังเพิ่มเติมการทำงานกับข้อมูล เพื่อดำเนินการอย่างถูกต้องความหลากหลายของงานที่ทางเลือกของข้อมูลจากตารางและการรายงานการใช้การเลือกมาตรฐานการออกแบบ

ดึงข้อมูลจากตาราง

ถ้าเราพิจารณาปัญหาของทางเลือกของข้อมูลหรือการก่อสร้างของรายงานที่คุณสามารถกำหนดระดับของความซับซ้อนของการดำเนินการ ตามกฎแล้วเมื่อต้องรับมือกับร้ายแรง (ตามปริมาตร) ฐานข้อมูลซึ่งจะเกิดขึ้นตัวอย่างเช่นในร้านค้าออนไลน์หรือ บริษัท ขนาดใหญ่, การเลือกข้อมูลที่ไม่ จำกัด เพียงตารางเดียว เป็นกฎที่ตัวอย่างอาจจะมาจากจำนวนที่ค่อนข้างใหญ่ของตารางไม่ได้เชื่อมโยงเพียง แต่ยังซ้อนคำสั่ง / sub-คำสั่งซึ่งจะทำให้การเขียนโปรแกรมขึ้นอยู่กับงานของตน สำหรับตัวอย่างของตารางหนึ่งสามารถใช้โครงสร้างที่ง่ายที่สุด:

* เลือกจากบุคคล

ที่บุคคล - ชื่อของตารางจากการที่คุณต้องการที่จะทำให้การดึงข้อมูล

แต่ถ้าคุณจะต้องเลือกข้อมูลจากหลายตารางซึ่งเป็นหนึ่งในมาตรฐานการออกแบบสามารถใช้ในการเข้าร่วมหลายตาราง

วิธีการเชื่อมต่อตารางเพิ่มเติม

ถ้าเราพิจารณาการใช้งานของโครงสร้างดังกล่าวในระดับหลักที่เราสามารถแยกแยะความแตกต่างกลไกต่อไปนี้เพื่อเชื่อมต่อจำนวนที่ต้องการสำหรับตารางตัวอย่างคือ:

  1. ผู้ประกอบการเข้าร่วมภายใน
  2. LEFT JOIN หรือมันเป็นวิธีการบันทึกที่สองซ้ายด้านนอกเข้าร่วม
  3. ครอสเข้าร่วมกับ
  4. เต็มรูปแบบเข้าร่วม

ใช้ประกอบการที่จะเข้าร่วมในการปฏิบัติตารางคุณสามารถเรียนรู้ด้วยการพิจารณาการใช้คำสั่ง SQL - Inner เข้าร่วม ตัวอย่างของการใช้งานจะเป็นดังนี้:

* เลือกจากบุคคล

ภายในแบ่งเข้าร่วมใน Su_Person = Pe_ID

ภาษา SQL และเข้าร่วม Inner เข้าร่วมกับผู้ประกอบการสามารถนำมาใช้ไม่เพียง แต่สำหรับการรวมสองคนหรือมากกว่าตาราง แต่ยังให้การเชื่อมต่อแบบสอบถามย่อยอื่น ๆ ซึ่งช่วยอำนวยความสะดวกในการทำงานของผู้ดูแลระบบฐานข้อมูลและเป็นกฎที่มีนัยสำคัญสามารถเร่งดำเนินการเฉพาะโครงสร้างแบบสอบถามที่ซับซ้อน

รวมข้อมูลในสายตารางโดยสาย

ถ้าเราพิจารณาการเชื่อมต่อของจำนวนมากของการย่อยคำสั่งและข้อมูลที่ประกอบเป็นเส้นตารางเดียวโดยสายคุณยังสามารถใช้สหภาพประกอบการและยูเนี่ยนทั้งหมด

การใช้งานของโครงสร้างเหล่านี้จะขึ้นอยู่กับนักพัฒนาที่จะกำหนดวัตถุประสงค์และผลที่ว่าเขาต้องการที่จะประสบความสำเร็จในท้ายที่สุด

รายละเอียดด้านในเข้าร่วมกับผู้ประกอบการ

ในกรณีส่วนใหญ่จะรวมหลายตารางในภาษา SQL ที่ใช้โดยผู้ประกอบการเข้าร่วมภายใน รายละเอียดด้านในเข้าร่วมใน SQL ค่อนข้างง่ายที่จะเข้าใจโปรแกรมเมอร์เฉลี่ยที่เป็นเพียงการเริ่มที่จะเข้าใจฐานข้อมูล ถ้าเราพิจารณารายละเอียดของกลไกของการทำงานของโครงสร้างนี้ที่เราได้รับภาพต่อไปนี้ ผู้ประกอบการลอจิกเป็นทั้งถูกสร้างขึ้นบนข้ามและเป็นไปได้ของการสุ่มตัวอย่างเฉพาะข้อมูลที่มีอยู่ในแต่ละตารางที่รวมอยู่ในแบบสอบถาม

ถ้าเราดูที่ชนิดของการทำงานนี้ในแง่ของการตีความกราฟิกเราขอรับ SQL Inner เข้าร่วมกับผู้ประกอบการโครงสร้างตัวอย่างซึ่งสามารถเห็นได้จากโครงการดังต่อไปนี้:

ตัวอย่างเช่นเรามีสองตารางแสดงแผนผังในรูป พวกเขาในทางกลับกันมีจำนวนที่แตกต่างกันของรายการ ในแต่ละตารางมีสาขาที่เกี่ยวข้อง ถ้าเราพยายามที่จะอธิบายการทำงานของผู้ประกอบการบนพื้นฐานของการวาดภาพที่ผลลัพธ์ที่ปรากฏจะเป็นชุดของระเบียนจากตารางที่สองที่ห้องมีสาขาที่เชื่อมต่อตรง ใส่เพียงแบบสอบถามส่งกลับเฉพาะระเบียน (ในจำนวนสองตาราง) ซึ่งมีข้อมูลอยู่ในอันดับหนึ่งของตาราง

ไวยากรณ์ของ Inner เข้าร่วม

ดังที่ได้กล่าวไว้ก่อนหน้านี้ผู้ประกอบการภายในเข้าร่วมคือไวยากรณ์ที่ง่ายผิดปกติ สำหรับองค์กรของความสัมพันธ์ระหว่างตารางภายในตัวอย่างเดียวจะพอเพียงที่จะจำและใช้แผนภาพต่อไปของการก่อสร้างของผู้ประกอบการซึ่งเป็นที่ที่กำหนดไว้ในบรรทัดเดียวของซอฟแวร์ SQL รหัสคือ:

  • Inner เข้าร่วม [ชื่อตาราง] ใน [เขตข้อมูลคีย์ของตารางที่เชื่อมต่อ] = [คีย์ฟิลด์ pluggable ของตาราง]

เพื่อการสื่อสารในคำสั่งนี้ส่วนใหญ่จะใช้กุญแจตาราง เป็นกฎในกลุ่มของตารางที่เก็บข้อมูลเกี่ยวกับพนักงานที่อธิบายไว้ก่อนหน้าคนแบ่งและมีอย่างน้อยหนึ่งระเบียนที่คล้ายกัน ดังนั้นเวลามองใกล้ผู้ประกอบการที่เข้าร่วมกับ SQL ภายในตัวอย่างที่ได้รับการแสดงเล็ก ๆ น้อย ๆ ก่อนหน้านี้

คำอธิบายตัวอย่างและการเชื่อมต่อไปยังตารางตัวอย่างเสียง

เรามีตารางบุคคลซึ่งเก็บข้อมูลเกี่ยวกับพนักงานทุกคนที่ทำงานใน บริษัท ทราบเพียงว่ามีคีย์หลักของตารางเป็นสนาม - Pe_ID เพียงแค่เกี่ยวกับมันและจะไปมัด

แบ่งตารางที่สองจะเก็บข้อมูลเกี่ยวกับสำนักงานที่ทำงานของพนักงาน เธอในการเปิดการเชื่อมต่อผ่าน Su_Person เขตข้อมูลตารางบุคคล นี้หมายความว่าอย่างไร ขึ้นอยู่กับสคีข้อมูลอาจกล่าวได้ว่าในหน่วยตารางสำหรับแต่ละระเบียนในตาราง "พนักงาน" จะเป็นข้อมูลเกี่ยวกับภาควิชาที่พวกเขาทำงาน มันเป็นเพราะการสื่อสารนี้และจะทำงานร่วมกับผู้ประกอบการภายใน

สำหรับการใช้งานที่ง่ายขึ้นของการพิจารณาผู้ประกอบการเข้าร่วมกับ SQL ภายใน (ตัวอย่างของการใช้งานสำหรับหนึ่งหรือสองตาราง) ถ้าเราพิจารณาตัวอย่างของตารางเดียวกันแล้วทั้งหมดค่อนข้างง่าย:

* เลือกจากบุคคล

ภายในแบ่งเข้าร่วมใน Su_Person = Pe_ID

ตัวอย่างเชื่อมต่อทั้งสองตารางและแบบสอบถามย่อย

ผู้ประกอบการเข้าร่วมกับ SQL ภายในตัวอย่างของการที่มีการใช้งานเพื่อดึงข้อมูลจากหลายตารางสามารถจัดในลักษณะข้างต้นก็คือการทำงานในภาวะแทรกซ้อนที่เล็ก ๆ น้อย ๆ ของหลักการ เพื่อซับซ้อนงานของทั้งสองตาราง ตัวอย่างเช่นเรามีตารางออกที่เก็บข้อมูลเกี่ยวกับทุกหน่วยงานในแต่ละฝ่าย ในตารางนี้บันทึกจำนวนหมวดและจำนวนพนักงานและจะต้องได้รับการเสริมโดยใช้ชื่อของข้อมูลตัวอย่างของแต่ละแผนก มองไปข้างหน้าจะมีมูลค่าการบอกว่าคุณสามารถใช้สองวิธีการที่จะแก้ปัญหานี้

วิธีแรกคือการเชื่อมต่อตารางแผนกที่จะลิ้มลอง จัดระเบียบคำขอในกรณีนี้อาจเป็นดังนี้

เลือก Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name จากบุคคล

ภายในแบ่งเข้าร่วมใน Su_Person = Pe_ID

Inner เข้าร่วมออกเดินทางใน Su_Depart = Dep_ID และ Pe_Depart = Dep_ID

วิธีที่สองของการแก้ปัญหา - คือการใช้แบบสอบถามย่อยที่ไม่ได้ข้อมูลทั้งหมดจะถูกเลือกจากตารางแผนก แต่เฉพาะที่จำเป็น นี้เป็นในทางตรงกันข้ามกับวิธีแรกก็จะช่วยลดเวลาของการร้องขอ

เลือก Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name จากบุคคล

ภายในแบ่งเข้าร่วมใน Su_Person = Pe_ID

รวมภายใน (Select Dep_ID, Dep_Name, Pe_Depart จากออกเดินทาง) เช่น T บน Su_Depart = Dep_ID และ Pe_Depart = Dep_ID

มันเป็นที่น่าสังเกตว่าวิธีการดังกล่าวไม่สามารถเพิ่มความเร็วในการร้องขอการทำงาน บางครั้งมีกรณีที่มีความจำเป็นต้องใช้ข้อมูลตัวอย่างเพิ่มเติมลงในตารางชั่วคราว (ถ้าปริมาณที่มีขนาดใหญ่เกินไป) และจากนั้นได้ร่วมกับกลุ่มตัวอย่างหลัก

ตัวอย่างของการใช้ Inner เข้าร่วมกับผู้ประกอบการตัวอย่างจากจำนวนมากของตาราง

การก่อสร้างเกี่ยวกับการใช้คำสั่งที่ซับซ้อนสำหรับจำนวนเงินที่สำคัญตัวอย่างของตารางข้อมูลและการเชื่อมต่อระหว่างกัน subqueries ความต้องการเหล่านี้สามารถตอบสนอง SQL Inner เข้าร่วมกับไวยากรณ์ ตัวอย่างการใช้งานของผู้ประกอบการในกรณีนี้จะมีความซับซ้อนตัวอย่างไม่เพียง แต่สถานที่จัดเก็บข้อมูลจำนวนมาก แต่ยังมีจำนวนมากของ subqueries ซ้อนกัน สำหรับตัวอย่างที่เป็นรูปธรรมคุณสามารถใช้ข้อมูลจากกลุ่มตัวอย่างของตารางระบบ (Inner เข้าร่วมกับคำสั่ง SQL) ตัวอย่าง - 3 ของตาราง - ในกรณีนี้จะมีโครงสร้างที่ค่อนข้างซับซ้อน

ในกรณีนี้การเชื่อมต่อ (ตารางหลัก) และสามแนะนำเพิ่มเติมเงื่อนไขการเลือกข้อมูลหลาย

เมื่อใช้ภายในเข้าร่วมกับผู้ประกอบการควรจำไว้ว่าที่ซับซ้อนมากขึ้นแบบสอบถามอีกต่อไปมันจะดำเนินการดังนั้นคุณควรมองหาวิธีการที่จะดำเนินการได้อย่างรวดเร็วและแก้ปัญหา

ข้อสรุป

ในท้ายที่สุดผมอยากจะบอกว่าสิ่งหนึ่งที่: ทำงานกับฐานข้อมูล - มันไม่ได้เป็นสิ่งที่ยากที่สุดในการเขียนโปรแกรมดังนั้นหากคุณต้องการทุกคนเดียวจะสามารถที่จะได้รับความรู้ในการสร้างฐานข้อมูลและเมื่อเวลาผ่านไปได้รับประสบการณ์ที่คุณจะได้รับในการทำงานกับพวกเขาในระดับมืออาชีพ .

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 th.delachieve.com. Theme powered by WordPress.