المعاملات المنطقية في SQL
< SQL
غالبًا ما تستخدم المعاملات المنطقية (AND
و OR
و NOT
) في عبارة WHERE
للربط ما بين الشروط أو نفيها، إذ يستخدم المعامل AND
للربط ما بين الشروط للتأكد من تحققها جميعًا، أما معامل OR
فيستخدم للربط ما بين الشروط للتأكد من تحقّق شرطٍ أو أكثر من بينها، أما NOT
فيستخدم بغرض النفي، وتكون قيمة التعبير النهائية منطقية (Boolean) إما TRUE
أو FALSE
.
ويُضاف لها معامل XOR
في محرك MySQL والذي يتحقق من تحقّق شرطٍ واحدٍ فقط دون الشروط الأخرى.
مثال
إن كان الجدول الآتي cars
موجودًا في قاعدة البيانات:
Colour | Price | Year | Company | Model | CarID |
---|---|---|---|---|---|
White | 22,500 | 2018 | KIA | Optima | 05081 |
Red | 25,995 | 2017 | KIA | Optima Hybrid | 05082 |
Red | 31,900 | 2018 | KIA | Stinger | 05083 |
Black | 31,990 | 2017 | KIA | Cadenza | 05084 |
Blue | 23,240 | 2018 | KIA | Niro | 05085 |
Grey | 14,200 | 2018 | KIA | Rio 5-Door | 05086 |
Blue | 18,200 | 2018 | KIA | Forte5 | 05087 |
Blue | 32,250 | 2017 | KIA | Soul EV | 05088 |
إن تنفيذ الاستعلام الآتي:
SELECT *
FROM cars
WHERE Year=2018 AND NOT (Colour = ‘Red’ OR Colour = ‘Blue’);
سيُظهِر كافة السيارات التي تكون فيها قيمة السنة 2018 وأي قيمة للون باستثناء القيمتين Red أو Blue، وستظهر النتائج الآتية:
Colour | Price | Year | Company | Model | CarID |
---|---|---|---|---|---|
White | 22,500 | 2018 | KIA | Optima | 05081 |
Grey | 14,200 | 2018 | KIA | Rio 5-Door | 05086 |
التوافقية
SQLServer | SQLite | Oracle | PostgreSQL | MySQL |
---|---|---|---|---|
نعم | نعم | نعم | نعم | نعم |