• SELECT * FROM Customers W HERE Rating > ANY (SELECT Rating FROM Customers W HERE City =
  • SELECT * FROM Customers W HERE Rating
  • Zbek1ston respublikasi axborot




    Download 24,2 Mb.
    bet39/71
    Sana28.05.2024
    Hajmi24,2 Mb.
    #255852
    1   ...   35   36   37   38   39   40   41   42   ...   71
    Bog'liq
    Ma\'lumotlar bazasi. ZaynidinovX.N.

    SELECT * FROM Salepeople W HERE SName < ANY (SELECT CName FROM Customers);
    I
    ANY to‘la bir qiyriiatli emas. Misol: Rimdagi buyurtmachilarga ko‘ra yuqori reytinga ega buyurtmachilarni topish.
    SELECT * FROM Customers W HERE Rating > ANY (SELECT Rating FROM Customers W HERE City = 'Rome');
    Ingliz tilida "ixtiyoriysidan katta (bu yerda City = Rome)" baholash quyidagicha talqin qilinadi, bu baholash qiymati har bir City Rome holdagi baholash qiymatidan katta bo'lishi kerak. SQL tiiida ANY operatoridan foydalanilganda bunday emas. ANY to 'g ‘ri deb baholanadi agar ostki so'rov shartga mos keluvchi ixtiyoriy qiymat topsa. Yuqorida ko‘rilgan misol 300 va 200 baholi hamma biiyurtmachilarni topadi, chunki 300>20Q Rimdagi Giovanni uchun va
    200>100 Rimdagi Pereira uchun.
    Soddaroq aytganda < ANY ifodasi eng katta tanlangan qiymatdan kichik qiymatni, > ANY - eng kichik tanlangan qiymatdan katta qiymatni bildiradi.
    ALL yordamida, predikat rost hisoblanadi, ostki s o io v tanlagan har bir qiymat tashqi so‘rov predikatidagi shartga mos kelsa.
    Misol: Rimdagi har bir buyurtmachidan baholari yuqori bo‘lgan biiyurtmachilarni chiqaring.
    70
    SELECT * FROM Customers W HERE Rating > A LL
    (SELECT Rating FROM Customers WHERE City = ’Rom e’);
    Bu operator Romedagi hamma buyurtmachilar baholan qiymatlarini tekshiradi. Shundan so‘ng Romedagi hamma buyurtmachilardan bahosi yuqori boMgan buyurtmachilarni topaili, Romeda eng yuqori baho - Giovanni (200). Demak 200 dan yuqori qiymatlar olinadi.
    ANY operatori uchun bo‘lgani kabi ALL operatori uchun ham IN va EXISTS yordamida alternativ konstruksiyalar yaratish mumkin.
    ALL asosan tengsizliklar bilan ishlatiladi, chunki qiymat "hammasi uchun teng” ostki so'rov natijasi boTishi mumkin, agar hamma natijalar bir xil b o ‘lsa. SQL da < > ALL ifoda aslida ostki so'rov natijasining "hech qaysisiga teng emas" m a’noni bildiradi. Boshqacha qilib aytganda proedikat rost agar berilgan qiymat ostki so'rov natijalari orasida topihnagan bo'lsa. Agar oldingi misoida tenglik tengsizlikka almashtirilsa, reytingi 300 ga teng b o ‘lgan hamma buyurtmachilar chiqariladi, chunki ostki so'rov 100 va 200 ga teng reytmglami topgan.
    ALL va ANY - orasidagi asosiy farq, ostki so‘rov hech qanday natija qaytarmagan xolatda k o ‘rinadi. Bu holda ALL - avtomatik (“TRUE”) ga teng, ANY bo'lsa avtomatik (“FALSE” ) ga teng.
    Misol: Buyurtmachilar jadvali xammasini chiqarish

    Download 24,2 Mb.
    1   ...   35   36   37   38   39   40   41   42   ...   71




    Download 24,2 Mb.