الفرق بين المراجعتين لصفحة: «SQL/Logical Operators»

من موسوعة حسوب
< SQL
ط خطأ في صياغة wikitext
ط استبدال النص - '\[\[تصنيف:(.*)\]\]' ب'{{SUBPAGENAME}}'
 
سطر 120: سطر 120:
* [https://www.postgresql.org/docs/9.1/static/functions-logical.html توثيق المعاملات المنطقية في محرك PostgreSQL]
* [https://www.postgresql.org/docs/9.1/static/functions-logical.html توثيق المعاملات المنطقية في محرك PostgreSQL]
* [https://dev.mysql.com/doc/refman/5.7/en/logical-operators.html توثيق المعاملات المنطقية في محرك MySQL]
* [https://dev.mysql.com/doc/refman/5.7/en/logical-operators.html توثيق المعاملات المنطقية في محرك MySQL]
[[تصنيف:SQL]]
[[تصنيف:SQL|{{SUBPAGENAME}}]]
[[تصنيف:SQL Operators]]
[[تصنيف:SQL Operators|{{SUBPAGENAME}}]]

المراجعة الحالية بتاريخ 15:41، 28 يناير 2018

غالبًا ما تستخدم المعاملات المنطقية (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
نعم نعم نعم نعم نعم

مصادر