• FROM Orders WHERE order_num IN (SELECT order_num FROM OrderItems WHERE prod_id = ’RGAN01’);
  • SELECT COUNT (*)
  • SELECT COUNT(*) AS orders FROM Orders WHERE oust id = 1000000001;
  • SELECT cust_name, cust_state, (SELECT * COUNT(*) FROM Orders WHERE Orders.cust_id = Customers.cust_id) AS
  • 10-mavzu. Sqlda murakkab so’rovlar yaratish. Bir necha jadvallarni birlashtirish, ‘join’ lar bilan ishlash




    Download 44,55 Kb.
    bet5/12
    Sana24.11.2023
    Hajmi44,55 Kb.
    #105026
    1   2   3   4   5   6   7   8   9   ...   12
    Bog'liq
    JSOON

    SELECT cust_id FROM Orders WHERE order_num IN (20007,20008);
    oust id


    1000000004
    1000000005

    Keling, birinchisini (buyurtma raqamlarini qaytaruvchi) quyi so'rovga aylantirib, ushbu ikkita so'rovni birlashtiramiz.




    SELECT cust_id FROM Orders WHERE order_num IN (SELECT order_num FROM OrderItems WHERE prod_id = ’RGAN01’);


    Quyi so'rovlarni hisoblangan maydonlar sifatida ishlatish

    Quyi so'rovlardan foydalanishning yana bir usuli hisoblangan maydonlarni yaratishdir. Aytaylik, siz Mijozlar jadvalidan har bir mijoz tomonidan berilgan buyurtmalarning umumiy sonini ko'rsatishni xohlaysiz. Buyurtmalar buyurtmalar jadvalida ularning mijoz identifikatorlari bilan birga saqlanadi.


    Ushbu operatsiyani bajarish uchun siz quyidagilarni bajarishingiz kerak:
    1) Customers jadvalidan mijozlar ro'yxatini olish;
    2) har bir tanlangan mijoz uchun Orders jadvalida uning buyurtmalari sonini hisoblash

    Yuqorida tushuntirilganidek, siz jadvaldagi qatorlarni hisoblash uchun SELECT COUNT (*) bayonotini chiqarishingiz mumkin va maʼlum bir mijoz identifikatorida filtrlash uchun WHERE bandidan foydalanib, faqat shu mijozning buyurtmalarini hisoblashingiz mumkin. Masalan, quyidagi so'rov 1000000001 mijoz tomonidan berilgan buyurtmalar sonini hisoblashi mumkin.


    SELECT COUNT(*) AS orders FROM Orders WHERE oust id = '1000000001';

    Har bir mijoz uchun COUNT(*) funksiyasidan foydalangan holda jami maʼlumotlarini olish uchun quyi soʻrov sifatida COUNT(*) ifodasidan foydalaning. Quyidagi misolni ko'rib chiqamiz.



    SELECT cust_name, cust_state, (SELECT * COUNT(*) FROM Orders WHERE Orders.cust_id = Customers.cust_id) AS orders FROM Customers ORDER BY cust_name;
    Natija:

    Download 44,55 Kb.
    1   2   3   4   5   6   7   8   9   ...   12




    Download 44,55 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    10-mavzu. Sqlda murakkab so’rovlar yaratish. Bir necha jadvallarni birlashtirish, ‘join’ lar bilan ishlash

    Download 44,55 Kb.