آشنایی با SQL - بخش هفتم - آشنایی با AND, OR و NOT

مثال ۱ : کارمندان متولد ۱۳۶۰ که حقوق آنها بالاتر از ۲۰۰۰ ریال است را حذف کن.
DELETE Personnel
;WHERE BirthYear=1360 AND Salary > 2000
کسانی حذف می شوند که هم متولد ۱۳۶۰ باشند و هم بالاتر از ۲۰۰۰ ریال حقوق بگیرند. این خاصیت AND است.
مثال ۲ : به حقوق کارمندانی که دارای ۲ فرزند هستند یا قبل از ۱۳۶۰ بدنیا آمده اند ۵ درصد اضافه کن.
UPDATE Personnel
SET Salary = Salary * 1.05
;WHERE ChildNumber = 2 OR BirthDay < 1360
در مثال قبل اجباری نیست همزمان هر دو شرط برقرار باشد تا کارمندی مشمول افزایش حقوق باشد. مثلا آقای الف متولد ۱۳۵۴ و دارای سه فرزند است. به دلیل سال تولدش مشمول اضافه حقوق می شود.
در SQL جابجا کردن شرط های دو طرف AND و OR هیچگونه اثری حتی در سرعت اجرا ندارد! (چرا؟)
می توانید با استفاده از AND ها یا OR های بیشتر تعداد شرطها را بیشتر کنید و شروط پیچیده تری بنویسید. حتی می توانید AND و OR را با هم نیز استفاده کنید. آیا می توانید مثال بزنید؟
مثال ۳ : کارمندانی که متولد ۱۳۶۰ نیستند را حذف کن.
DELETE Personnel
;WHERE NOT (BirthYear=1360)
البته این شرط را به اشکال دیگری نیز می توان نوشت:
DELETE Personnel
;WHERE BirthYear <> 1360
DELETE Personnel
;WHERE BirthYear != 1360
و حتی به این شکل!
DELETE Personnel
;WHERE BirthYear < 1360 OR BirthDay > 1360
مقالات مرتبط
- آشنایی با SQL – بخش یازدهم – آشنایی با پیوند جدول ها
- آشنایی با SQL – بخش دهم – آشنایی با Group By
- آشنایی با SQL – بخش نهم – آشنایی با Aggregate Functions
- آشنایی با SQL – بخش هشتم – آشنایی با دستور SELECT
- آشنایی با SQL – بخش ششم – آشنایی با دستور DELETE
- آشنایی با SQL – بخش پنجم – آشنایی با دستور UPDATE
- آشنایی با SQL – بخش چهارم – آشنایی با دستور INSERT
- آشنایی با SQL – بخش سوم – آشنایی با دستور CREATE
- آشنایی با SQL – بخش اول – SQL چیست؟
- آشنایی با SQL – بخش دوم – انواع داده