Latest web development tutorials

ينضم سكليتي

سكليتيوينضم بند إلى الجمع بين اثنين أو أكثر من الجداول في سجلات قاعدة البيانات.التسجيل هو قيمة مشتركة من خلال الجمع بين حقلين في وسائل الجدول.

يحدد SQL ثلاثة أنواع رئيسية من اتصالات:

  • عبر اتصال - CROSS JOIN

  • أون - INNER JOIN

  • اتصال خارجي - صلة خارجية

قبل أن نواصل، لنفترض أن هناك شركة جدولين وزارة الخارجية. لقد رأينا تستخدم لملء شركة بيان الجدول INSERT. الآن دعونا نفترض سجلات الجدول شركة المدرجة أدناه:

اسم معرف AGE عنوان راتب
---------- ---------- ---------- ---------- ----------
1 بولس 32 ولاية كاليفورنيا 20000.0
2 ألين 25 تكساس 15000.0
3 تيدي 23 النرويج 20000.0
4 مارك 25 ريتش موند 65000.0
5 ديفيد 27 تكساس 85000.0
6 كيم 22 جنوب قاعة 45000.0
7 جيمس 24 هيوستن 10000.0

جدول آخر هو قسم، وتعرف على النحو التالي:

CREATE TABLE قسم (
   معرف INT PRIMARY KEY NOT NULL،
   DEPT CHAR (50) NOT NULL،
   EMP_ID INT NOT NULL
)؛

وفيما يلي جدول قسم عبارة INSERT شغل:

INSERT INTO قسم (ID، DEPT، EMP_ID)
VALUES (1، 'الفوترة تكنولوجيا المعلومات'، 1)؛

INSERT INTO قسم (ID، DEPT، EMP_ID)
VALUES (2، "الهندسة"، 2)؛

INSERT INTO قسم (ID، DEPT، EMP_ID)
VALUES (3، 'المالية'، 7)؛

وأخيرا، لدينا القائمة التالية من السجلات في الجدول وزارة الخارجية:

معرف DEPT EMP_ID
---------- ---------- ----------
1 الفواتير 1
2 الهندسه 2
3 7 المالية

عبر اتصال - CROSS JOIN

عبر الاتصال (CROSS JOIN) كل صف من الجدول الأول مع كل صف من الجدول الثاني للمباراة. إذا كان كل من جدول المدخلات الأعمدة x و y، على التوالي، الجدول نتيجة ديه س + ص الأعمدة. منذ عبر ربط (CROSS JOIN) قد ينتج جدول كبير جدا، يجب توخي الحذر عند استخدامها فقط عندما يكون ذلك مناسبا.

هنا هو بناء الجملة من أجل عبر ربط (CROSS JOIN) من:

SELECT ... تمريرة عرضية من TABLE1 التسجيل table2 ...

واستنادا إلى الجدول أعلاه، يمكننا إرسال عبر الاتصال (CROSS JOIN) على النحو التالي:

سكليتي> EMP_ID SELECT، الاسم، DEPT من شركة CROSS JOIN الإدارة؛

سوف الاستعلام أعلاه تنتج النتائج التالية:

EMP_ID اسم DEPT
---------- ---------- ----------
الفواتير 1 بولس تكنولوجيا المعلومات
2 بول الهندسه
7 بول المالية
الفواتير 1 ألين تكنولوجيا المعلومات
2 ألين الهندسه
7 ألين المالية
الفواتير 1 تيدي تكنولوجيا المعلومات
2 تيدي الهندسه
7 تيدي المالية
الفواتير 1 الأقسام تكنولوجيا المعلومات
2 الأقسام الهندسه
7 الأقسام المالية
الفواتير 1 ديفيد تكنولوجيا المعلومات
2 ديفيد الهندسه
7 ديفيد المالية
الفواتير 1 كيم تكنولوجيا المعلومات
2 كيم الهندسه
7 كيم المالية
الفواتير 1 جيمس تكنولوجيا المعلومات
2 جيمس الهندسه
7 جيمس المالية

أون - INNER JOIN

الاتصال الداخلي (INNER JOIN) لإنشاء جدول نتيجة الجديد الجمع بين جدولين (table1 و table2) الانضمام قيم العمود المسند. سوف الاستفسارات TABLE1 وتتم مقارنة table2 في كل صف في كل صف للعثور على كافة الصفوف التي تلبي الانضمام أزواج المسند مطابقة. عندما نشعر بالارتياح الانضمام قيم العمود المسند ألف وباء سيتم دمج كل صف مطابقة للنتيجة في صف واحد.

الاتصال الداخلي (INNER JOIN) هو النوع الاكثر شيوعا من الاتصال هو نوع الاتصال الافتراضي. الكلمة الداخلي هو اختياري.

هنا هو بناء الجملة لصلة داخلية (INNER JOIN) من:

SELECT ... FROM TABLE1 [INNER] التسجيل table2 على conditional_expression ...

من أجل تجنب التكرار والحفاظ على صيغة باختصار، يمكنك استخدام العبارة في اتصال التعبيرعن الرأي (INNER JOIN) الظروف.يحدد هذا التعبير على قائمة من عمود واحد أو أكثر:

SELECT ... FROM TABLE1 JOIN table2 باستخدام (COLUMN1، ...) ...

اتصال الطبيعي (الطبيعية JOIN) مشابهللانضمام ... استخدام، ولكنها ستكون قيمة متساوية بين قيمة الجدولين في كل عمود اختبار تلقائيا لوجود:

SELECT ... FROM TABLE1 table2 الطبيعي الانضمام ...

واستنادا إلى الجدول أعلاه، يمكننا كتابة صلة داخلية (INNER JOIN)، على النحو التالي:

سكليتي> EMP_ID SELECT، الاسم، DEPT من شركة INNER JOIN وزارة الخارجية
        على COMPANY.ID = DEPARTMENT.EMP_ID.

سوف الاستعلام أعلاه تنتج النتائج التالية:

EMP_ID اسم DEPT
---------- ---------- ----------
الفواتير 1 بولس تكنولوجيا المعلومات
2 ألين الهندسه
7 جيمس المالية

اتصال خارجي - صلة خارجية

اتصال خارجي (صلة خارجية) هي صلة داخلية (INNER JOIN) ملحقات. على الرغم من أن SQL معيار يحدد ثلاثة أنواع الخارجي ينضم: اليسار واليمين، والكامل، ولكن سكليتي يدعميبق سوى صلة خارجية (LEFT JOIN خارجية).

اتصال خارجي (صلة خارجية) أعلن الظروف وطريقة الاتصال الداخلي (INNER JOIN) هي نفسها، واستخدام ON، يستعمل الكلمة الطبيعية أو التعبير. يتم احتساب جدول النتائج الأولية بنفس الطريقة. وبمجرد الانتهاء من الحسابات الاتصال الأساسي، الاتصالات الخارجية (صلة خارجية) من واحد أو اثنين من الجداول ليست مرتبطة بأي خط في الدمج، صلة خارجية عمود مع قيمة فارغة، ضمها إلى جدول النتائج.

هنا هو بناء الجملة من أجل صلة خارجية يسرى انضمام (LEFT JOIN خارجية) من:

SELECT ... FROM TABLE1 LEFT JOIN خارجية table2 على conditional_expression ...

من أجل تجنب التكرار والحفاظ على صيغة باختصار، يمكنك استخدامباستخدام عبارات بيان ينضم الخارجي (صلة خارجية) الظروف.يحدد هذا التعبير على قائمة من عمود واحد أو أكثر:

SELECT ... FROM TABLE1 LEFT JOIN خارجية table2 باستخدام (COLUMN1، ...) ...

واستنادا إلى الجدول أعلاه، يمكن أن نكتب اتصال الخارجي (صلة خارجية)، على النحو التالي:

سكليتي> EMP_ID SELECT، الاسم، DEPT من شركة LEFT JOIN خارجية وزارة الخارجية
        على COMPANY.ID = DEPARTMENT.EMP_ID.

سوف الاستعلام أعلاه تنتج النتائج التالية:

EMP_ID اسم DEPT
---------- ---------- ----------
الفواتير 1 بولس تكنولوجيا المعلومات
2 ألين الهندسه
            تيدي
            علامة
            ديفيد
            كيم
7 جيمس المالية