• SELECT * FROM Customers WHERE Rating > ANY (SELECT Rating FROM Customers WHERE City = Rome);
  • SELECT * FROM Customers WHERE Rating > ALL (SELECT Rating FROM Customers WHERE City = Rome);
  • Mundarija kirish mavzu




    Download 1,38 Mb.
    Pdf ko'rish
    bet48/79
    Sana30.01.2024
    Hajmi1,38 Mb.
    #148346
    1   ...   44   45   46   47   48   49   50   51   ...   79
    Bog'liq
    Mundarija kirish

    SELECT * FROM Salepeople 
    WHERE 
    SName 

    ANY 
    (SELECT 
    CName 
    FROM 
    Customers); 
    ANY to„la bir qiymatli emas. Misol: Rimdagi buyurtmachilarga 
    ko„ra yuqori reytinga ega buyurtmachilarni topish. 
    SELECT * FROM Customers 
    WHERE Rating > ANY (SELECT Rating FROM Customers 
    WHERE City = 'Rome'); 
    Ingliz tilida " ixtiyoriysidan katta (bu yerda City = Rome) " 
    baxolash quyidagicha talqin qilinadi, bu baxolash qiymati xar bir City = 
    Rome xoldagi baxolash qiymatidan katta bo„lishi kerak. SQL tilida 
    ANY operatoridan foydalanilganda bunday emas. ANY to„g„ri deb 
    baxolanadi agar ostki so„rov shartga mos keluvchi ixtiyoriy qiymat 
    topsa. Yuqorida ko„rilgan misol 300 va 200 baxoli xamma 
    buyurtmachilarni topadi, chunki 300>200 dlya 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 xisoblanadi, ostki so„rov tanlagan 
    xar bir qiymat tashqi so„rov predikatidagi shartga mos kelsa. 
    Misol: Rimdagi xar bir buyurtmachidan baxolari yuqori bo„lgan 
    buyurtmachilarni chiqaring. 
    SELECT * FROM Customers 
    WHERE Rating > ALL (SELECT Rating FROM Customers 
    WHERE City = 'Rome'); 


    69 
    Bu operator Rimdagi xamma buyurtmachilar baxolari qiymatlarini 
    tekshiradi. Shundan so„ng Rimdagi xamma buyurtmachilardapn baxosi 
    yuqori bo„lgan buyurtmachilarni topadi. Rimda eng yuqori baxo - 
    Giovanni (200). Demak 200 dan yuqori qiymatlar olinadi. 
    ANY operatori uchun bo„lgani kabi ALL operatori uchun ham IN 
    va EXISTS yordamida al‟ternativ konstruksiyalar yaratish mumkin. 
    ALL asosan tengsizliklar bilan ishlatiladi, chunki qiymat "xammasi 
    uchun teng " ostki so„rov natijasi bo„lishi mumkin agag xamma natijalar 
    bir xil bo„lsa. SQL da < > ALL ifoda aslida ostki so„rov natijasining " 
    xech qaysisiga teng emas " ma‟noni bildiradi. Boshqacha qilib aytganda 
    proedikat rost agar berilgan qiymat ostki so„rov natijalari orasida 
    topilmagan bo„lsa. Agar oldingi misolda tenglik tengsizlikka 
    almashtirilsa, reytingi 300 ga teng bo„lgan xamma buyurtmachilar 
    chiqariladi, chunki ostki so„rov 100 va 200 ga teng reytinglarni topgan. 
    ALL va ANY – orasidagi asosiy farq, ostki so„rov xech qanday 
    natija qaytarmagan xolatda ko„rinadi. Bu xolda ALL - avtomatik 
    (“TRUE”) ga teng, ANY bo„lsa avtomatik (“FALSE”) ga teng. 
    Misol: Buyurtmachilar jadvali xammasini chiqarish 

    Download 1,38 Mb.
    1   ...   44   45   46   47   48   49   50   51   ...   79




    Download 1,38 Mb.
    Pdf ko'rish