لغة معالجة البيانات ( dml ) data manipulation language
DESCRIPTION
لغة معالجة البيانات ( DML ) Data Manipulation Language. الجزء الثالث. إظهار السجلات بترتيب معين باستخدام ( ORDER BY ). في جملة الاستعلام عند استرجاع البيانات يمكننا إظهار البيانات بترتيب تصاعدي( ASC ) أو تنازلي ( DESC ) في العمود الواحد أو مجموعة من الأعمدة وذلك باستخدام جملة ( ORDER BY ) - PowerPoint PPT PresentationTRANSCRIPT
البيانات ) معالجة (DMLلغةData Manipulation
Languageالثالث الجزء
البيانات إظهار يمكننا البيانات استرجاع عند االستعالم جملة في( تصاعدي تنازلي( )ASCبترتيب أو( DESCأو الواحد العمود في
جملة ) باستخدام وذلك األعمدة من (ORDER BYمجموعة
: االستعالم لجملة العامة الصيغةSELECT [DISTINCT|ALL] { * | column_expression | [table.] column1[As alias] [,[ table.] column2[As aliase ] [,..]]}
FROM table_name [, … ] [WHERE condition] [GROUP BY column_list] [HAVING condition]
[ORDER BY column_list [ASC|DESC];
باستخدام معين بترتيب السجالت إظهار(ORDER BY )
:مالحظاتASC و تصاعدي .DESCتعني تنازلي تعني. التصاعدي الترتيب هو واالفتراضي أحدهما نختار نوع باختيار ذلك و حدة على عمود لكل الترتيب نوع تحديد نستطيع
. مختلف بشكل األعمدة نفرز ان نريد كنا إذا عمود كل اسم بعد الترتيب الترتيب عليه يتم الذي العمود داخل قيم هناك كانت فإنها NULLاذا
. االستعالم ناتج أول في تأتي األصغر من التصاعدي الترتيب نوع أن أيضا نالحظ التواريخ ترتيب في
ان بمعنى األحدث التاريخ ستسبق األقدم التواريخ أن يعني األكبر إلىتاريخ 80تسبق 70سنة بحسب تصاعدي مثال رتبنا لو أننا هذا يعني و
العكس و ^ سنا االقل إلى ^ سنا األكبر من الترتيب ان فسيعني الميالد . تنازلي الترتيب في صحيح
باستخدام معين بترتيب السجالت إظهار(ORDER BY )
:مثال STAFF(sno, fname, lname, position, sex, dob, salary, bno)
رواتبهم تكون بحيث ورواتبهم الموظفين أسماء استرجاع المطلوبتنازليا .مرتبة
:الحلSELECT sno, fname, lname, salary FROM staff ORDER BY salary DESC;
باستخدام معين بترتيب السجالت إظهار(ORDER BY )
عمود من أكثر ترتيب:مثال
Property (PropertyNo, Street, City, postcode, Type, OwnerNo, Rooms, Rent)
بحيث وااليجار والغرف ونوعها العقارات أرقام عرض المطلوبعلى مرتب نوع وكل النوع حيث من مرتبة العقارات تكون
تنازلي الترتيب ويكون األيجار قيمة .حسب:الحل
SELECT propertyNo, type, rooms, rent FROM property ORDER BY type, rent DESC;
باستخدام معين بترتيب السجالت إظهار(ORDER BY )
باستخدام معين بترتيب السجالت إظهار(ORDER BY )
PG16
PL94
PG36
PG4
PropertNo
Flat
Flat
Flat
House
Type
4
4
3
3
Rooms Rent
450
400
370
650PA14 House 6 600
(Aggregation Function )أو التجميع دوال وهياالستعالم من الراجعة البيانات بتلخيص تقوم التلخيص
. احصائية أو حسابية بطريقة مجموعة ليس و رقمية قيمة يكون االستعالم ناتج
. السابقة االستعالمات في كما سجالت الترتيب أمر استخدام المنطقي من .ORDER BYليس . التلخيص دوال جميع في العمود اسم كتابة من البد
االستعالم داخل التلخيص دوال استخدام(Aggregation Function)
: هي التلخيص أو التجميع دوال
:مالحظات الفارغة القيم مستبعدة القيم فستعد العمود اسم كتبنا إذا العد NULLدالة * الشكل بهذا عالمة استخدمنا اذا القيم )*( COUNTأما ستعد العد دالة فإن
الفارغة حتى األعمدة كل داخل NULLكلها
االستعالم داخل التلخيص دوال استخدام(Aggregation Function)
الدالة معناهاSUM المجموع تعيدMAX قيمة أكبر تعيدMIN قيمة أصغر تعيد
COUNT بالعد تقومAVG المتوسط تعيد
:مثال Property (PropertyNo, Street, City, postcode, Type, OwnerNo,
Rooms, Rent)
من أكثر إيجارها قيمة التي العقارات عدد إيجاد المطلوب350.
:الحلSELECT COUNT(*) AS count FROM property WHERE rent > 350;
االستعالم داخل التلخيص دوال استخدام(Aggregation Function)
5
count
مثال: VIEWING (ClientNo, PropertyNo, ViewDate, Comment)
في شوهدت والتي المختلفة العقارات عدد إيجاد .May 1998المطلوب
الحل:SELECT COUNT(DISTINCT PropertyNo) AS count FROM viewing WHERE Viewdate BETWEEN ‘1-May-98’ AND ‘31-May-98’;
االستعالم داخل التلخيص دوال استخدام(Aggregation Function)
2
count
مثال: STAFF(sno, fname, lname, position, sex, dob, salary, bno)
. رواتبهم ومجموع للمدراء الكلي العدد إيجاد المطلوب
الحل:SELECT COUNT(sno) AS count, SUM(salary) AS sum FROM staff WHERE position = ‘Manager’;
االستعالم داخل التلخيص دوال استخدام(Aggregation Function)
2
count
54000
sum
مثال: STAFF(sno, fname, lname, position, sex, dob, salary, bno)
رواتب ومتوسط راتب وأكثر راتب أقل إيجاد المطلوبالطاقم
الحل:SELECT MIN(salary) AS min, MAX(salary) AS max, AVG(salary) AS avg
FROM staff;
االستعالم داخل التلخيص دوال استخدام(Aggregation Function)
9000
min
30000
max avg
17000
( “ جملة ” يستخدم ألنه تجميع استعالم االستعالم هذه( GROUP BYيسمى استخدام عند. التجميع أو التلخيص دوال استخدام من البد فإنه الجملة
دوال بواسطة تلخيصها تم التي البيانات بتجميع يقوم التجميع استعالم(.Aggregation Functionالتلخيص)
- المجمعة - السجالت من مجموعة االستعالم ناتج أمر .GROUP BYفي األقل على واحد تجميع عمود وجود من بد ال( الترتيب استخدام .ORDER BYيمكن االستعالم( هذا في
: االستعالم لجملة العامة الصيغةSELECT [DISTINCT|ALL] { * | column_expression | [table.] column1[As alias] [,[ table.] column2[As aliase ] [,..]]}
FROM table_name [, … ] [WHERE condition] [GROUP BY column_list] [HAVING condition] [ORDER BY column_list [ASC|DESC]];
جملة – استخدام التجميع استعالم(GROUP BY)
:مثال STAFF(sno, fname, lname, position, sex, dob, salary, bno)
كل في يعملون الذين الموظفين عدد إيجاد المطلوبرواتبهم ومجموع .فرع
:الحلSELECT bno, COUNT(sno) AS count, SUM(salary) AS sum
FROM staff GROUP BY bno;
جملة – استخدام التجميع استعالم(GROUP BY)
B003
bno
3
count sum
54000
B005 2 39000
B007 1 9000
جملة – استخدام التجميع استعالم(GROUP BY)
B003
bno
SG5
sno salary
24000
B005 SL21 30000
B007
SL41 9000
3
count sum
54000
2 39000
1 9000
B003
B003
B005
SG14
SG37
SA9 9000
1800012000
: االستعالم لجملة العامة الصيغةSELECT [DISTINCT|ALL] { * | column_expression | [table.] column1[As alias] [,[ table.] column2[As aliase ] [,..]]}
FROM table_name [, … ] [WHERE condition] [GROUP BY column_list] [HAVING condition] [ORDER BY column_list [ASC|DESC]];
شرطين وجود WHEREو HAVINGنالحظ نستخدمWHERE قبل عمود على الشرط تنفيذ نريد كنا إاذا
على بناء المرغوبة السجالت اختيار فيتم التجميع عملية . التجميع عملية تتم ثم الشرط
الشرط عمود HAVINGنستخدم على الشرط تنفيذ نريد كنا إذااختيار ثم أوال التجميع عملية فتتم التجميع عملية بعد
. الشرط على بناء المرغوبة التجميعات
الشرط – جملة استخدام التجميع استعالم(HAVING( )جملة (GROUP BYمع
:مثال STAFF(sno, fname, lname, position, sex, dob, salary, bno)
الموظفين عدد إيجاد المطلوب موظف من أكثر فيه يوجد فرع لكل. رواتبهم ومجموع فرع كل في يعملون الذين
:الحلSELECT bno, COUNT(sno) AS count, SUM(salary) AS sum
FROM staff GROUP BY bno HAVING COUNT(sno) > 1;
الشرط – جملة استخدام التجميع استعالم(HAVING( )جملة (GROUP BYمع
B003
bno
3
count sum
54000
B005 2 39000
EMPLOYEE(Fname, Lname, SSN, DOB, Address, Sex, salary, DeptNo) DEPARTMENT(Dname, DNo ) PROJECT(PName, PNo, PLocation, Dno) WORKS_ON(SSN, PNo, Hours)
:المطلوبالمشروع رقم عرض المطلوب موظف من أكثر عليه يعمل مشروع لكل
. عليه يعملون الذين الموظفين وعددالحل:
تطبيق