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 xar 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: Xar bir ofis uchun sotuvlar xaqiqiy xajmlarini regionlar nomlari, xar bir regionda esa shaxarlar 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 xamda kamayish bo‘yicha tartiblash mumkin.
Masalan: Sotuvlari xaqiqiy xajmlari kamayish tartibida ofislar 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 xisoblanuvchi bo‘lib, nomga ega bo‘lmasa uning tartib nomerini ko‘rsatish mumkin!
Masalan, quyidagicha: Sotuvlar xaqiqiy 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, xamda DESC, ASC predikatlarini qo‘llab murakkab tartiblash shartlarini xosil qilish mumkin.
Masalan: Regionlar nomlari, xar bir regionda sotuvlar xaqiqiy va rejadagi xajmlari ayirmasi kamayish tartibida ofislar ro‘yxatini chiqaring.
SELECT CITY, REGION, (SALES - TARGET)