• Sodda joylashtirilgan ostki so‘rovlar.
  • SELECT * FROM Orders WHERE SNum = (SELECT SNum FROM Salepeople WHERE SName = Motika);
  • SELECT * FROM Orders WHERE SNum = (SELECT DISTINCT SNum FROM Orders WHERE CNum = 21);
  • SELECT a.CName, b.CName, a.Rating FROM Customers a




    Download 1,38 Mb.
    Pdf ko'rish
    bet43/79
    Sana30.01.2024
    Hajmi1,38 Mb.
    #148346
    1   ...   39   40   41   42   43   44   45   46   ...   79
    Bog'liq
    Mundarija kirish

    SELECT a.CName, b.CName, a.Rating FROM Customers a
    customers b WHERE a.Rating = b.Rating AND a.CName < 
    b.CName; 
    Bu misolda agar birinchi kombinatsiya ikkinchi shartni 
    qanoatlantirsa u chiqariladi, lekin teskari kombinatsiya bu shartni 
    qanoatlantirmaydi va aksincha. Siz SELECT ifodasida yoki so„rovning 
    FROM jumlasida keltirilgan xar bir psevdonim yoki jadvalni 
    ishlatishingiz shart emas. Siz xar xil jadvallar, hamda bitta jadval xar 
    psevdonimlaridan iborat jmlanma yaratishingiz mumkin. 
    Sodda joylashtirilgan ostki so‘rovlar. SQL yordamitda so„rovlarni 
    bir birining ichiga joylashtirishingiz mumkin. Odatda ichki so„rov 
    qiymat xosil qiladi va bu qiymat tashqi predikat tomonidan tekshirilib, 
    to„g„ri yoki noto„g„riligi tekshiriladi. 
    Misol: bizga sotuvchi nomi ma‟lum: Motika, lekin biz SNum 
    maydoni qiymatini bilmaymiz va Buyurtmachilar jadvalidan xamma 
    buyurtmalarni ajratib olmoqchimiz. Buni quyidagicha amalga oshirish 
    mumkin: 
    SELECT * FROM Orders WHERE SNum = (SELECT SNum 
    FROM Salepeople WHERE SName = 'Motika'); 
    Avval ichki so„rov bajariladi, so„ngra uning natijasi tashqi so„rovni 
    xosil qiligsh uchun ishlatiladi (SNum ostki so„rov natijasi bilan 
    solishtiriladi). 
    Ostki so„rov bitta ustun tanlashi lozim, bu ustun qiymatlari tipi 
    predikatda solishtiriladigan qiymat tipi bilan bir xil bo„lishi kerak. Siz 
    ba‟zi xollarda ostki so„rov bitta qiymat xosil qilishi uchun DISTINCT 
    operatoridan foydalanish mumkin. 
    Misol: Hoffman (CNum=21) ga xizmat ko„rsatuvchi sotuvchilar 
    xamma buyurtmalarini topish lozim bo„lsin.
    SELECT * FROM Orders WHERE SNum = (SELECT 
    DISTINCT SNum FROM Orders WHERE CNum = 21); 


    64 
    Bu holda ostki so„rov faqat bitta 11 qiymat chiqaradi, lekin 
    umumiy xolda bir necha qiymatlar bo„lishi mumkin va ular ichidan 
    DISTINCT faqat bittasini tanlaydi. Ixtiyoriy sondagi satrlar uchun 
    avtomatik ravishda bitta qiymat xosil qiluvchi funksiya turi - agregat 
    funksiya bo„lib, undan ostki so„rovda foydalanish mumkin. 
    Masalan, siz summasi 4 oktyabrdagi bajarilishi lozim bo„lgan 
    buyurtmalar summasi o„rta qiymatidan yuqori bo„lgan xamma 
    buyurtmalarni ko„rmoqchisiz: 

    Download 1,38 Mb.
    1   ...   39   40   41   42   43   44   45   46   ...   79




    Download 1,38 Mb.
    Pdf ko'rish

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    SELECT a.CName, b.CName, a.Rating FROM Customers a

    Download 1,38 Mb.
    Pdf ko'rish