• 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 * FROM Orders WHERE AMT > ( SELECT AVG (AMT) FROM Orders WHERE ODate = ‘1990/10/04’ );
  • Hozirgi kunda inson faoliyatida ma’lumotlar bazasi (MB) kerakli




    Download 1,78 Mb.
    Pdf ko'rish
    bet40/62
    Sana03.02.2024
    Hajmi1,78 Mb.
    #150970
    1   ...   36   37   38   39   40   41   42   43   ...   62
    Bog'liq
    Методичка Маълумотлар ва билимлар банки 2

    Nazariy ma’lumotlar 
    SQL yordamida so‘rovlarni bir-birining ichiga joylashtirishingiz 
    mumkin. Odatda ostki so‘rov qiymat hosil qiladi va bu qiymat tashqi 
    predikat tomonidan tekshirilib, to‘g‘ri yoki noto‘g‘riligi aniqlanadi. Misol: 
    bizga sotuvchi nomi ma’lum: Motika, lekin biz SNum maydoni qiymatini 
    bilmaymiz va Buyurtmachilar jadvalidan hamma buyurtmalarni ajratib 
    olmoqchimiz. Buni quyidagicha amalga oshirish mumkin: 
    SELECT * FROM Orders WHERE SNum=(SELECT SNum 
    FROM Salepeople WHERE SName = 'Motika' ); 
    Avval ostki so‘rov bajariladi, so‘ngra uning natijasi tashqi so‘rovni hosil 
    qilish uchun ishlatiladi (SNum ostki so‘rov natijasi bilan solishtiriladi). 
    Ostki so‘rovda bitta maydon tanlanishi lozim, bu maydon qiymatlarining tipi 
    predikatda solishtiriladigan qiymat tipi bilan bir xil bo‘lishi kerak. Siz ba’zi 
    hollarda ostki so‘rov bitta qiymat hosil qilishi uchun DISTINCT 
    operatoridan foydalanishingiz mumkin. 
    Misol: Hoffman (CNum=21) ga xizmat ko‘rsatuvchi sotuvchilar hamma 
    buyurtmalarini topish lozim bo‘lsin. 
    SELECT * FROM Orders WHERE SNum = ( SELECT DISTINCT 
    SNum FROM Orders WHERE CNum = 21 ); 
    Bu holda ostki so‘rov faqat bitta 11 qiymat chiqaradi, lekin umumiy 
    holda bir necha qiymatlar bo‘lishi mumkin va ular ichidan DISTINCT faqat 
    bittasini tanlaydi. Ixtiyoriy sondagi satrlar uchun avtomatik ravishda bitta 
    qiymat hosil qiluvchi funksiya turi – agregat funksiya bo‘lib, undan ostki 
    so‘rovda foydalanish mumkin. 


    Masalan, summasi 4 oktyabrdagi bajarilishi lozim bo‘lgan buyurtmalar 
    summasi o‘rta qiymatidan yuqori bo‘lgan hamma buyurtmalarni aniqlang: 
    SELECT * FROM Orders WHERE AMT > ( SELECT AVG (AMT) 
    FROM Orders WHERE ODate = ‘1990/10/04’ ); 
    Shuni nazarda tutish kerakki, guruhlangan agregat funksiyalar GROUP 
    BY ifodasi terminlarida aniqlangan va agregat funksiyalar bo‘lsa ko‘p 
    qiymatlar hosil qilishi mumkin. Agar ostki so‘rov IN operatoridan 
    foydalanilsa, ixtiyoriy sondagi satrlar hosil qilish mumkin. 
    Misol: Londondagi sotuvchilar uchun hamma buyurtmalarni ko‘rsatish. 

    Download 1,78 Mb.
    1   ...   36   37   38   39   40   41   42   43   ...   62




    Download 1,78 Mb.
    Pdf ko'rish

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Hozirgi kunda inson faoliyatida ma’lumotlar bazasi (MB) kerakli

    Download 1,78 Mb.
    Pdf ko'rish