الفرق بين المراجعتين لصفحة: «SQL/full join»

من موسوعة حسوب
< SQL
ط استبدال النص - '\[\[تصنيف:(.*)\]\]' ب'{{SUBPAGENAME}}'
ط ←‏التوافقية: FULL OUTER JOIN غير مدعوم في SQLite
 
(مراجعتان متوسطتان بواسطة مستخدم واحد آخر غير معروضتين)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE:الربط التام FULL JOIN}}</noinclude>
<noinclude>{{DISPLAYTITLE:الربط التام FULL JOIN}}</noinclude>
يُستخدم هذا النوع من [[SQL/join|الربط]] ما بين جدولين (أو أكثر) وذلك لتحديد كافة السجلات من الجدولين اليساري واليميني بغض النظر عن تحقيقها للشرط، وتكون له البنية العامّة الآتية:<syntaxhighlight lang="sql">
يُستخدم هذا النوع من [[SQL/join|الربط]] ما بين جدولين (أو أكثر) وذلك لتحديد كافة السجلات من الجدولين اليساري واليميني بغض النظر عن تحقيقها للشرط، وتكون له البنية العامّة الآتية:<syntaxhighlight lang="sql">
SELECT column-names
SELECT col_names
FROM table-name1
FROM tbl_name1
FULL JOIN table-name2
FULL JOIN tbl_name2
ON column-name1 = column-name2
ON col_name1 = col_name2


</syntaxhighlight>
</syntaxhighlight>
سطر 217: سطر 217:
|-
|-
|Dr. Shadi Balid
|Dr. Shadi Balid
|English (Int)
|English (Int)
|Rama
|Rama
|1147
|1147
سطر 227: سطر 227:
|-
|-
|Dr. Shadi Balid
|Dr. Shadi Balid
|English (Int)
|English (Int)
|Rahaf
|Rahaf
|1149
|1149
سطر 282: سطر 282:
|-
|-
|Dr. Reem Hadi
|Dr. Reem Hadi
|English (Adv)
|English (Adv)
|Loujain
|Loujain
|1160
|1160
سطر 292: سطر 292:
|-
|-
|Dr. Firas Abd
|Dr. Firas Abd
|English (TOEFL)
|English (TOEFL)
|NULL
|NULL
|NULL
|NULL
سطر 316: سطر 316:
|-
|-
|نعم
|نعم
|نعم
|لا
|نعم
|نعم
|نعم
|نعم

المراجعة الحالية بتاريخ 12:42، 2 ديسمبر 2019

يُستخدم هذا النوع من الربط ما بين جدولين (أو أكثر) وذلك لتحديد كافة السجلات من الجدولين اليساري واليميني بغض النظر عن تحقيقها للشرط، وتكون له البنية العامّة الآتية:

SELECT col_names
FROM tbl_name1 
FULL JOIN tbl_name2 
ON col_name1 = col_name2

مثال

إن كانت قاعدة بيانات أحد المراكز التعليمية تحتوي على الجداول الآتية:

الجدول الأول: جدول الطلاب students

(المفتاح الأولي فيه هو عمود StudentID والمفتاح الثانوي هو عمود CourseID للربط مع جدول الدورات التدريبية)

RegDate CourseID LastName FirstName StudentID
‎07-JUL-2017‎ 0206 Najjar Rama 1147
‎08-NOV-2017 0604 Kordi Jenan 1148
‎07-JUL-2017 0206 Bitar Rahaf 1149
‎20-AUG-2017 0607 Taweel Farah 1150
‎08-NOV-2017 0610 Arab Rami 1151
‎24-OCT-2017 0803 Akkad Aya 1152
‎08-NOV-2017 0504 Haddad Abed 1153
‎20-AUG-2017 0801 Fares Tasneem 1154
‎24-OCT-2017 0607 Hamsho Monther 1155
‎30-SEP-2017 0607 Abd Allah Hiba 1156
‎07-JUL-2017 0509 Khatib Mohammad 1157
‎20-AUG-2017 0801 Sharif Ibrahim 1158
‎24-OCT-2017 0802 Fehmi Hanin 1159
‎20-AUG-2017 0204 Zein Loujain 1160
‎08-NOV-2017 0503 Helali Ammar 1161

الجدول الثاني: جدول الدورات التدريبية courses

(المفتاح الأولي فيه هو عمود CourseID والمفتاح الثانوي هو عمود DepartmentID للربط مع جدول الأقسام)

DepartmentID Lecturer Course CourseID
EN01 Dr. Reem Hadi English (Adv)‎ 0204
EN01 Dr. Shadi Balid English (Int)‎ 0206
EN02 Dr. Firas Abd English (TOEFL)‎ 0211
IT01 Eng. Nasser Sharif Artificial Intelligence 0604
IT01 Eng. Amal Safi Networks 0607
IT01 Eng. Salem Najm ICDL 0610
IT02 Eng. Nasser Sharif SQL Programming 0703
IT02 Eng. Amal Safi FrontEnd Programming 0704
IT03 Mr. Maher Siraj Photoshop Design 0801
IT03 Ms. Nadia Taleb Illustrator Design 0802
IT03 Mr. Maher Siraj UI Design 0803

الجدول الثالث: جدول الأقسام departments

(المفتاح الأولي فيه هو DepartmentID)

Head DepatementName DepartmentID
Dr. Firas Abd General English EN01
Dr. Saer Raslan Advanced English EN02
Dr. Osama Najjar Information Technology IT01
Eng. Amal Safi Programming IT02
Eng. Fares Ahmad Graphic Design IT03

فإن تنفيذ الاستعلام الآتي:

SELECT StudentID, FirstName, Course, Lecturer
FROM students st
FULL JOIN courses co
ON st.CourseID = co.CourseID;

سيُظهر كافة السجلات من الجدول students (والذي سُمي باسم st ضمن الشيفرة) وكافة سجلات الجدول courses (والذي سُمي باسم co ضمن الشيفرة) سواءً كانت مرتبطة عبر العمود CourseID أو لم تكن، لتظهر النتائج الآتية:

Lecturer Course FirstName StudentID
Dr. Shadi Balid English (Int)‎ Rama 1147
Eng. Nasser Sharif Artificial Intelligence Jenan 1148
Dr. Shadi Balid English (Int)‎ Rahaf 1149
Eng. Amal Safi Networks Farah 1150
Eng. Salem Najm ICDL Rami 1151
Mr. Maher Siraj UI Design Aya 1152
NULL NULL Abed 1153
Mr. Maher Siraj Photoshop Design Tasneem 1154
Eng. Amal Safi Networks Monther 1155
Eng. Amal Safi Networks Hiba 1156
NULL NULL Mohammad 1157
Mr. Maher Siraj Photoshop Design Ibrahim 1158
Ms. Nadia Taleb Illustrator Design Hanin 1159
Dr. Reem Hadi English (Adv)‎ Loujain 1160
NULL NULL Ammar 1161
Dr. Firas Abd English (TOEFL)‎ NULL NULL
Eng. Nasser Sharif SQL Programming NULL NULL
Eng. Amal Safi FrontEnd Programming NULL NULL

التوافقية

SQLServer SQLite Oracle PostgreSQL MySQL
نعم لا نعم نعم لا

مصادر