• Nazorat savollari
  • Masalaning qoʻyilishi: ma‘lumotlar bazasini boshqarish vositalari yordamida serverdagi ma‘lumotlarni qayta ishlash. Uslubiy koʻrsatmalar
  • DISTINCT , LIMIT, OFFSET, ORDER BY, LIKE operatorlarini SELECT
  • Oʻzbеkistоn rеspublikаsi оliy vа oʻrtа mаxsus tа’lim vаzirligi islom karimov nоmidаgi




    Download 2,08 Mb.
    Pdf ko'rish
    bet15/19
    Sana17.05.2024
    Hajmi2,08 Mb.
    #240356
    1   ...   11   12   13   14   15   16   17   18   19
    Bog'liq
    МББваДТ (1 курс)tayyor

     


    60 
     
    5.8-rasm. PostgreSQL-da DELETE operatori ishlatilishi 
    Yoki HTC tomonidan ishlab chiqarilgan va narxi 35 000 dan past 
    boʻlgan barcha mahsulotlarni olib tashlang: 
    1. 
    2. 
    DELETE
    FROM
    Products
    WHERE
    Manufacturer='HTC'
    AND
    Price < 15000;
    Agar shartdan qat'i nazar, barcha qatorlarni oʻchirish kerak boʻlsa, 
    shartni oʻtkazib yuborish mumkin: 
    1. 
    DELETE
    FROM
    Products;
    Nazorat savollari: 
    1. CREATE TRIGGER iborasining sintaksisiga izoh bering. 


    61 
    2. INSERTED va DELETED jadvallarining maqsadi nima? 
    3. Qaysi tizim protsedurasi trigger kodini olishga imkon beradi? 
    4. Maʻlumotlar bazasi obyekti ishga tushirilishini qayerdan bilaman? 
    5. Muayyan jadval uchun triggerlar roʻyxatini qanday olish mumkin? 
    6-
    laboratoriya ishi 
     Triggerlarning yozilishi boʻyicha misollar yechish 
     
    Ishdan maqsad:
    ma‘lumotlar bazasida dasturlarda triggerlarni ishlab 
    chiqish va ulardan foydalanish boʻyicha amaliy koʻnikmalarga ega boʻlish. 
    Masalaning qoʻyilishi: 
    ma‘lumotlar bazasini boshqarish vositalari 
    yordamida serverdagi ma‘lumotlarni qayta ishlash. 
    Uslubiy koʻrsatmalar: 
    SQL tilida 
    SELECT
    operatori bilan ishlashni 
    davom etamiz. Ushbu darsimizda 
    SELECT
    operatori bilan yanada 
    chuqurroq tanishamiz. Darsda 
    DISTINCT

    LIMIT, OFFSET, ORDER 
    BY, LIKE 
    operatorlarini 
    SELECT
    soʻrovida ishlatishni oʻrganamiz. 
    Soʻrovlar 
    DICTINCT. Noyob qiymatlarni olish 
    DISTINCT operatori ma‘lum ustunlar uchun noyob ma‘lumotlarni 
    tanlash imkonini beradi. 
    Misol uchun, mahsulot jadvalida turli xil mahsulotlar bir xil ishlab 
    chiqaruvchilarga ega boʻlishi mumkin. Masalan, bizda quyidagi jadval 
    mavjud: 
    1. 
    2. 
    3. 
    4. 
    5. 
    6. 
    7. 
    8. 
    9. 
    10. 
    11. 
    12. 
    13. 
    14. 
    15. 
    16. 
    CREATE
    TABLE
    Products
    (
    Id SERIAL PRIMARY
    KEY,
    ProductName VARCHAR(30) NOT
    NULL,
    Manufacturer VARCHAR(20) NOT
    NULL,
    ProductCount INTEGER
    DEFAULT
    0,
    Price NUMERIC
    );
    INSERT
    INTO
    Products (ProductName, Manufacturer, 
    ProductCount, Price)
    VALUES
    ('iPhone X', 'Apple', 2, 71000),
    ('iPhone 8', 'Apple', 3, 56000),
    ('Galaxy S9', 'Samsungʻ, 6, 56000),
    ('Galaxy S8 Plus', 'Samsungʻ, 2, 46000),
    ('Desire 12', 'HTC', 3, 26000);


    62 
    Keling, barcha ishlab chiqaruvchilarni tanlaymiz: 
    1. 
    SELECT
    DISTINCT
    Manufacturer FROM
    Products;
    6.1-rasm. DISTINCT qoʻllanilishi 
    ORDER BY. Tartiblash 
    ORDER BY bandi ma‘lum bir ustun boʻyicha qiymatlarni saralashga 
    imkon beradi. Masalan, Mahsulotlar jadvalidan Mahsulotlar soni ustuni 
    boʻyicha tanlovga buyurtma beraylik: 
    1. 
    2. 
    SELECT
    * FROM
    Products
    ORDER
    BY
    ProductCount;
    6.2-rasm. ORDER BY qoʻllanilishi 


    63 
    Shuningdek, siz ma‘lumotlarni AS operatori yordamida aniqlanadigan 
    ustun taxalluslari boʻyicha buyurtma qilishingiz mumkin: 
    1. 
    2. 
    3. 
    SELECT
    ProductName, ProductCount * Price AS
    TotalSum
    FROM
    Products
    ORDER
    BY
    TotalSum;
    6.3-rasm. ORDER BY qoʻllanilishi. 
    Saralash mezoni sifatida murakkab ustunga asoslangan ifoda ham 
    ishlatilishi mumkin: 
    1. 
    2. 
    3. 
    SELECT
    ProductName, Price, ProductCount
    FROM
    Products
    ORDER
    BY
    ProductCount * Price;


    64 
    6.4-rasm. ORDER BY qoʻllanilish sohalari. 
    Kamayish boʻyicha tartiblash. 
    Odatiy boʻlib, ma‘lumotlar oʻsish tartibida tartiblanadi, lekin siz 
    kamayish tartibida tartiblash uchun DESC operatoridan foydalanishingiz 
    mumkin. 
    1. 
    2. 
    3. 
    SELECT
    ProductName, Manufacturer
    FROM
    Products
    ORDER
    BY
    Manufacturer DESC;
    6.5-rasm. ORDER BY qoʻllanilishi 


    65 
    Odatiy boʻlib, oʻsish tartibida tartiblanadigan DESC oʻrniga ASC 
    operatori ishlatiladi: 
    1. 
    2. 
    3. 
    SELECT
    ProductName, Manufacturer
    FROM
    Products
    ORDER
    BY
    Manufacturer ASC;
    Bir nechta ustunlar boʻyicha tartiblash. 
    Agar bir vaqtning oʻzida bir nechta ustunlar boʻyicha saralash kerak 
    boʻlsa, ularning barchasi ORDER BY operatoridan keyin vergul bilan 
    ajratiladi: 
    1. 
    2. 
    3. 
    SELECT
    ProductName, Price, Manufacturer
    FROM
    Products
    ORDER
    BY
    Manufacturer, ProductName;
    Bunday holda, satrlar birinchi navbatda Ishlab chiqaruvchi ustuni 
    boʻyicha oʻsish tartibida tartiblanadi. Keyin, agar ishlab chiqaruvchi ustuni 
    bir xil qiymatga ega boʻlgan ikkita qator boʻlsa, ular Mahsulot nomi ustuni 
    boʻyicha ham oʻsish tartibida tartiblanadi. Ammo yana, ASC va DESC-
    dan foydalanib, siz turli ustunlar uchun oʻsish va kamayish tartibida 
    tartiblashni alohida aniqlashingiz mumkin: 
    1. 
    2. 
    3. 
    SELECT
    ProductName, Price, Manufacturer
    FROM
    Products
    ORDER
    BY
    Manufacturer ASC, ProductName DESC;
    6.6-rasm. ORDER BY hamda ASC va DESC qoʻllanilish sohalari 


    66 
    LIMIT va OFFSET. 
    LIMIT operatori ma‘lum bir qatorlarni olish imkonini beradi: 
    1. 
    2. 
    3. 
    SELECT
    * FROM
    Products
    ORDER
    BY
    ProductName
    LIMIT 4;
    6.7-rasm. LIMIT operatoridan foydalanish. 
    OFFSET operatori tanlashni qaysi qatordan boshlashni belgilash 
    imkonini beradi. Masalan, 2-dan boshlab 3 ta qatorni tanlaymiz: 
    1. 
    2. 
    3. 
    SELECT
    * FROM
    Products
    ORDER
    BY
    ProductName
    LIMIT 3 OFFSET 2;
    6.8-rasm. LIMIT va OFFSET operatorlari. 


    67 
    Agar ma‘lum biridan boshlab barcha qatorlarni tanlash kerak boʻlsa, 
    LIMIT operatorini oʻtkazib yuborish mumkin: 
    1. 
    2. 
    3. 
    SELECT
    * FROM
    Products
    ORDER
    BY
    ProductName
    OFFSET 2;
    Yoki LIMITdan keyin ALL kalit soʻzini belgilang: 
    1. 
    2. 
    3. 
    SELECT
    * FROM
    Products
    ORDER
    BY
    ProductName
    LIMIT ALL
    OFFSET 2;
    Filtrlash operatorlari: 
    IN operatori 
    IN operatori ustunlar boʻlishi kerak boʻlgan qiymatlar toʻplamini 
    aniqlashga imkon beradi: 
    1. 
    WHERE
    выражение [NOT] IN
    (выражение)
    IN dan keyingi qavs ichidagi ifoda qiymatlar toʻplamini belgilaydi. 
    Ushbu toʻplam, masalan, boshqa soʻrov asosida dinamik ravishda 
    hisoblanishi mumkin yoki u doimiy qiymatlar boʻlishi mumkin. 
    Masalan, ishlab chiqaruvchisi Samsung, Xiaomi yoki Huawei boʻlgan 
    mahsulotlarni tanlaymiz: 
    1. 
    2. 
    SELECT
    * FROM
    Products
    WHERE
    Manufacturer IN
    ('Samsungʻ, 'HTC', 'Huawei');
    6.9-rasm. IN operatori 


    68 
    Shu bilan bir qatorda, ushbu qiymatlarning barchasini OR operatori 
    orqali tekshirish mumkin: 
    1. 
    2. 
    SELECT
    * FROM
    Products
    WHERE
    Manufacturer = 'Samsungʻ
    OR
    Manufacturer = 
    'HTC'
    OR
    Manufacturer = 'Huawei';
    Biroq, IN operatoridan foydalanish, ayniqsa, bunday qiymatlar juda 
    koʻp boʻlsa, ancha qulayroqdir. 
    NOT operatoridan foydalanib, siz, aksincha, qiymatlar toʻplamiga mos 
    kelmaydigan barcha satrlarni topishingiz mumkin: 
    1. 
    2. 
    SELECT
    * FROM
    Products
    WHERE
    Manufacturer 
    NOT
    IN
    ('Samsungʻ, 
    'HTC', 
    'Huawei');
    BETWEEN operatori 
    BETWEEN operatori ifoda mos kelishi kerak boʻlgan boshlangʻich va 
    yakuniy qiymatdan foydalangan holda bir qator qiymatlarni belgilaydi: 
    1. 
    WHERE
    выражение [NOT] BETWEEN
    начальное_значение AND
    конечное_значение
    Misol uchun, narxlari 20 000 dan 50 000 gacha boʻlgan barcha 
    mahsulotlarni olaylik (boshlangʻich va yakuniy qiymatlar ham qatorga 
    kiritilgan): 
    1. 
    2. 
    SELECT
    * FROM
    Products
    WHERE
    Price BETWEEN
    20000 AND
    50000;
    6.10-rasm. BETWEEN operatorining ishlatilishi 


    69 
    Agar, aksincha, ushbu diapazonga kirmaydigan qatorlarni tanlash kerak 
    boʻlsa, NOT operatori ishlatiladi: 
    1. 
    2. 
    SELECT
    * FROM
    Products
    WHERE
    Price NOT
    BETWEEN
    20000 AND
    50000;
    Bundan tashqari, murakkabroq ifodalardan foydalanishingiz mumkin. 
    Masalan, biz zaxiralari ma‘lum miqdorda boʻlgan tovarlarni olamiz (narx * 
    miqdor): 
    1. 
    2. 
    SELECT
    * FROM
    Products
    WHERE
    Price * ProductCount BETWEEN
    90000 AND
    150000;
    LIKE operatori 
    LIKE operatori ifoda mos kelishi kerak boʻlgan satr nusxasini oladi. 
    1. 
    WHERE
    выражение [NOT] LIKE
    шаблон_строки
    Shablonni aniqlash uchun bir qancha maxsus belgilardan foydalanish 
    mumkin: 
    •%: har qanday belgilar soniga ega boʻlishi mumkin boʻlgan har qanday 
    pastki qatorga mos keladi va pastki qatorda hech qanday belgilar 
    boʻlmasligi mumkin 
    Masalan, "Galaxy%" kabi mahsulot nomi "Galaxy Ace 2" yoki "Galaxy 
    S7" kabi qiymatlarga mos keladi. 
    • _: har qanday bitta belgiga mos keladi 
    Masalan, "Galaxy S_" kabi mahsulot nomi "Galaxy S7" yoki "Galaxy 
    S8" kabi qiymatlarga mos keladi. 
    LIKE operatorini qoʻllaymiz: 
    1. 
    2. 
    SELECT
    * FROM
    Products
    WHERE
    ProductName LIKE
    'iPhone%';


    70 
    6.11-rasm. LIKE operatorining ishlatilishi 

    Download 2,08 Mb.
    1   ...   11   12   13   14   15   16   17   18   19




    Download 2,08 Mb.
    Pdf ko'rish

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Oʻzbеkistоn rеspublikаsi оliy vа oʻrtа mаxsus tа’lim vаzirligi islom karimov nоmidаgi

    Download 2,08 Mb.
    Pdf ko'rish