• SELECT * FROM Orders a WHERE AMT > ( SELECT AVG (AMT) FROM Orders b WHERE b.CNum = a.CNum );
  • SELECT CNum, CName, City FROM Customers WHERE EXISTS ( SELECT * FROM Customers WHERE City = San Jose );
  • SELECT * FROM Orders main WHERE NOT SNum = ( SELECT




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

     
    SELECT * FROM Orders main WHERE NOT SNum = ( SELECT 
    SNum FROM Customers WHERE CNum = main.CNum ); 
    Asosiy so‘rov asoslangan jadvalga asoslanuvchi mutanosib so‘rovdan 
    foydalanishingiz mumkin. 
    Misol: sotib olishlar buyurtmachilari uchun o‘rta qiymatdan yuqori 
    bo‘lgan hamma buyurtmalarni topish. 
    SELECT * FROM Orders a WHERE AMT > ( SELECT AVG 
    (AMT) FROM Orders b WHERE b.CNum = a.CNum ); 
    HAVING operatoridan ostki so‘rovlarda foydalanilganidek, mutanosib 
    ostki so‘rovlarda ham foydalanish mumkin. HAVING ifodasida mutanosib 
    ostki so‘rovdan foydalanganda, HAVING o‘zida ishlatilishi mumkin 
    bo‘lgan pozitsiyalarga tashqi ilovalarni cheklab qo‘yishingiz kerak. Chunki, 


    HAVING ifodasida faqat agregat SELECT ifodasida ko‘rsatilgan 
    funksiyalardan yoki GROUP BY ifodasida ko‘rsatilgan maydonlardan 
    foydalanish mumkin. Ulardan siz tashqi ilova sifatida foydalanishingiz 
    mumkin. Buning sababi shuki, HAVING tashqi so‘rovdagi satrlar uchun 
    emas, guruhlar uchun baholanadi. Shuning uchun ostki so‘rov bir marta satr 
    uchun emas, guruh uchun bajariladi. 
     
    EXISTS operatoridan foydalanish. 
    EXISTS – bu “TRUE” yoki “FALSE” qaytaruvchi operatordir. Bu shuni 
    bildiradiki, u predikatda avtonom yoki mantiqiy operatorlar AND, OR va 
    NOT yordamida tuzilgan mantiqiy ifodalar kombinatsiya bilan qo‘llanilishi 
    mumkin. Agar u ixtiyoriy natija hosil qilsa, ostki so‘rovni “TRUE” deb 
    baholaydi, aks holda “FALSE” deb baholaydi. 
    Misol: Agar buyurtmachilardan juda bo‘lmasa bittasi San Jose shaxrida 
    yashasa, buyurtmachilar jadvalidagi ma’lumotlarni chiqaring. 
    SELECT CNum, CName, City FROM Customers WHERE 
    EXISTS ( SELECT * FROM Customers WHERE City = 'San Jose' ); 
    EXISTS ni faqat sodda ostki so‘rov bilan emas, balki bog‘langan so‘rov 
    bilan ishlatish mumkin. Bu holda EXISTS ichki ostki so‘rovni tashqining 
    har bir satri uchun tekshiradi. 

    Download 1,78 Mb.
    1   ...   38   39   40   41   42   43   44   45   ...   62




    Download 1,78 Mb.
    Pdf ko'rish

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    SELECT * FROM Orders main WHERE NOT SNum = ( SELECT

    Download 1,78 Mb.
    Pdf ko'rish