قاعدة البيانات

أوراكل SQL - أهمية تحديد الأولويات

SQL'de Öncelik Sırası

أهمية الشرط كما هو الأكثر وضوحا عند التعامل مع الظروف التجميع. ويتضح ذلك في العبارات المختارة كأفضل ما يلي:

EmpECT empno، payrate، dept_code

emp_work'den

أين dept_code = & # 39؛ SATIS & # 39؛

وpayrat = 18

Payrat OR = 20؛

Kullanıcı, 18 ya da 20 ödeme yapan SALES bölümündeki tüm çalışanlar hakkında bilgi sorgulamaya çalışıyor. Ancak, bu sorgudan elde edilen gerçek sonuçlar, SALES bölümündeki tüm çalışanların, bir ücret içeren 18 ve HİÇBİR çalışanın 20'si.

والسبب، وأوراكل & # 39؛ و & 39؛ بسبب الأولوية الأولى عالية.

أوراكل تراه عندما تنظر إلى هذا الاستعلام:

أين dept_code = & # 39؛ SALES & # 39؛

وpayrate = 18

تقييم ومعا هذه الظروف من قبل.

أوراكل، والذي هو جزء من الموظفين والمبيعات للأجور
حيث يبحثون عن 18 موظفا.

THAN OR يطل على المشغلين، لأنه منذ يتم تجميع الشرطين الأولين من قبل والمشغل، انخفض كل أوراكل:

OR payrat A = 20؛

لتقييم، وبالتالي فإنه يسيطر على جميع موظفي أوراكل مع معدلات الرواتب 20.

ملاحظة: جميع الموظفين الذين ليسوا في حالة ترقب ل$ 20 قسم المبيعات.

Kullanıcının görmek istediği şey, SALES departmanındaki çalışanlar ve 18 ya da 20 ödemeli çalışanlar olduğundan, Oracle’ın AND'e bakmadan önce VEYA operatörüne bakmasını istiyoruz.

İsterseniz VEYA'yı VE'nin üstüne koyabilirsiniz, ancak bu yardımcı olmaz. Oracle, öncelikle VE operatörüne bakar, çünkü emsal sırasına göre daha yüksektir. Yapmamız gereken, bir şekilde YA'yı yükseltmek ve hatta bilgisayarın bile anlayabileceği şekilde. Bunu başarmamızın yolu, OR koşullarını parantez () ile çevrelemektir.

Parantez, öncelik çizelgesi sırasına göre AND AND veya OR'den daha yüksektir. Önce parantez içindeki her şey değerlendirilecektir. Parantezleri bir arada gruplamak için bir arada değerlendirmek istediğinizde (bu örnekteki VEYA koşulları gibi) birlikte değerlendirmek istediğinizde Gruplandırma olarak adlandırılır.

على سبيل المثال، مثالنا السابق، نضيف أقواس حول شروط OR:

EmpECT empno، payrate، dept_code

emp_work

أين. أين هي dept_co = & # 39؛

AND (payrat = 18

Payrat OR = 20)؛

شروط Payrat، مجمعة وتقييمها في البداية لأن قوسين من حولهم. ثم أوراكل، ويطل على البيان.

وأخيرا، ما حققناه، 18 أو 20 البالغة لاختيار لطلب قائمة بأسماء جميع الموظفين وجود راتب ثم التي هي التي تتحكم في قسم المبيعات واختيار من اختيار والتي سوف تعطينا النتائج. نحن نبحث عن.

خيارات بسيطة خاصة، تجمع كثير من الأحيان عدم الحاجة إليها.

ومع ذلك، إذا تكتشف أن تتلقى المزيد من المعلومات أو مختلفة من عدة مشروطة المتوقعة من استعلام تجميع أن البداية من شأنه أن يساعد إعطاء النتائج التي كنت تبحث عن تقدير جيد.

الأسبقية المشغل

Öncelik, aynı ifadedeki farklı operatörleri değerlendirirken Oracle'ın kullandığı sırayı tanımlar. Her operatör önceden tanımlanmış bir önceliğe sahiptir. Oracle, operatörleri daha düşük önceliğe sahip olmadan önce operatörleri değerlendirir. Eşit önceliği olan operatörler soldan sağa değerlendirilir.

* * الجزئي SQL الأولوية خلال مشغلي الجدول

و- معلمات تستخدم البادئة

() - تجاوز الأسبقية المشغل العادية

ملاحظة - في المقابل، فإن التعبير تفسير النتائج

ملاحظة - إذا إما الشرط صحيحا، والحق في التعبير عن

OR - صحيح في كلتا الحالتين الحق في التعبير عن