ประเภทของ 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

เตรียมความพร้อมสู่อาชีพแห่งอนาคต

สมัครเลยตอนนี้สำหรับปริญญาโทด้านวิศวกรรมซอฟต์แวร์