5.1 SQL - JOIN

SQL JOIN

جملة JOIN في SQL تُستخدم لدمج الصفوف (rows) من جدولين أو أكثر بناءً على علاقة بين الأعمدة المشتركة بينهم. عادةً، العلاقة بتكون بين مفتاح أساسي (Primary Key) في جدول ومفتاح خارجي (Foreign Key) في جدول آخر.


أنواع JOIN:

النوع الوصف
INNER JOIN يعرض الصفوف اللي فيها تطابق بين الجدولين
LEFT JOIN يعرض كل الصفوف من الجدول الأيسر + المطابقة من الجدول الأيمن
RIGHT JOIN يعرض كل الصفوف من الجدول الأيمن + المطابقة من الجدول الأيسر
FULL OUTER JOIN يعرض جميع الصفوف من الجدولين، سواء كان فيه تطابق أو لا


قاعدة البيانات المستخدمة:

جدول Customers
CustomerID CustomerName Country
1 Alfreds Germany
2 Ana Trujillo Mexico
جدول Orders
OrderID CustomerID OrderDate
10308 2 2024-01-01
10309 37 2024-01-03


1. INNER JOIN

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID;

⬅ يعرض فقط العملاء اللي عندهم طلبات (تطابق بين الجدولين).



2. LEFT JOIN

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID;

⬅ يعرض كل العملاء، سواء كان عندهم طلبات أو لا.



3. RIGHT JOIN

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
RIGHT JOIN Orders ON Customers.CustomerID = Orders.CustomerID;

⬅ يعرض كل الطلبات، سواء كان لها عملاء مطابقين أو لا.



4. FULL OUTER JOIN (غير مدعومة في MySQL مباشرة)

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
FULL OUTER JOIN Orders ON Customers.CustomerID = Orders.CustomerID;

⬅ يعرض جميع العملاء والطلبات حتى بدون تطابق.



ملاحظات مهمة:

  • يفضل استخدام alias لتسهيل الكتابة في الاستعلامات الطويلة.
  • ممكن تكتب الأعمدة كـ table.column لتوضيح المصدر.

تعليقات

المشاركات الشائعة من هذه المدونة

HTML - Text Formatting تنسيقات النص

1.1 SQL Introduction

Entity Framework - مقدمة عن Entity Framework