الفرق بين المراجعتين لصفحة: «SQL/full join»
ط تعديل الشيفرة |
ط تعديل الأمثلة وإضافة محرف LTR |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:الربط التام FULL JOIN}}</noinclude> | <noinclude>{{DISPLAYTITLE:الربط التام FULL JOIN}}</noinclude> | ||
يُستخدم هذا النوع من [[SQL/join|الربط]] ما بين جدولين (أو أكثر) وذلك لتحديد كافة السجلات من الجدولين اليساري واليميني بغض النظر عن تحقيقها للشرط، وتكون له البنية العامّة الآتية:<syntaxhighlight lang="sql"> | يُستخدم هذا النوع من [[SQL/join|الربط]] ما بين جدولين (أو أكثر) وذلك لتحديد كافة السجلات من الجدولين اليساري واليميني بغض النظر عن تحقيقها للشرط، وتكون له البنية العامّة الآتية:<syntaxhighlight lang="sql"> | ||
SELECT | SELECT col_names | ||
FROM | FROM tbl_name1 | ||
FULL JOIN | FULL JOIN tbl_name2 | ||
ON | 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 |
مراجعة 10:06، 30 يناير 2018
يُستخدم هذا النوع من الربط ما بين جدولين (أو أكثر) وذلك لتحديد كافة السجلات من الجدولين اليساري واليميني بغض النظر عن تحقيقها للشرط، وتكون له البنية العامّة الآتية:
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 |
---|---|---|---|---|
نعم | نعم | نعم | نعم | لا |