الفرق بين المراجعتين لصفحة: «SQL/full join»
ط استبدال النص - '\[\[تصنيف:(.*)\]\]' ب'{{SUBPAGENAME}}' |
ط تعديل الشيفرة |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:الربط التام FULL JOIN}}</noinclude> | <noinclude>{{DISPLAYTITLE:الربط التام FULL JOIN}}</noinclude> | ||
يُستخدم هذا النوع من [[SQL/join|الربط]] ما بين جدولين (أو أكثر) وذلك لتحديد كافة السجلات من الجدولين اليساري واليميني بغض النظر عن تحقيقها للشرط، وتكون له البنية العامّة الآتية:<syntaxhighlight lang="sql"> | يُستخدم هذا النوع من [[SQL/join|الربط]] ما بين جدولين (أو أكثر) وذلك لتحديد كافة السجلات من الجدولين اليساري واليميني بغض النظر عن تحقيقها للشرط، وتكون له البنية العامّة الآتية:<syntaxhighlight lang="sql"> | ||
SELECT | SELECT column_names | ||
FROM | FROM table_name1 | ||
FULL JOIN | FULL JOIN table_name2 | ||
ON column-name1 = | ON column-name1 = column_name2 | ||
</syntaxhighlight> | </syntaxhighlight> |
مراجعة 17:53، 29 يناير 2018
يُستخدم هذا النوع من الربط ما بين جدولين (أو أكثر) وذلك لتحديد كافة السجلات من الجدولين اليساري واليميني بغض النظر عن تحقيقها للشرط، وتكون له البنية العامّة الآتية:
SELECT column_names
FROM table_name1
FULL JOIN table_name2
ON column-name1 = column_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 |
---|---|---|---|---|
نعم | نعم | نعم | نعم | لا |