• Misol. MS SQL Serverda ishlash
  • Nazorat savollari
  • 14 - LABORATORIYA ISHI
  • SELECT column_names [,... n]




    Download 7,78 Mb.
    bet35/56
    Sana02.12.2023
    Hajmi7,78 Mb.
    #109653
    1   ...   31   32   33   34   35   36   37   38   ...   56
    SELECT
    column_names [,... n]
    FROM
    Table_1 FULL JOIN Table_2
    ON condition


    12.4 – rasm. Full outer join operatorining Venn diagrammasi orqali ko’rinishi


    Ishni bajarish tartibi

    1. SQL INNER JOIN operatori

    So`rov: SELECT *FROM zavod_xodimlari
    INNER JOIN kon_xodimlari
    ON zavod_xodimlari.FISH=kon_xodimlari.FISH;
    Natija:

    12.5 - rasm. Inner join qo’llanishi natijasi
    2. LEFT JOIN operatori
    So`rov: SELECT * FROM zavod_xodimlari
    LEFT JOIN kon_xodimlari
    ON zavod_xodimlari.manzili = kon_xodimlari.manzili;
    Natija:

    12.5 - rasm. Left join qo’llanishi natijasi



    1. RIGHT JOIN operatori

    So`rov: SELECT *FROM zavod_xodimlari
    RIGHT JOIN kon_xodimlari
    ON zavod_xodimlari.oyligi = kon_xodimlari.oyligi;
    Natija:

    12.6 – rasm. Right join qo’llanishi natijasi
    3. CROSS JOIN operatori
    So`rov: SELECT *FROM zavod_xodimlari
    CROSS JOIN kon_xodimlari
    ON zavod_xodimlari.ish_staji = kon_xodimlari.ish_staji;
    Natija:

    12.7– rasm. Cross join qo’llanishi natijasi
    4. FULL OUTER JOIN operatori:
    So`rov: SELECT *FROM zavod_xodimlari
    FULL OUTER JOIN kon_xodimlari
    ON zavod_xodimlari.FISH=kon_xodimlari.FISH;
    Natija:
    12.1– jadval. Full outer join qo’llanishi natijasi

    Xodim_id

    FISH

    manzili

    lavozimi

    Ish_staji

    oyligi

    1

    Eshbotayev Sardor

    Lalmikor

    Tegirmon mashinisti

    10

    7000000

    2

    Abirov Dilshod

    Marjonbuloq

    Labaratoriya mu

    15

    9000000

    3

    Narzullayev Oybek

    Lalmikor

    Boyitish ishlari boyich

    15

    10000000

    4

    Soliyev Elmurod

    Marjonbuloq

    Xavsizlik ishlari

    10

    7000000

    5

    Muhammadiyev Begzod

    Olmali

    Gruz mashinisti

    12

    8000000

    6

    Duvlonov Bunyod

    Lalmikor

    Ekalogiya va atrof mu

    16

    10000000

    7

    Shobotayev Shahzod

    Oqtosh

    Loyiha ishlari muhand

    14

    9000000

    1

    Aliyev Sarvar

    Lalmikor

    Burgulash mashinisti

    10

    7000000

    2

    Berdiyorov Bunyod

    Mullabuloq

    Bosh loyihachi

    15

    9000000

    4

    Mamirov Shahzod

    Gobdin

    Gruz mashinisti

    12

    8000000

    5

    Abirqulov Alisher

    Moltob

    Tashish mashinisti

    10

    7000000

    Vazifalar

    1. Yuqorida ko`rsatilganlardan foydalanib tanlangan variyantga muvofiq mavzu uchun MySQL da INNER JOIN, LEFT JOIN, RIGHT JOIN, CROSS JOIN, FULL OUTER JOIN va ON standat so`zilari bilan ishlang.

    2. Bajarilgan ishlar haqida hisobot tayyorlang (1-2-ilovalarga qarang).



    Nazorat savollari

    1. SQL tilidagi qanday JOIN larni bilasiz?

    2. INNER JOIN qanday vazifani bajaradi?

    3. LEFT JOIN qanday vazifani bajaradi?

    4. RIGHT JOIN qanday vazifani bajaradi?

    5. CROSS JOIN qanday vazifani bajaradi?

    6. FULL OUTER JOIN qanday vazifani bajaradi?



    13 - LABORATORIYA ISHI
    Mavzu: Murakkab so‘rovlar yaratish. TOP, LIMIT yoki ROWNUM


    Ishdan maqsad: Berilgan predmet soha ma`lumotlar bazasidan foydalanib TOP, LIMIT yoki ROWNUM lardan foydalanishni o`rganish.
    Masalani qo`yilishi: Predmet soha ma`lumotlar bazasi shakllantirilgandan so`ng undan unumli foydalanishni tashkil etish maqsadida TOP, LIMIT yoki ROWNUM lar orqali so`rovlar yaratish.
    Uslubiy ko`rsatmalar: SQL LIMIT va SQL TOP operatorlarining vazifasi belgilangan satrlarni chaqirishdan iborat. SQL TOP operatori MS SQL Serverda ishlaydi, SQL LIMIT operatori esa MySQLda va Oracle da ROWNUM operatori ishlaydi ularnig vazifasi bir hil.
    SQL Server / MS Access Syntax:
    SELECT TOP number|percent column_name(s)
    FROM table_name
    WHERE condition;
    MySQL Syntax:
    SELECT column_name(s)
    FROM table_name
    WHERE condition
    LIMIT number;
    Oracle Syntax:
    SELECT column_name(s)
    FROM table_name
    WHERE ROWNUM <= number;

    Misol. MS SQL Serverda ishlash


    SELECT TOP 3 * FROM Customers;

    Misol. SQL da ishlash


    SELECT * FROM Customers
    LIMIT 3;

    Misol. Oracleda ishlash


    SELECT * FROM Customers
    WHERE ROWNUM <= 3;


    Ishni bajarish tartibi
    Avvalgi bajargan korpus nomli jadvalni chaqirib olamiz.
    SELECT * FROM korpus;

    1. So`rov: SELECT * FROM  korpus LIMIT 3;

    Buyrug`ini kiritamiz natijada birinchi uchta satr hosil bo`ladi
    Natija:

    13.1 – rasm. Limit operatori orqali 3 ta qatorni ekranga chiqarish

    1. So`rov: Select * korpus_nomi FROM korpus LIMIT  2,3;

    Buyrug`ini yozamiz, natijada 2, 3 satrlar hosil bo`ladi.
    Natija:

    13.2 – rasm. Limit operatori orqali 2,3 qatorni ekranga chiqarish



    1. So`rov: SELECT *  korpus_nomi FROM korpus

    ORDER BY korpus_nomi DESC LIMIT  2,3;
    Natija:

    13.3 rasm
    Vazifalar

    1. Yuqorida ko`rsatilganlardan foydalanib tanlangan variyantga muvofiq mavzu uchun MySQL da murakkab so`rovlar yaratish.

    2. Bajarilgan ishlar haqida hisobot tayyorlang (1-2-ilovalarga qarang).



    Nazorat savollari

    1. Murakkab so‘rovlar yaratish ushun qaysi operatorlardan foydalanish mumkin

    2. TOP operatorining vazifasi va u qaysi dasturda ishlaydi?

    3. LIMIT operatorining vazifasi va u qaysi dasturda ishlaydi?

    4. ROWNUM operatorining vazifasi va u qaysi dasturda ishlaydi?



    14 - LABORATORIYA ISHI


    Mavzu: SQL tilida INDEX yaratish

    Ishdan maqsad: MySQL maxsus ustun qiymatlariga ega qatorlarni tezda topish uchun indekslardan foydalanishni o`rganish.
    Masalani qo`yilishi: Bu laboratoriya ishida MySQL indekslari, shu jumladan indekslarni yaratish, indekslarni o'chirish, jadvalning barcha indekslarini sanab o'tish va MySQLda boshqa muhim ko'rsatkichlar bilan ishlanadi.
    Uslubiy ko`rsatmalar: MySQL maxsus ustun qiymatlariga ega qatorlarni tezda topish uchun indekslardan foydalanadi. Indekssiz MySQL tegishli satrlarni topish uchun butun jadvalni skanerdan o'tkazishi kerak. Jadval qanchalik katta bo'lsa, u sekinroq qidiradi.
    Indekslarni yaratish(creating indexes) - sizni indeks tushunchasi bilan tanishtiradi va jadvalning bir yoki bir nechta ustunlari uchun indeks qanday yaratilishini ko'rsatib beradi.
    Indekslarni o'chirish(removing indexes)- jadvalning mavjud indeksini qanday olib tashlashni ko'rsatib beradi.
    Jadval indekslarini ro'yxatlash(listing table indexes) - barcha indekslarni yoki jadvalning o'ziga xos indekslarini ro'yxat qilish to'g'risida ma'lumot beradi.
    Noyob indekslar(unique indexes) - ustunlarda saqlanadigan aniq qiymatlarni ta'minlash uchun noyob indekslardan foydalanadi.
    Prefiks indekslari(frefix indexses) - belgilar qatori ustuniga indeks yaratish uchun prefiks indeksidan qanday foydalanishni ko'rsatib beradi.
    Ko'rinmas indekslar (invisible indexes) - indeks ko'rinishini qamrab oladi va indeksni ko'rinadigan yoki ko'rinmas qilib ko'rsatishni ko'rsatadi.
    Kichik indekslar (descending indexes) - so'rov samaradorligini oshirish uchun pasayadigan indekslardan qanday foydalanishni ko'rsatib beradi.
    Kompozit indekslar (composite indexes) - kompozit indekslarning qo'llanilishini tasvirlaydi va sizning so'rovlaringizni tezlashtirish uchun ularni qachon ishlatishingizni ko'rsatadi.
    Klasterli indekslar (clustered indexes) - InnoDB jadvallaridagi klasterlangan indekslarni tushuntiradi.
    Indeksning kardinalligi (index cardinatily) - indeksning kardiologiyasini tushuntiradi va shou indekslari buyrug'i yordamida uni qanday ko'rishni ko'rsatib beradi.
    FOYDALANISH INDEX (use index hint) - jadvalda satrlarni topish uchun so'rovlar optimallashtiruvchisiga belgilangan indekslarning yagona ro'yxatidan foydalanishni ko'rsatishda USE INDEX maslahatini qanday ishlatishni ko'rsatib beradi.
    FORCE INDEX hint - jadvaldan ma'lumotlarni tanlash uchun so'rov optimizatorini belgilangan indekslardan foydalanishga majbur qilish uchun FORCE INDEX ko'rsatmalaridan qanday foydalanishni ko'rsatib beradi.
    Quyida bazi asosiy so’rovlar sintaksisi bilan tanishamiz:

    Download 7,78 Mb.
    1   ...   31   32   33   34   35   36   37   38   ...   56




    Download 7,78 Mb.