Update join
Last updated
Last updated
Ushbu qoʻllanmada siz boshqa jadvaldagi qiymatlar asosida jadvaldagi maʼlumotlarni yangilash uchun PostgreSQL UPDATE
qoʻshilish sintaksisidan qanday foydalanishni oʻrganasiz.
Baʼzan jadvaldagi maʼlumotlarni boshqa jadvaldagi qiymatlar asosida yangilashingiz kerak boʻladi. Bunday holda siz PostgreSQL UPDATE
qo'shilish sintaksisidan quyidagi tarzda foydalanishingiz mumkin:
UPDATE
bayonida boshqa jadvalga qoʻshilish uchun siz FROM
bandida birlashtirilgan jadvalni belgilaysiz va WHERE
bandida birlashma shartini taqdim etasiz. FROM
bandi SET
bandidan keyin darhol paydo bo'lishi kerak.
t1
jadvalining har bir qatori uchun UPDATE
operatori t2
jadvalining har bir qatorini tekshiradi. Agar t1
jadvalining c2
ustunidagi qiymat t2
jadvalining c2
ustunidagi qiymatga teng bo'lsa, UPDATE
operatori t1
jadvalining c1
ustunidagi qiymatni yangi qiymatni (new_value
) yangilaydi.
Keling, PostgreSQL UPDATE
qo'shilishi qanday ishlashini tushunish uchun misolni ko'rib chiqaylik. Namoyish uchun quyidagi ma'lumotlar bazasi jadvallaridan foydalanamiz:
Birinchidan, mahsulot segmentlarini, jumladan, katta hashamat, hashamat va massani saqlaydigan product_segment
deb nomlangan yangi jadval yarating.
product_segment
jadvalida discount
ustuni mavjud boʻlib, unda maʼlum segmentga asoslangan chegirma foizi saqlanadi. Misol uchun, grand luxury segmentiga ega mahsulotlar 5%
chegirmaga ega, hashamatli va ommaviy mahsulotlar mos ravishda 6%
va 10%
chegirmalarga ega.
Ikkinchidan, mahsulot ma'lumotlarini saqlaydigan product
nomli boshqa jadval yarating. product
jadvalida segmentlar jadvalining id
iga bog'langan segment_id
tashqi kalit ustuni mavjud.
Uchinchidan, har bir mahsulotning sof narxini mahsulot segmentidagi chegirma asosida hisoblashingiz kerak, deylik. Buning uchun siz UPDATE
qo'shilish bayonotini quyidagicha qo'llashingiz mumkin:
So'rovni quyidagicha qisqartirish uchun jadval taxalluslaridan foydalanishingiz mumkin:
Ushbu bayonot product
jadvalini product_segment
jadvaliga birlashtiradi. Ikkala jadvalda ham mos keladigan bo'lsa, product_segment
jadvalidan chegirma oladi, quyidagi formula asosida sof narxni hisoblab chiqadi va net_price
ustunini yangilaydi.
Quyidagi SELECT
bayonoti yangilanishni tekshirish uchun product
jadvali ma'lumotlarini oladi:
Ko'rib turganingizdek, net_price
ustuni to'g'ri qiymatlar bilan yangilangan.
Ushbu qo'llanmada siz boshqa jadvaldagi qiymatlar asosida jadvaldagi ma'lumotlarni yangilash uchun PostgreSQL UPDATE
qo'shilish bayonotidan qanday foydalanishni o'rgandingiz.