الفرق بين JOIN و UNION في SQL

مؤلف: Laura McKinney
تاريخ الخلق: 2 أبريل 2021
تاريخ التحديث: 23 أبريل 2024
Anonim
21 الدرس الحادي والعشرون : SQL :  الـ UNION AND UNION ALL
فيديو: 21 الدرس الحادي والعشرون : SQL : الـ UNION AND UNION ALL

المحتوى


JOIN و UNION هما الجملتان في SQL ، وتستخدم لدمج بيانات اثنين أو أكثر من العلاقات. لكن الطريقة التي يجمعون بها البيانات وتنسيق النتيجة التي تم الحصول عليها تختلف. ال انضم جملة يجمع بين سمات علاقات اثنين لتشكيل tuples الناتجة في حين ، اتحاد جملة تدمج نتيجة استعلامين. دعونا نناقش الفرق بين JOIN و UNION بمساعدة مخطط المقارنة الموضح أدناه.

  1. رسم بياني للمقارنة
  2. تعريف
  3. الاختلافات الرئيسية
  4. خاتمة

رسم بياني للمقارنة

أساس للمقارنةانضماتحاد
الأساسييجمع JOIN بين سمات tuples الموجودة في العلاقات المختلفة التي تشترك في بعض الحقول أو السمات المشتركة.تجمع UNION بين tuples للعلاقات الموجودة في الاستعلام.
شرطيطبق JOIN عندما يكون للعلاقات المعنية علاقة مميزة واحدة على الأقل.يكون UNION قابلاً للتطبيق عندما يكون عدد الأعمدة الموجودة في الاستعلام واحدًا وتكون السمات المقابلة لها نفس المجال.
أنواعالداخلية ، كامل (الخارجي) ، اليسار اليسار ، الانضمام الصحيح.الاتحاد والاتحاد جميع.
تأثيرطول التلاميذ الناتجة هو أكثر مقارنة بطول التلاميذ من العلاقات المعنية.عدد التلاميذ الناتجة أكثر مقارنة بعدد التلاميذ الموجودين في كل علاقة مرتبطة بالاستعلام.
رسم بياني



تعريف JOIN

انضم جملة في SQL يجمع بين tuples من اثنين من العلاقات أو الجداول مما أدى إلى حجم tuple أطول. يحتوي tuple الناتج على سمات من كلا العلاقة. يتم دمج السمات بناءً على السمات المشتركة بينها. أنواع مختلفة من JOIN في SQL هي الداخلية انضم ، انضم اليسار ، انضم الصحيح ، كامل خارج JOIN.

صلة داخلية يجمع بين tuples من كلا الجدولين طالما هناك سمة مشتركة بين كل منهما. اليسار ينضم النتائج في جميع tuples من الجدول الأيسر ومطابقة tuple من الجدول الأيمن. الانضمام الصحيح ينتج عنه جميع tuples من الجدول الأيمن ومطابقة فقط tuple من الجدول الأيسر. كامل في الخارج الانضمام ينتج عنه جميع المجموعات من كلا الجدولين على الرغم من أنها تحتوي على سمات مطابقة أم لا.

INNER JOIN هو نفس JOIN. يمكنك أيضًا إسقاط كلمة INNER واستخدام ببساطة JOIN لأداء INNER JOIN.


تعريف الاتحاد

UNION هي عملية محددة في SQL. يجمع UNON بين نتيجة سؤالين. تتضمن نتيجة UNION tuples من كل من العلاقات الموجودة في الاستعلام. الشروط التي يجب الوفاء بها تأخذ اتحاد العلاقات بين البلدين:

  1. يجب أن يكون للعلاقات نفس عدد السمات.
  2. يجب أن تكون مجالات السمة المقابلة هي نفسها.

هناك نوعان من الاتحاد اتحاد و اتحاد الجميع. النتيجة التي تم الحصول عليها باستخدام UNION لا تتضمن التكرارات. من ناحية أخرى ، تحتفظ النتيجة التي تم الحصول عليها باستخدام UNION ALL بتكرار.

  1. يتمثل الاختلاف الأساسي بين JOIN و UNION في أن JOIN تجمع بين المجموعتين التاليتين من علاقتين وتتضمن tuples الناتجة سمات من كلا العلاقات. من ناحية أخرى ، تجمع UNION بين نتيجة استعلامين SELECT.
  2. ينطبق بند JOIN فقط عندما يكون للعلاقات المعنية سمة واحدة على الأقل مشتركة في كليهما. من ناحية أخرى ، فإن UNION قابلة للتطبيق عندما يكون للعلاقات بينهما نفس عدد السمات وتكون مجالات السمات المقابلة لها هي نفسها.
  3. هناك أربعة أنواع من JOIN INNER JOIN و LEFT JOIN و RIGHT JOIN و FULL OUTER JOIN. ولكن هناك نوعان من UNION ، UNION و UNION ALL.
  4. في JOIN ، يكون حجم المجموعة أكبر حجمًا لأنه يتضمن سمات من كلا العلاقة. من ناحية أخرى ، في UNION ، يتم زيادة عدد التلاميذ كنتيجة تتضمن tuple من كلا العلاقات الموجودة في الاستعلام.

خاتمة:

يتم استخدام كل من عمليات الجمع بين البيانات في مواقف مختلفة. يتم استخدام JOIN عندما نرغب في الجمع بين سمات علاقتين لهما سمة مشتركة واحدة على الأقل. يتم استخدام UNION عندما نرغب في الجمع بين tuples للعلاقات اثنين الموجودة في الاستعلام.