Top, Limit, RowNum standart so`zlari exists standart so`zi


Download 1.29 Mb.
Sana23.04.2020
Hajmi1.29 Mb.
#101057
Bog'liq
17-maruza Презентация 17.

  • REJA:
  • Top, Limit, RowNum standart so`zlari
  • EXISTS standart so`zi
  • CASEstandart so`zi
  • Ma`ruzachi: Usmonov J.T
  • 23.04.20

Rastalar, mahsulot turi va mahsulot jadvallaridagi rastalar, mahsulot turi va mahsulotustunlari bitta ustunda chiqarilsin.

  • Rastalar, mahsulot turi va mahsulot jadvallaridagi rastalar, mahsulot turi va mahsulotustunlari bitta ustunda chiqarilsin.
  • a) SELECT CONCAT(rastalar, “ ”, [mahsulot turi], “ ”, [mahsulot tu])
  • FROM Rastalar, [Mahsulot turi], [Mahsulotlar]
  • WHERE Rastalar.ID=[Mahsulot turi].Rasta_id and
  • [Mahsulot turi].ID=Mahsulot.Mahsulot_t_id;
  • b) SELECT CONCAT_WS(“ ”, rastalar, [mahsulot turi], [mahsulot tu})
  • FROM Rastalar, [Mahsulot turi], [Mahsulotlar]
  • WHERE Rastalar.ID=[Mahsulot turi].Rasta_id and
  • [Mahsulot turi].ID=Mahsulot.Mahsulot_t_id;

Mahsulot jadvalining mahsulot narxi ustunidagi qiymatlarining butun qismi chiqarilsin.

  • Mahsulot jadvalining mahsulot narxi ustunidagi qiymatlarining butun qismi chiqarilsin.
  • SELECT ROUND([mahsulot narxi], 0) FROM Mahsulot;
  • Yetkazib beruvchilar jadvalining yetkazib beruvchi ustunidagi <“Alixan” MCHJ> qiymati <“VALI” MCHJ> qiymatiga o`zgartirilib chiqarilsin.
  • a) SELECT INSERT([yetkazib beruvchi], 2, 7, “VALI”)
  • FROM [Yetkazib beruvchilar]
  • WHERE [yetkazib beruvchi]=““Alixan” MCHJ”;
  • b) select replace(ism, 'Alixan', 'VALI') from talaba;

Xodim jadvalidagi F.I.SH ustunida Xasan ismi mavjud bo`lsa undagi X harfi nechchinchi belgi(Simvol)ligi chiqarilsin.

  • Xodim jadvalidagi F.I.SH ustunida Xasan ismi mavjud bo`lsa undagi X harfi nechchinchi belgi(Simvol)ligi chiqarilsin.
  • a) SELECT INSTR(F.I.Sh, “Xasan") FROM xodim;
  • b) SELECT LOCATE("Xasan", F.I.Sh, 2) FROM  xodim;
  • b) SELECT POSITION("Xasan" IN  F.I.Sh)FROM  xodim;

Omborxonada keltirilgan sanasi 01.01.2019 dan keyin keltirilgan “Fanta” qiymati “Fanta C” ga o`zgartirilib chiqarilsin.

  • Omborxonada keltirilgan sanasi 01.01.2019 dan keyin keltirilgan “Fanta” qiymati “Fanta C” ga o`zgartirilib chiqarilsin.
  • SELECT INSERT(Mahsulotlar.[Mahsulot nomi], 1, 5, “Fanta C”) FROM mahsulotlar, Omborxona
  • WHERE Mahsulotlar.id=Omborxona.Mahsulot_id
  • and Mahsulot.[mahsulot nomi]=“Fanta”
  • and [keltirilgan sana]<01.01.2019;
  • Mahsulotlar jadvalidagi mahsulot nomi ustunidan so`zning boshlanishidagi bo`sh joylar(probellar) olib tashlanib chiqarilsin.
  • SELECT LTRIM([Mahsulot nomi]) From Mahsulotlar;

Yetkazib beruvchilar jadvalining I/CHlar ustunidagi har bir mahsulot sanasiga 1 yil 2 oy qo`shilib chiqarilsin.

  • Yetkazib beruvchilar jadvalining I/CHlar ustunidagi har bir mahsulot sanasiga 1 yil 2 oy qo`shilib chiqarilsin.
  • Select add_months(I/CHlar, 14) from [Yetkazib beruvchilar];
  • Birinchi rastaga nechta mahsulot turi joylashtirilgan.
  • Select count([Mahsulot turi].*) from [Mahsulot turi], Rastalar Where [Mahsulot turi].Rasta_id=Rastalar.id and Rastalar.id=1;

Mahsulotlar jadvalidagi mahsulot nomi ustunidan bo`sh joylash(probellar) olib tashlanib chiqarilsin.

  • Mahsulotlar jadvalidagi mahsulot nomi ustunidan bo`sh joylash(probellar) olib tashlanib chiqarilsin.
  • Select TRIM([Mahsulot nomi]) From Mahsulotlar;
  • Omborxona jadvalining ustunlaridan foydalanib muddati o`tgan mahsulotlar haqida ma`lumot bering.
  • Select * from Omborxona
  • Where (select months_between (sysdate, [keltirilgan sana]) from Omborxona)>[saqlash muddati]*12;

Eng qimmat mahsulot qaysi rastada joylashgan.

  • Eng qimmat mahsulot qaysi rastada joylashgan.
  • Select rastalar from Rastalar, [Mahsulto turi], Mahsulotlar
  • From Rastalar.ID=[Mahsulot turi].Rasta_id and =[Mahsulot turi].ID=Mahsulotlar.Mahsulot_t_id and Mahsulotlar.[Mahsulot narxi]=(Select MAX([Mahsulot narxi])) from Mahsulotlar;
  • Omborxona jadvalining keltirilgansana ustunidagi har bir mahsulot sanasiga 2 oy qo`shilib chiqarilsin.
  • Select add_months(sana, 2) from Omdborxona;

TOP, LIMIT va ROWNUM

  • Hamma ma'lumotlar bazalari TOP standart so'zini qo'llab-quvvatlamaydi. MySQL cheklangan miqdordagi yozuvlarni tanlash uchun LIMIT so'zini qo'llab-quvvatlaydi, Oracle esa ROWNUM dan foydalanadi.
  • TOP standart so`zi qaytariladigan yozuvlar sonini aniqlash uchun ishlatiladi.
  • TOP standart so`zi minglab yozuvlarga ega bo'lgan katta jadvallarda foydalidir. Ko'p sonli yozuvlarni qaytarish ishlashga ta'sir qilishi mumkin.
  • TOP sintaksisi (SQL Server)
  • SELECT TOP son, ustun nomlari FROM jadval nomlari WHERE shartlar;

1 misol. Mahsulot jadvalining birinchi 3 qator ma`lumotlari chiqarilsin.

  • 1 misol. Mahsulot jadvalining birinchi 3 qator ma`lumotlari chiqarilsin.
  • SELECT TOP 3 * FROM mahsulot;
  • 2 misol. Mahsulot jadvalining M_nomi va Miqdori ustunlarining birinchi 10 ta qiymati chiqarilsin.
  • SELECT TOP 10 PERCENT, M_nomi, Miqdori FROM Mahsulot;
  • 3 misol. Buyurtma va Xodimlar jadvalining ID va ISM ustunlaridan birinchi 5 ta qiymati chiqarilsin
  • SELECT  TOP 5, Buyurtma.BuyurtmaID, Xodimlar.Ism FROM Buyurtma RIGHT JOIN Xodimlar ON Buyurtma.XodimID=Xodimlar.XodimID ORDER BY Xodim.XodiID;

LIMIT sintaksisi (MySQL)

  • LIMIT sintaksisi (MySQL)
  • SELECT ustunlar FROM Jadval nomlari WHERE shartlar LIMIT son;
  • 1 misol. Mahsulot jadvalining birinchi 3 qator ma`lumotlari chiqarilsin.
  • SELECT * FROM mahsulot LIMIT 3;
  • 2 misol. Mahsulot jadvalining M_nomi va Miqdori ustunlarining birinchi 10 ta qiymati chiqarilsin.
  • SELECT M_nomi, Miqdori FROM Mahsulot LIMIT 10;
  • 3 misol. Buyurtma va Xodimlar jadvalining ID va ISM ustunlaridan birinchi 5 ta qiymati chiqarilsin
  • SELECT  Buyurtma.BuyurtmaID, Xodimlar.Ism FROM Buyurtma RIGHT JOIN Xodimlar ON Buyurtma.XodimID=Xodimlar.XodimID ORDER BY Xodim.XodiID LIMIT 10;

ROWNUM Sintaksisi (Oracle)

  • ROWNUM Sintaksisi (Oracle)
  • SELECT Ustunlar FROM Jadval nomlari WHERE ROWNUM <= son;
  • 1 misol. Mahsulot jadvalining birinchi 3 qator ma`lumotlari chiqarilsin.
  • SELECT * FROM mahsulot ROWNUM <=3;
  • 2 misol. Mahsulot jadvalining M_nomi va Miqdori ustunlarining birinchi 10 ta qiymati chiqarilsin.
  • SELECT M_nomi, Miqdori FROM Mahsulot ROWNUM <= 10;
  • 3 misol. Buyurtma va Xodimlar jadvalining ID va ISM ustunlaridan birinchi 5 ta qiymati chiqarilsin
  • SELECT  Buyurtma.BuyurtmaID, Xodimlar.Ism FROM Buyurtma RIGHT JOIN Xodimlar ON Buyurtma.XodimID=Xodimlar.XodimID ORDER BY Xodim.XodiID ROWNUM <= 10;

EXISTS

  • EXISTS standart so`zi pastki so`rovda biron bir qiymat mavjudligini tekshirish uchun foydalaniladi.
  • Agar pastki so`rov bir yoki bir nechta yozuvlarni qaytarsa, EXISTS operatori yuqori so`rovdagi qiymatni qaytaradi.
  • EXISTS sintaksisi
  • SELECT Ustun nomlari FROM Jadval nomi
  • WHERE EXISTS
  • (SELECT Jadval nomi FROM Jadval nomi WHERE shartlar);
  • Shu bilan bir qatorda ANY va ALL standart so`zlari ham mavjud
  • id
  • Mahsulot_id
  • Omborxona
  • keltirilgan sana
  • Mas-t miqdori
  • Saq-sh muddati
  • Rastalar raqami
  • ID
  • Mahsulot_id
  • Yetkazib beruvchi
  • I/CHgan sana
  • Et-b ber narxi
  • Miqdori
  • Rastalar
  • Omborxona
  • Yetkazib beruvchilar
  • Xodimlar
  • Mahsulot turi
  • Mahsulotlar
  • SUPER MARKET
  • Mahsulot_t_id
  • Mahsulot nomi
  • miqdori
  • Ombordagi miqdori
  • Buyurtma miqdori
  • Saq-sh muddati
  • Mahsulot narxi
  • id
  • F.I.Sh
  • Lavozimi
  • Tel raqami
  • Manzili
  • ID
  • Ish vaqti
  • Staji
  • ID
  • Rasta_id
  • Mahsulot turi
  • ID

1 misol. Mahsulot narxi 2000 so`mdan yuqori bo`lgan mahdulotlarning turi ciqarilsin.

  • 1 misol. Mahsulot narxi 2000 so`mdan yuqori bo`lgan mahdulotlarning turi ciqarilsin.
  • SELECT Mahsulot_turi FROM Mahsulot_turi
  • WHERE EXISTS
  • (SELECT [Mahsulot nomi] FROM Mahulotlar
  • WHERE Mahsulotlar.Mahsulo_t_id = Mahsulot_turi.ID AND [Mahsulot narxi]>2000);
  • 2 misol. Bitta mahsulot turi joylashgan rastalar ro`yxati chiqarilsin.
  • SELECT [Rasta raqami] FROM Rastalar
  • WHERE NOT EXISTS
  • (SELECT count(*) FROM Mahulot_turi
  • WHERE Rastalar.ID = Mahsulot_turi.Rasta_id
  • Group by id
  • HAVING count(Rasta_id)<2);

CASE

  • CASE shartlardan tekshiradi va birinchi shart bajarilganda qiymatni qaytaradi. Shunday qilib, shart to`g`ri bo`lsa keyingisiga o`tishni to`xtatadi va natijani qaytaradi. Agar biron bir shart to`g`ri bo`lmasa ELSEdagi qiymatni qaytaradi.
  • Agar ELSE qismi bo`lmasa va shartlar haqiqiy bo`lmasa, u NULL qaytaradi.
  • CASE     WHEN 1-shart THEN 1-natija     WHEN 2-shart THEN 2-natija
  •     WHEN  n-shart  THEN  n-natija     ELSE natija (default) END;

1 misol. Xodimlar jadvalidan stajiga qarab izoh berilsin.

  • 1 misol. Xodimlar jadvalidan stajiga qarab izoh berilsin.
  • SELECT ID, FISh,
  • CASE
  • WHEN Staji > 10 THEN “Tajribali xodim"
  • WHEN Staji > 5 and Staji<10 THEN “Malakali xodim"
  • ELSE “Yosh xodim"
  • END AS Izoh
  • FROM Xodim;
  • 2 misol. Mahsulot jadvalidan mahsulot nomlari chiqarilsin. Ombordasi miqdori bo`yicha saralansin yoki mahsulot nomi bo`yicha saralansin
  • SELECT [mahsulot nomi] FROM Mahsulotlar
  • ORDER BY CASE
  • WHEN [Ombordagi miqdori] is NULL THEN [Mahsulot nomi] ELSE [Ombordagi miqdori] END;

UPDATE Mahsulotlar SET Narxi = ( CASE

  • UPDATE Mahsulotlar SET Narxi = ( CASE
  • WHEN Narxi<10000 THEN Narxi =1,1*Narxi
  • WHEN Narxi>10000 THEN Narxi =1,05*Narxi
  • ELSE Narxi=Narxi
  • END);
  • SELECT ID, Miqdori FROM Mahsulotlar
  • WHERE [Mahsulot nomi]=
  • (CASE
  • WHEN id=1 THEN “olma”
  • WHEN id=2 THEN “nok”
  • END)
  • ;

IF, IFNUL, ISNUL

  • IF funktsiyasi belgilangan shartni tekshiradi va true va false qiymatiga qarab qiymat qaytaradi.
  • Sintaksis
  • SELECT IF(sharttrue qiymatfalse qiymat) FROM jadval
  • Misollar
  • 1.SELECT IF(500<1000, 5, 10);
  • 2.SELECT
  • IF((Omborxonadagi_miqdori-Buyurtma_miqdori)>0, “Mavjud”, “Tugadi”) FROM Mahsulotlar;

IF, IFNUL, ISNUL

  • IFNULL funktsiyasi agar ifoda NULL bo'lsa, belgilangan qiymatni qaytaradi. Agar ifoda NULL bo'lmasa, bu funktsiya ifoda qaytaradi.
  • Sintaksis
  • SELECT IFNULL(ustun_nomi, const qiymat) FROM Jadval nomi
  • Misollar
  • 1. SELECT IFNULL(NULL, 500);
  • 2. SELECT IFNULL(Otasining_ismi, “XXX”) FROM Xodimlar;

IF, IFNUL, ISNUL

  • ISNULL funktsiyasi NULL yoki NOT NULLligiga qarab 1 yoki 0 qaytaradi. Agar ifoda NULL bo`lsa, bu funktsiya 1 ni qaytaradi, aks holda 0 ni qaytaradi.
  • Sintaksis
  • SELECT ISNULL(ustun nomi) FROM Jadval nomi
  • Misollar
  • 1. SELECT IFNULL (NULL);
  • 2. SELECT IFNULL(Otasining_ismi) FROM Xodimlar;

Download 1.29 Mb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling