Axborot texnologiyalari servisi


-14-Mavzu. Bir nechta jadvallar birlashtirish, “JOIN”



Download 3,92 Mb.
bet24/47
Sana01.01.2022
Hajmi3,92 Mb.
#287383
1   ...   20   21   22   23   24   25   26   27   ...   47
13-14-Mavzu. Bir nechta jadvallar birlashtirish, “JOIN” lar bilan ishlash. Murakkab so‘rovlar yaratish

Endi biz ma’lumotlar bazasidagi mavjud jadvallarni birlashtirib kerakli ma’lumotlarni olishni ko‘rib o‘tamiz. Bunda SQL ning maxsus JOIN(inner, left, right) operatorlaridan foydalanamiz. Biz misol sifatida quyidagi ko‘rinishda loyihalangan ma’lumotlar bazasini ko‘rib o‘tamiz:



INNER JOIN оператори: INNER JOIN оператори 2 та жадвални бирлаштиради. Буни қуйидаги чизмада аниқ кўриш мумкин:



INNER JOIN операторининг синтаксиси қуйидагича:

SELECT column_name(s)

FROM table1

INNER JOIN table2

ON table1.column_name = table2.column_name;

Юқорида берилган Savdo номли базадаги tovar_in ва tovar номли жадвалларни бирлаштириб (Tovar_id орқали) 35000 дан қимматга сотиб

олинган товарларнинг Tovar_name, Itovar_son, Itovar_baxo, Itovar_data устунларини чиқарайлик. Бу SQL тилида қуйидагича бўлади:

Select Tovar_name, Itovar_son, Itovar_baxo, Itovar_data FROM Tovar_in Inner JOIN tovar

ON Tovar_in.tovar_Id=Tovar.tovar_Id where

itovar_baxo>35000

Натижа қуйидагича:

Натижага эътибор берсак, Tovar_name устуни Tovar жадвалидан, қолган устунлари эса Tovar_in жадвалидан олинмоқда. Буни эса INNER JOIN операторидан фойдаланган ҳолда амалга оширдик.



LEFT JOIN оператори: Энди жадвалларни бирлаштиришнинг LEFT JOIN операторини кўриб чиқайлик. LEFT JOIN оператори орқали 2 та жадвални бирлаштирганимизда чап томондаги жадвалдаги маълумотларнинг барчаси ўнг томондаги жадвалдан эса фақат чап томондаги билан мос бўлган маълумотлар олинади

Буни мисолда кўриб чиқайлик. Масалан, юқорида келтирилган маълумотлар базасидан бизга Tovar жадвалидаги мавжуд товарларнинг қайсилари ва нечтадан сотилганлиги ҳақидаги маълумот чиқарилсин. Буни SQL да қуйидагича ёзамиз:

SELECT Tovar_name, SUM(itovar_son) as soni FROM Tovar Left join Tovar_in On tovar.tovar_id=Tovar_in.tovar_id Group by TOVAR_NAME Order BY soni

Натижага эътибор берадиган бўлсак, дастлабки турган 7 та Tovar номининг soni устунида NULL қиймат турибди. Бu эса шу товарлар магазинга келмаганлигини яъни умуман сотиб олинмаганлигини

англатади. NULL қийматни чиқаришига сабаб олиб келинган товарлар ичида бу товарлар мавжуд эмас.

RIGHT JOIN: RIGHT JOIN операторининг ишлаш принципи LEFT JOIN операторига ўхшаш ҳисобланади. Уларнинг бир-биридан фарқи LEFT JOIN дa асосий жадвал чап жадвал ҳисобланса, RIGHT JOIN дa ўнг жадвал асосий жадвал ҳисобланади. Юқоридаги масалани SQL дa RIGHT JOIN орқали бажариб кўрамиз:

SELECT Tovar_name, SUM(itovar_son) as soni FROM Tovar Left join Tovar_in On tovar.tovar_id=Tovar_in.tovar_id Group by TOVAR_NAME Order BY soni

Натижа эса юқоридаги билан бир хил.


  1. Сўровларни бирлаштириш. UNION оператори: UNION оператори иккита сўровни бирлаштириш учун қўлланилади. Бу оператор синтаксиси қуйидагича:

SELECT устунлар номи FROM 1-жадвал

UNION


SELECT устунлар номи FROM 2-жадвал;

Шуни унутмаслик керакки, Union операторини учун 2 ta запрос дa ҳам устунлар номи ва сони бир хил бўлиши керак. Энди Savdo номли маълумотлар базамизда бунга мисол кўрайлик. Масалан, 1-сотувчи (Sotuvchi_Id=1) va 2-сотувчи сотган махсулотлар номини чиқарайлик. Аввал 1-сотувчи сотган махсулот номларини чиқарайлик:




Download 3,92 Mb.

Do'stlaringiz bilan baham:
1   ...   20   21   22   23   24   25   26   27   ...   47




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish