TRUE AND TRUE -> TRUE FALSE AND TRUE -> FALSE TRUE AND FALSE -> FALSE FALSE AND FALSE ->FALSE NULL AND TRUE -> NULL TRUE AND NULL -> NULL FALSE AND NULL ->FALSE NULL AND FALSE ->FALSE NULL AND NULL -> NULL
OR ifodasi algebrasi.
Qiymat Natija
-------------- ----------
TRUE OR TRUE -> TRUE FALSE OR TRUE -> TRUE TRUE OR FALSE -> TRUE FALSE OR FALSE -> FALSE NULL OR TRUE -> TRUE TRUE OR NULL -> TRUE FALSE OR NULL -> NULL NULL OR FALSE -> NULL NULL OR NULL -> NULL
NOT ifodasi algebrasi.
Qiymat Natija
-------------- ----------
NOT TRUE -> FALSE NOT FALSE ->TRUE NOT NULL -> NULL Qo‘shma izlash operatorlarining har biri o‘z ustivorligiga ega. Eng yuqori ustivorlik NOT ga tegishli, undan so‘ng AND va oxirida OR!
SQL92 standartida IS operatori yordamida ifoda rost, yolg‘on yoki aniqlanmaganligini tekshirish mumkin. Uning sintaksisi quyidagicha:
IS operatori sintaksisi --------- Solishtirish ---------- IS (------ TRUE ---------------) (------ FALSE --------------) --- Mantiqiy ifoda --- (------ UNKNOWN ------------) Masalan quyidagicha yozish mumkin: ((SALES - QUOTA) > 100.000) IS UNKNOWN . Bunday shart SALES yoki QUOTA ustunlari NULL qiymatga ega satrlarni izlashga imkon beradi.
Yozuvlarni tartiblash, ORDER BY jumlasi Oldin ko‘rilgan so‘rovlarda natijalar ixtiyoriy tartibda olingan edi. Agar o‘quvchilar ro‘yxatini alfavit tartibida yoki tovarlar narxini kamayish tartibida chiqarish zarur bo‘lsachi? Buning uchun SELECT operatori tarkibida ORDER BY ifodasi ko‘zda tutilgan. Uning sintaksisi:
------- ORDER BY – usutun nomi ---------------- -------------------------------- . -- ustun tartib raqami --- -------- ASC ---------- -------- DESC ---------- ------------------------- , ----------------------------------- Avval quyidagi misolni ko‘ramiz: Har bir offis uchun sotuvlar haqiqiy xajmlarini regionlar nomlari, har bir regionda esa shaharlar nomlari bo‘yicha alfavit tartibida ko‘rsatish.
SELECT CITY, REGION, SALES FROM OFFICES ORDER BY REGION, CITY ORDER BY ifodasidan keyin kelgan ustun ASOSIY kalitdir, undan keyingi ustunlar ikkinchi darajali kalitlardir. Yozuvlarni o‘sish hamda kamayish bo‘yicha tartiblash mumkin.
Masalan: Sotuvlari haqiqiy xajmlari kamayish tartibida offislar ro‘yxatini chiqarish.
SELECT CITY, REGION, SALES FROM OFFICES ORDER BY SALES DESC Sotuvlar xajmlarini DESC predikatini qo‘llab kamayish tartibida chiqaramiz. O‘sish tartibida chiqarish uchun ASC predikati qo‘llanadi. Bu predikat ko‘zda tutilgan bo‘lib, uni ko‘rsatish sharrt emas. Agar ustun hisoblanuvchi bo‘lib, nomga ega bo‘lmasa uning tartib nomerini ko‘rsatish mumkin!
Masalan, quyidagicha: Sotuvlar haqiqiy va rejadagi xajmlari ayirmasi kamayish tartibida ofislar ro‘yxatini chiqaring.
SELECT CITY, REGION, (SALES - TARGET) FROM OFFICES ORDER BY 3 DESC Shu kabi ORDER BY ifodasida ustunlar nomlari va nomerlari, hamda DESC, ASC predikatlarini qo‘llab murakkab tartiblash shartlarini xosil qilish mumkin.
Masalan: Regionlar nomlari, har bir regionda sotuvlar haqiqiy va rejadagi xajmlari ayirmasi kamayish tartibida offislar ro‘yxatini chiqaring.
SELECT CITY, REGION, (SALES - TARGET) FROM OFFICES ORDER BY REGION ASC, 3 DESC