You are on page 1of 15

‫‪Select Statement‬‬

‫الشكل النظامي لعبارة ‪ select‬كما يلي‪:‬‬ ‫‪‬‬

‫‪:select‬تستخدم لختيار العمدة والبيانات التي نحتاجها‪.‬‬ ‫‪‬‬

‫‪:From‬تستخدم لتحديد الجدول الذي سنسترجع منه البيانات‪.‬‬ ‫‪‬‬


‫ الشرطية‬select ‫عبارة‬
‫ عن طريق إضافة شرط على‬select ‫يمكن تقييد نتائج عبارة‬ 

:‫العبارة كما يلي‬


Select * |{ [distinct] column ,expression
[alias],-------}
From table_name
[where conditions] ;
‫ بعد‬select ‫ إلى عبارة‬Where ‫حيث نقوم بإضافة العبارة‬ 

.from
‫عبارة ‪ select‬الشرطية‬
‫أمثلة‪:‬‬ ‫‪‬‬

‫استعلم يعيد بيانات الموظفين الذين يعملون في القسم رقم ‪.20‬‬ ‫‪‬‬

‫استعلم يعيد راتب الموظف ‪.smith‬‬ ‫‪‬‬

‫صيغ ومعاملت المقارنة في ‪:Oracle‬‬ ‫‪‬‬

‫يمكن استخدام مجموعة من معاملت المقارنة ضمن عبارة ‪where‬‬ ‫‪‬‬


‫مثل‪:‬‬
‫<‪><,=,=>,=<,>,‬‬ ‫‪‬‬

‫]‪(.not-----] Between------and‬تاريخ ‪,‬أرقام‪ ,‬سلسل محرفيه)‪.‬‬ ‫‪‬‬

‫‪)is null, is not null, in )list(, not in )list‬‬ ‫‪‬‬

‫المعاملت المنطقية‪.or, and, not :‬‬ ‫‪‬‬


‫صيغ المقارنة في ‪Oracle‬‬
‫المعامل ‪ like‬ويستخدم كما يلي ‪:‬‬ ‫‪‬‬

‫‪: ’%Like ’s‬سلسلة محرفيه تبدأ بالعبارة او المحرف ‪s‬‬ ‫‪‬‬

‫‪ :’% Like ’% s‬سلسلة محرفيه تحوي في وسطها العبارة ‪s‬‬ ‫‪‬‬

‫‪ : ’Like ’% s‬سلسلة محرفيه تنتهي بالعبارة او المحرف ‪s‬‬ ‫‪‬‬

‫أمثلة ‪:‬‬ ‫‪‬‬

‫استعلم يعيد اسماء الموظفين الذين يقبضون أكثر من ‪.10000‬‬ ‫‪‬‬

‫استعلم يعيد اسماء الموظفين الذين تاريخ توظيفهم بين عامي ‪-1980‬‬ ‫‪‬‬

‫‪.1985‬‬
‫استعلم يعيد اسماء وعمل الموظفين الذين يتقاضون عمولة‪.‬‬ ‫‪‬‬

‫استعلم يعيد بيانات الموظفين الذين ل يعملون كـ (‪)clerk, salesman‬‬ ‫‪‬‬


Oracle ‫صيغ المقارنة في‬
:‫ترتيب أفضلية التنفيذ في اوراكل‬ 

 Select ename, job, sal


from emp
where job=’clerk’ or job=’salesman’
and sal<1100;
‫تمارين‬
‫استعلم يعيد اسماء الموظفين الذين يقبضون أكثر من ‪ 1000‬و يتقاضون‬ ‫‪‬‬

‫عمولة‪.‬‬
‫استعلم يعيد اسماء الموظفين الذين تاريخ توظيفهم بين عامي ‪-1980‬‬ ‫‪‬‬

‫‪.1985‬‬
‫استعلم يعيد اسماء وعمل ومجموع راتب الموظفين السنوي والعمولة‬ ‫‪‬‬

‫للموظفين الذين يحوي اسمهم الحرف ‪ s‬مع استخدام اسم جديد للعمود‬
‫الخير‪.‬‬
‫استعلم يعيد بيانات الموظفين الذين ل يعملون كـ (‪)clerk,salesman‬‬ ‫‪‬‬
‫ترتيب عرض البيانات‬
‫يمكن ترتيب البيانات الناتجة عن عملية ‪ select‬باستخدام العبارة‬ ‫‪‬‬
‫‪ order by‬والتي تتم إضافتها في نهاية الستعلم دوما كما يلي‬
‫‪:‬‬
‫‪Select‬‬ ‫}‪* |{ [distinct] column ,expression [alias],-------‬‬

‫‪From table_name‬‬
‫]‪[where conditions‬‬
‫; ]]‪[order by {column1,column2,…}[ASC|DESC‬‬
‫أمثلة‪:‬‬ ‫‪‬‬

‫استعلم يعيد اسماء الموظفين مرتبة بحسب رواتبهم السنوية‪.‬‬ ‫‪‬‬


‫يمكن الترتيب وفق عمود ليس مذكور ضمن ‪.select‬‬ ‫‪‬‬

‫استخدام المرين ‪.ed=edit, r=run‬‬ ‫‪‬‬

‫الجدول الوهمي ‪:dual‬يعيد عمود تأخذ بياناته الشكل الذي‬ ‫‪‬‬

‫نريده‪.‬‬
‫منع تكرار قيم حقل معين باستخدام ‪.distinct‬‬ ‫‪‬‬
‫توابع لغة ‪SQL‬‬
‫يوجد نوعين من التوابع في لغة ‪:sql‬‬ ‫‪‬‬

‫توابع الصف الواحد ‪.single row functions‬‬ ‫‪‬‬

‫توابع متعددة الصفوف ‪.multiple row functions‬‬ ‫‪‬‬

‫توابع الصف الواحد‪:‬‬ ‫‪‬‬

‫أول‪ :‬التوابع المحرفيه‪:‬‬ ‫‪‬‬

‫‪‬‬ ‫(‪Lower )col | exp‬‬


‫‪‬‬ ‫(‪Upper )col | exp‬‬
‫‪‬‬ ‫(‪Initcap )col | exp‬‬
SQL ‫توابع لغة‬
:‫ توابع التعامل مع السلسل المحرفيه‬:‫ثانيا‬ 

 Concat )col1 | exp1, col2 | exp2(


 Substr )col, m, n(
 Length )col | exp(
 Instr )col|exp, ’s’, m, n(
 Lpad | rpad)col | exp, n, ’s’(
 Trim )col | exp(
 Replace )’text’, ’statement’,
’replacement_string’(
SQL ‫توابع لغة‬
:‫ التوابع العددية‬:‫ثالثا‬ 

 Round )col | exp, n(


 Trunc )col | exp, n(
 Mod )m, n(
SQL ‫توابع لغة‬
:‫ توابع التعامل مع التاريخ‬:‫رابعا‬ 

 Months_between)date1, date2(
 Add_months )date, n(
 Next_day )date(
 Last_day )date(
 Round )date [,’fmt’](
 Trunc )date [,’fmt’](
SQL ‫توابع لغة‬
:‫توابع التحويل بين النماط‬:‫خامسا‬ 

 To_number: from char to number.


 To_date : from char to date.
 To_char : from number or date to char.
SQL ‫توابع لغة‬
:‫ التوابع العامة‬:‫سادسا‬ 

 NVL )exp1, val(


 NVL2)exp1, exp2, exp3(
 NULLIF)exp1, exp2(
 COALESCE)exp1, exp2, …..(
SQL ‫توابع لغة‬
:SQL ‫ التعابير الشرطية في‬:‫سابعا‬ 

 Case exp when exp1 then result1


[when exp2 then result2
when exp3 then result3
else else_exp ]
end
 Decode )col | exp , search1, result1
[, search2, result2,…]
[default] (

You might also like