خدمات

منطقة إعلانية للإيجار
 
لتوجيه أي اقتراح او تعليق عام على المدونة او محتواها؛ يسرني تلقيه من خلال هذا الرابط

خدمة جديدة. الدردشة مقدمة من المدونة لقرائها الأعزاء. إضغط هنا للدخول، و لا تنسى أن تواعد أصدقائك على دردشة المدونة.

عرض فاتورة التليفون من الشركة المصرية للاتصالات. يمكنكم عرض الفاتورة من هنا.


‏إظهار الرسائل ذات التسميات sql. إظهار كافة الرسائل
‏إظهار الرسائل ذات التسميات sql. إظهار كافة الرسائل

31 أكتوبر 2014

الحصول على السجلات التي ليس لها مفتاح خارجي في جدول آخر من قاعدة البيانات


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

books:
id int(6)
title varchar(255)
description text

prices:
id int(6)
book_id int(6)
price float
directed_to varchar(255)
والآن نملئ بيانات تثميلية بسيطة كما يلي:

Books:

id Title Description
1 إنجاز الإعجاز وصف الكتاب إنجاز الإعجاز
2 أشجار الثمار وصف الكتاب أشجار الثمار
3 تطوير تطبيقات ويب وصف الكتاب.

Prices:
id book_id price Directed_to
1 2 14.50 طلاب
2 2 26.50 شركات
من هنا نريد إنشاء جملة طلب لقاعدة البيانات SQL Query يمكننا من عرض الكتابين "إنجاز الإعجاز" و "تطوير تطبيقات ويب" حيث أنهما الكتابان اللذان لم يسعرا بعد. هذه الجملة سوف تستخدم الربط من الشمال بين الجدولين LEFT JOIN كما يلي:

SELECT * FROM books LEFT JOIN prices ON book.id = price.book_id
WHERE price.id IS NULL