- UNION تزيل اي صفوف مكررة فى انتيجة النهائية للكويري
- بينما UNION ALL تحافظ على نتيجة تنفيذ الكويري كما هي بدون إزالة لأى صفوف متكررة
الكود التالي يقوم بانشاء جدولين table1 و table2 و ادخال بعض البيانات فيهم
-- انشاء جدولين و ادخال البيانات فيهم للتجربةثم نقوم بتنفيذ الكويري التالى لعرض محتويات الجدولين
CREATE TAble table1 (id int, name varchar(50))
CREATE TAble table2 (id int, name varchar(50))
insert into table1 (id, name)
values ( 1 , 'Mohamed')
insert into table1 (id, name)
values ( 2 , 'Yasser')
insert into table1 (id, name)
values ( 3 , 'Ibrahem')
insert into table2 (id, name)
values ( 2 , 'Yasser')
insert into table2 (id, name)
values ( 4 , 'Ahmed')
insert into table2 (id, name)
values ( 5 , 'Mahmoud')
Select id,name from table1نلاحظ فى النتائج ان النتيجة الأولى بها Id=2 , name=Yasser و نفس الصف موجود فى النتيجة الثانية من الجدول الثاني
Select id,name from table2
لنري الان عند عمل Union , Union ALL بين الجملتين كيف ستكون النتيجة
Select id,name from table1
UNION
Select id,name from table2
Select id,name from table1
UNION ALL
Select id,name from table2
ملحوظة هامة
UNION تزيل اي صفوف مكررة حتى لو كان التكرار فى موجود فى الأصل فى النتيجة الخاصة بالكويري الأولفمثلا لو ان الجدول الأول يحتوي على صفين كلمنها فيه ID=2 , Name= Yasser فسيقوم بحف هذا التكرار.
اى لا يشترط لحذف التكرار ان يكون التكرار ناتج عن وجود نفس البيانات فى نتيجة الكويري الاخر المعمول له UNION
نقوم بحذف البيانات من الجدولين ثم ادخال بيانات جديدة لنقوم بتجربة UNION مرة أخري
delete from table1
delete from table2
/* ادخال البيانات مرة اخري للتجربة*/
insert into table1 (id, name)
values ( 1 , 'Mohamed')
insert into table1 (id, name)
values ( 2 , 'Yasser')
insert into table1 (id, name)
values ( 3 , 'Ibrahem')
insert into table1 (id, name)
values ( 2 , 'Yasser')
insert into table2 (id, name)
values ( 5 , 'Mahmoud')
Select id, name from table1
select id, name from table2
عند تنفيذ UNION بيانات نتائج الصف الأول وا لثاني يختفي التكرار الموجود فى الجدول الأول يجب الانتباه لهذه النقطه لأنه احيانا لا يكون من المرغوب إزالة التكرار لو كان التكرار موجود كنتجية لتكرار فعلى في بيانات احد الجداول و يؤدي ذلك إلى نتائج غير متوقعه
لتحميل ملف السكويل الخاص بالأكود اضغط هنا
و فى النهاية في انتظار ارائكم و تعليقاتكم
ليست هناك تعليقات:
إرسال تعليق