5 - LABORATORIYA ISHI Mavzu: AND, OR, NOT mantiqiy standart so’zlardan foydalanish Ishdan maqsad: Talabalarda AND, OR, NOT mantiqiy stanndart so‗zlardan foydalanish va shu orqali relyatsion MB da ishlash ko‘nikmasini hosil qilish. Masalaning qo‟yilishi: AND, OR, NOT, IN, BETWEEN, LIKE operatoridan foydalanib avvalgi mashg‘ulotlarda yaratilgan jadvallar ustida amallar bajarish. Uslubiy ko`rsatmalar:SQL tilida shart ifodalarini tuzish uchun solishtirish va mantiqiy operatorlardan tashqari yana bir qator maxsus operatorlar qo‗llaniladi. Bu operatorlar dasturlash tillarida mavjud emas. Bu operatolar: Operator = > < >= <= <> IN Ta`rifi teng katta kichik katta yoki teng kichik yoki teng teng emas biror qiymatlar to‗plamiga tegishliligini tekshirish BETWEEN biror qiymatlar diapozoniga tegishliligini tekshirish LIKE namuna bilan mosligini tekshirish IS NULL qiymat mavjudmasligini tekshirish NOT Mantiqiy inkor operatori AND VA mantiqiy operatori OR YOKI mantiqiy operatori 5.1-jadval. WHERE buyrug`i bilan ishlovchi operatorlar. Misol: Imtihonlarda kamida bitta 2 yoki 3 baho olgan talabalarni identifikatorini tanlab chiqarish so`rovi. SELECT id_st, mark FROM mark_st 25 WHERE mark IN (2,3) BETWEEN amali maydon qiymatini berilgan intervalga kirganligini tekshirish uchun ishlatiladi. Yuqoridagi natijani BETWEEN operatoridan foydalanib olish mumkin: SELECT id_st, mark FROM mark_st WHERE mark BETWEEN 2 AND 3 Birorta xam 2, 3 olmagan talaba haqidagi ma‘lumotlar olish uchun NOT IN yoki NOT BETWEEN ishlatiladi. Misol: Familiyalari A xarfi bilan boshlanuvchi talabalar ro‘yxatini tanlab olish. Bunday xolatda LIKE operatoridan foydalanish qulay hisoblanadi. LIKE operatori faqat simvolli maydonlar uchun qo‗llaniladi va maydon qiymati operatorda ko‗rsatilgan namunaga mosligini tekshirish imkonini yaratadi. Namuna quyidagi maxsus simvollardan tashkil topadi: _ (tagiga chizish belgisi) – bitta ixtiyoriy simvolni bildiradi; % (foiz belgisi) – ixtiyoriy miqdordagi simvollar ketma – ketligini bildiradi. SELECT id_st, surname FROM student WHERE surname LIKE 'A%' Ishni bajarish tartibi 1. Oyligi 4 000 000 dan ko‘p yoki id 2 dan katta Xodimlar Idsini, FISHini lavozimini esa katta harflarda chiqaramiz; Zavod va kon xodimlari jadvallarini ko‘ramiz; So`rov: SELECT *FROM ishchilar; 26 Natija: 5.1-rasm. Zavod_xodimlari jadvalidagi ma‘lumotlarni ko‘rish. So`rov: SELECT id, FISH, UPPER(Lavozimi) from ishchilar WHERE Oyligi>2000000; Natija: 5.2-rasm. UPPER funksiyasini qo‘llanishi natijasi. 2. So`rov: select id, substr(FISH,1,3), FISH,Manzil, length(Manzil), Oyligi from ishchilar where id in(1,2) and Oyligi>2000000; 27 Natija: 5.2-rasm. Substr va mantiqiy amallarning qo‘llanishi. 3. So`rov: select FISH, length(Lavozimi), Manzil, Oyligi from ishchilar where not id=4; Natija: 5.3– rasm. Length funksiyasi va NOT mantiqiy amalining qo‘llanishi. 4. Zavod xodimlarining ism, familiyasini LOWER yordamida kichik harflarda, manzilining uzunligi va IDsi 1 va 2 oralig‘idagi xodimlarni chiqaramiz: So`rov: select id, lower(FISH),Manzil, length(Manzil), Oyligi from ishchilar where id between 1 and 2; 28 Natija: 5.4 – rasm. Lower, length funksiyalari va Between mantiqiy amalining qo‘llanishi. Vazifalar 1. Yuqorida ko`rsatilganlardan foydalanib tanlangan variyantga muvofiq mavzu uchun MySQL da AND, OR, NOT,IN, BETWEEN, LIKE buyruqlari bilan ishlaymiz. 2. Bajarilgan ishlar haqida hisobot tayyorlang (1-2-ilovalarga qarang). Nazorat savollari 1. Ma`lumotlar bazasidagi qanday mantiqiy operatorlarni bilasiz? 2. BETWEEN nima va u qanday so`rovlar uchun qo`llaniladi? 3. AND, OR, NOT operatorlarining vazifasi nima? 4. IN, BETWEEN, LIKE operatorlarinig vazifasi nima?