لغة معالجة البيانات(DML)
Download
Report
Transcript لغة معالجة البيانات(DML)
الجزء األول
:)هيDML( ) األساسية في لغة معالجة البياناتSQL(جمل ال
SELECT
INSERT INTO
UPDATE
DELETE FROM
ماهو استخدام استعالم االختيار()SELECT Query؟
هو استرجاع مجموعة من البيانات أو السجالت من جدول أو اكثر وهذا
االسترجاع ممكن أن يكون مشروط بشرط واحد أو أكثر باإلضافة إلى
إمكانية التحكم في ترتيب السجالت .أيضا يمكن استخدامه لتجميع
البيانات التي تشترك في خواص معينة ،أي تلخيص البيانات و في هذه
الحالة يطلق عليها استعالم تجميع مع العلم بأن هذا االستعالم ال يغير في
قواعد البيانات األصلية (ال البيانات و ال هيكل القاعدة).
SELECT –FROM الصيغة العامة لجملة
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]];
الجزء
ALL
DISTINCT
الوصف
استرجاع جميــــع السجالت التي تحقق شرط معين إذا كان هناك شرط.
هذا المسند يحذف الصفوف المتكرره بناء على األعمده المختاره من الجدول.
*
تعني أنه ينبغي تحديد كافة األعمدة من الجدول أو الجداول المحددة
Table
اسم الجدول الذي يحتوي على األعمدة التي يتم منها تحديد سجالت
column1, column2
أسماء األعمدة التي تحتوي على البيانات المراد استردادها .و في حالة تضمين
أكثر من عمود واحد فانه يتم استردادها بترتيب سردها
األسماء المراد استخدامها كرؤس لألعمدة بدال من اسماء األعمدة األصلية في
Alias1 , alias2
الجدول
column_expressionيعني عمود في الجدول معمول عليه بعض العمليات الحسابية.
:الصيغة العامة السترجاع كافة البيانات
SELECT {* | column| column_expression [,…]}
FROM
table_name;
: مثال
STAFF(sno, fname, lname, position, sex, dob, salary, bno)
.قومي باسترجاع بيانات الطاقم كاملة من العالقة السابقة
:الحل
SELECT sno, fname, lname, position, sex, dob, salary, bno
FROM staff;
:أو
SELECT *
FROM staff;
Sno
fname
lname position
sex
DOB
salary bno
SL21
John
White
Manager
M
1-Oct-45
SG37
Ann
Beech Assistant
F
10-Nov-60 12000 B003
SG14
David
Ford
Supervisor
M
24-Mar-58 18000 B003
SA9
Mary
Howe
Assistant
F
19-Feb-70 9000
SG5
Susan
Brand
Manager
F
13-Jun-40 24000 B003
30000 B005
B007
**مالحظة
باإلمكان ترتيب األعمدة بأي شكل وبدون التقيد بالترتيب الذي صمم به الجدول
.كما يمكن تكرار ظهور العمود اكثر من مرة
: مثال
STUDENT (StudentNo, Lname, Fname, Initial, DOB, GPA,
Dept)
– رقم الطالب: المطلوب استرجاع البيانات التالية عن كل الطالب
.االسم األخير – االسم األول و المعدل
: الحل
SELECT StudentNo, Fname, Lname,GPA
FROM Student;
STUDENT
StudentNo
Fname
Lname
GPA
4170010
Amal
Al-Saleh
3.91
4182000
Nora
Al-Ghanem 4.20
4182034
Laila
Al-Fahad
4188134
Amal
Saod
3.01
4189860
Rana
Rashed
2.31
4.01
. لتغيير عنوان العمود في الناتج فقط من عملية االستعالمAlias نستخدم
:الصيغة العامة
SELECT {*|column[AS new_name]|column_expression [,…]}
FROM
table_name;
:مثال
“ واالسم األول بحيث يظهرnumber” المطلوب استرجاع رقم الطالب ويكون اسم العمود
.“ واالسم األخيرFirst_name“ب
:الحل
STUDENT (StudentNo, Lname, Fname, Initial, DOB, GPA, Dept)
SELECT StudentNo As number, Fname As
First_name, Lname
FROM Student;
STUDENT
number First_name Lname
4170010
Amal
Al-Saleh
4182000
Nora
Al-Ghanem
4182034
Laila
Al-Fahad
4188134
Amal
Saod
4189860
Rana
Rashed
مالحظة** هذا ال يؤثر على أسماء الحقول في الجداول االصلية
. تمنع تكرار الصفDISTINCT
DISTINCT الصيغة العامة عند استخدام
SELECT DISTINCT {*|column|column_expression [,…]}
FROM table_name;
: مثال
STAFF(sno, fname, lname, position, sex, dob, salary, bno)
.المطلوب استرجاع الرتب الوظيفية التي يشغلها الطاقم
:الحل
SELECT DISTINCT position
FROM staff;
position
position
Manager
Manager
Assistant
Assistant
Supervisor
Supervisor
Assistant
Manager
SELECT position
FROM staff;
SELECT DISTINCT position
FROM staff;
FirstName
lastName
DOB
email
city
John
Smith
12/12/1969
[email protected]
New York
David
Stonewall
01/03/1954
[email protected]
San Francisco
Susan
Grant
03/03/1970
[email protected]
Los Angeles
Paul
O'Neil
09/17/1982
[email protected]
New York
Stephen
Grant
03/03/1974
[email protected]
Los Angeles
User (id ,firstName,lastName,DOB,email,city)
: مثال
. المطلوب استرجاع المدن التي يسكنها المستخدمين-1
SELECT DISTINCT city
FROM User ;
: الحل
city
New York
San Francisco
Los Angeles
المطلوب استرجاع األسماء األخيرة للمستخدمين والمدن بدون تكرار-2
.االسم والمدينة
SELECT DISTINCT lastName ,city
FROM User ;
lastName
: الحل
city
Smith
New York
Stonewall
San Francisco
Grant
Los Angeles
O'Neil
New York
الصيغة العامة:
}]…SELECT {*|column|column_expression [,
FROM
;table_name
عند عمل عمليات حسابية على األعمدة في الجدول فإن ذلك لن يؤثر
على األعمدة األصلية في الجدول.
األعمدة التي يعمل عليها عمليات حسابية يجب أن تكون من نوع
رقمي.
يفضل اعطاء العمود المحسوب اسم باستخدام Asألنه سيعطى اسم
عشوائي غير مفهوم.
العملية الحسابية تكون على مستوى العمود و يتم تنفيذها على كل
السجالت.
العملية
الوصف
-
تغيير إشارة العدد
+
تستخدم لجمع رقمين
-
تستخدم لطرح رقمين
*
تستخدم لضرب رقمين
/
تستخدم لقسمة رقمين
^
تستخدم لرفع رقم ألس
%
تستخدم إلعادة باقي قسمة عددين
:مثال
STAFF(sno, fname, lname, position, sex, dob, salary, bno)
المطلوب استرجاع رقم الموظف و راتب كل موظف مجموعا عليه
10
: الحل
SELECT sno, salary+10 As sal
FROM STAFF;
Sno
sno
sal
SL21
30010
SG37
12010
SG14
18010
SA9
9010
SG5
24010