ประเภทของ MySQL เข้าร่วม | MySQL เข้าร่วม [ด้วยไวยากรณ์]
เผยแพร่แล้ว: 2020-12-09สารบัญ
บทนำ
MySQL เป็นระบบจัดการฐานข้อมูลเชิงสัมพันธ์แบบโอเพนซอร์ส (RDBMS) ที่ได้รับการสนับสนุนจาก Oracle MySQL ประกอบด้วยคำสองคำ - "ของฉัน" ซึ่งเป็นชื่อลูกสาวของผู้ร่วมก่อตั้ง Michael Widenius และ "SQL" ซึ่งเป็นคำย่อของ Structured Query Language
คำว่า Relational ใน RDBMS เป็นพื้นฐานที่ JOINS ใน MySQLwork ฐานข้อมูลสามารถมีตารางได้หลายประเภทและหลายจำนวน JOINS ตามชื่อที่แนะนำเชื่อมโยงตารางเข้าด้วยกันโดยใช้คอลัมน์ทั่วไป ตัวอย่างพื้นฐานอย่างหนึ่งคือ ตารางที่ 1 มีรายละเอียดพนักงาน และตารางที่ 2 มีรายละเอียดโครงการ
หากเราต้องตรวจสอบโครงการที่พนักงานมีส่วนร่วม เราสามารถเข้าร่วมตารางบนชื่อพนักงานหรือรหัสพนักงาน การทำเช่นนี้จะเป็นการรวมตารางและสามารถเข้าถึงตารางเสมือนใหม่ (สามารถบันทึกได้) พร้อมข้อมูลทั้งหมดที่จำเป็น .
คุณสมบัติ
- MySQL เป็นโอเพ่นซอร์สและ RDBMS ที่เหมาะสมในการเข้าถึงและจัดการบันทึกของตาราง
- รองรับภาษาการเข้ารหัส SQL ซึ่งเป็นเรื่องธรรมดามากในด้านการจัดการฐานข้อมูล
- MySQL เป็นพื้นฐานและใช้งานง่าย มีเอกสารจำนวนมากหากมีคนติดอยู่ที่ปัญหาใดปัญหาหนึ่ง
- MySQL มีชั้นความปลอดภัยที่แข็งแกร่งมาก รหัสผ่านถูกเข้ารหัส ดังนั้นข้อมูลที่ละเอียดอ่อนจึงปลอดภัยจากผู้บุกรุก
- MySQL สามารถปรับขนาดได้เนื่องจากรองรับมัลติเธรด Multi-Threading มีหน้าที่ในการเรียกใช้คิวรี่และการจัดการข้อมูลอย่างรวดเร็ว แม้ว่าตารางจะมีขนาดใหญ่มาก
- MySQL มีสถาปัตยกรรมไคลเอนต์ / เซิร์ฟเวอร์ มีเซิร์ฟเวอร์ฐานข้อมูลและไคลเอนต์จำนวนมาก (โปรแกรมแอปพลิเคชัน) ที่เชื่อมต่อกับเซิร์ฟเวอร์
ประเภทของการเข้าร่วม
เข้าร่วมภายใน
Inner join เป็นประเภทการรวมเริ่มต้นใน MySQL รวมและส่งกลับระเบียนที่ตรงกันจากสองตาราง มันจะเปรียบเทียบแต่ละแถวของตารางหนึ่งกับอีกตารางหนึ่ง และตรวจสอบเงื่อนไขการรวม หากตรงตามเงื่อนไข แถวใหม่จะถูกสร้างขึ้นด้วยคอลัมน์จากทั้งสองตาราง และแถวใหม่นี้จะรวมอยู่ในผลลัพธ์
ข้อมูลโค้ด:
เลือก t1 _ emp_id , t1.emp_name,t2.project_name

จาก พนักงานในฐานะ t1
INNER JOIN โครงการเป็น t2
เปิด t1.project_id = t2 _ โครงการ_id
ในแบบสอบถามนี้ มีสองตาราง ตารางแรกประกอบด้วยรายละเอียดของพนักงาน และตารางที่สองประกอบด้วยโครงการทั้งหมดที่กำลังดำเนินการอยู่ หลังจากเรียกใช้แบบสอบถามข้างต้น MySQL จะส่งคืนพนักงานทั้งหมดพร้อมรายละเอียดโครงการที่เกี่ยวข้อง ที่นี่คอลัมน์ project_id เป็นคีย์ต่างประเทศในตารางพนักงานและคีย์หลักในตารางโครงการ พนักงานที่ไม่มี project_id หรือ project_id ที่ไม่มีพนักงานจะไม่ถูกส่งคืน
เข้าร่วมซ้าย
เข้าร่วมด้านซ้าย เข้าร่วมและส่งคืนระเบียนที่ตรงกันจากสองตารางและระเบียนที่ไม่ตรงกันจากตารางแรก การรวมด้านซ้ายจะส่งกลับผลลัพธ์ของการรวมภายใน + ระเบียนที่ไม่ตรงกันจากตารางแรก แถวที่ไม่ตรงกันเหล่านี้จะมีคอลัมน์จากตารางที่ 2 ด้วย แต่ค่าในคอลัมน์เหล่านั้นจะเป็นโมฆะเนื่องจากไม่มีข้อมูลที่ตรงกันสำหรับข้อมูลเหล่านั้น
ข้อมูลโค้ด:
เลือก t1 _ emp_id , t1.emp_name,t2.project_name

จาก พนักงานในฐานะ t1
ซ้าย เข้าร่วม โปรเจ็กต์เป็น t2
เปิด t1.project_id = t2 _ โครงการ_id
ในแบบสอบถามนี้ มีสองตาราง ตารางแรกประกอบด้วยรายละเอียดของพนักงาน และตารางที่สองประกอบด้วยโครงการทั้งหมดที่กำลังดำเนินการอยู่ หลังจากเรียกใช้แบบสอบถามข้างต้น MySQL จะส่งคืนพนักงานทั้งหมดพร้อมรายละเอียดโครงการที่เกี่ยวข้องและรายละเอียดพนักงานที่ไม่มีการกำหนด project_id ที่นี่คอลัมน์ project_id เป็นคีย์ต่างประเทศในตารางพนักงานและคีย์หลักในตารางโครงการ
อ่าน: เปลี่ยนชื่อคอลัมน์ในSQL
เข้าร่วมขวา
การรวมทางขวานั้นคล้ายกับการรวมทางซ้ายมาก เพียงว่าตอนนี้ระเบียนที่ไม่ตรงกันจากตารางที่สองจะรวมอยู่ในผลลัพธ์และเฉพาะระเบียนที่ตรงกันจากตารางแรกเท่านั้น
ข้อมูลโค้ด:
เลือก t1 _ emp_id , t1.emp_name,t2.project_name
จาก พนักงานในฐานะ t1
RIGHT JOIN โปรเจ็กต์เป็น t2
เปิด t1.project_id = t2 _ โครงการ_id
หลังจากเรียกใช้แบบสอบถามข้างต้น MySQL จะส่งคืนพนักงานทั้งหมดพร้อมรายละเอียดโครงการที่เกี่ยวข้องและรายละเอียดของโครงการที่ไม่มีพนักงานที่ตรงกัน คอลัมน์รายละเอียดพนักงานจะเป็นโมฆะในกรณีเหล่านั้น
เข้าร่วมแบบเต็ม
ตามชื่อที่แนะนำ การเข้าร่วมแบบเต็มจะส่งกลับระเบียนที่ตรงกันและไม่ตรงกันทั้งหมด หาก MySQL สามารถค้นหาแถวที่ตรงกันในคอลัมน์ที่ต้องการได้ ระเบียนเหล่านั้นจะถูกจับคู่ แถวที่เหลือจะมีค่า NULL
ข้อมูลโค้ด:
เลือก *
จาก พนักงานในฐานะ t1
FULL OUTER JOIN โปรเจ็กต์เป็น t2
เปิด t1.project_id = t2 _ โครงการ_id
หลังจากเรียกใช้แบบสอบถามข้างต้น MySQL จะส่งคืนพนักงานทั้งหมดพร้อมรายละเอียดโครงการที่เกี่ยวข้อง รวมถึงรายละเอียดของพนักงานที่ไม่มีโครงการ และโครงการที่ไม่มีพนักงานที่ตรงกัน บางคอลัมน์จะมีค่า NULL ตามลำดับ
ข้ามเข้าร่วม
ตามชื่อที่แนะนำ การรวมไขว้จะเข้าร่วมแต่ละแถวของตารางที่ 1 กับทุกแถวของตารางที่ 2 โดยไม่คำนึงถึงคอลัมน์ที่ตรงกัน ดังนั้น หากมี 5 ระเบียนในแต่ละตาราง ผลลัพธ์จะมี 25 แถว เนื่องจากทุกแถวจะจับคู่กับอีกแถวหนึ่ง
ข้อมูลโค้ด:
เลือก *
จาก พนักงานในฐานะ t1
CROSS JOIN โปรเจ็กต์เป็น t2

หลังจากเรียกใช้แบบสอบถามข้างต้น MySQL จะส่งคืนพนักงานทั้งหมดพร้อมรายละเอียดโครงการทั้งหมด แม้ว่าการแสดงภาพข้อมูลจะไม่สมเหตุสมผลนัก แต่ Cross Joins มีความสำคัญและจำเป็นในกรณีพิเศษและเฉพาะบางกรณี
อ่านเพิ่มเติม: คำถามและคำตอบสัมภาษณ์ SQL
ลงทะเบียนเรียน หลักสูตรวิศวกรรมซอฟต์แวร์ จากมหาวิทยาลัยชั้นนำของโลก รับโปรแกรม PG สำหรับผู้บริหาร โปรแกรมประกาศนียบัตรขั้นสูง หรือโปรแกรมปริญญาโท เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว
บทสรุป
เข้าร่วมเป็นส่วนสำคัญของการดึงข้อมูล ช่วยรวมข้อมูลจากตารางต่างๆ ตามความต้องการของผู้ใช้ ข้อเสียเพียงอย่างเดียวของ JOINS คือการเขียนบางครั้งซับซ้อน ในตอนท้ายของวัน JOINS มีประโยชน์มากและสามารถเข้าร่วมประเภทต่างๆ ใน MySQL ได้
โดยรวมแล้ว การเรียนรู้และลงมือปฏิบัติจริงกับฐานข้อมูลทั้งหมดที่กล่าวถึงในบทความนี้จะเพิ่มประสบการณ์ของคุณ ศึกษาภาพรวมของหลักสูตร การเรียนรู้ และโอกาสในการทำงานที่เกี่ยวข้อง—แพลตฟอร์มอย่าง upGrad เสนอหลักสูตรที่เต็มไปด้วยพลังซึ่งออกแบบโดยสถาบันที่มีชื่อเสียงอย่าง IIIT-B ใน Executive PG Program Full Stack Development
