Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update README.md #40

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions database/postgresql/advance/join-lar/README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,23 @@
---
description: Muzaffar Nurillayev
---

# Join lar

JOIN'lar nima uchun kerak?

Relational database'larda ma'lumotlar jadvallarda saqlanadi. Ushbu jadvallarning har bir ustuni uchun aynan bitta tur belgilanadi va faqat o'sha turdagi ma'lumot saqlay olamiz. Lekin dasturlash tillarida bo'lgani kabi o'zimizning tipimizni yarata olmaymiz. Shunaqa paytlarda o'zaro bog'liq bo'lgan tipdagi ma'lumotlar boshqa boshqa jadvallarda saqlanadi va bunaqa paytda ularning o'zaro umumiy bo'lgan ustunlari orqali bog'liqlik yarata olamiz.

Misol uchun, bizda Order degan class'imiz bo'lsin va u Payment va OrderItem turlaridagi ma'lumotlarini o'z ichida saqlaydi. Lekin biz Order'larni saqlaydigan jadvalimizga to'g'ridan-to'g'ri Payment va OrderItem kabi murakkab turlarni ustunlarda saqlay olmaymiz. Ular uchun alohida jadval ochib ularning ma'lum bir ustuni bo'yicha bog'liqlik hosil qilamiz.

Keyinchalik bu jadvallarning hammasini ishtirok ettirib qanaqadir amal bajarmoqchi bo'lsak ularni unikal bitta jadvalga jamlash kerak bo'ladi. Aynan shunaqa vaziyatlarda, ya'ni bitta so'rov orqali bir nechta jadvallardan ma'lumot olish, ularni jamlab qanaqadir statistika yaratish uchun JOIN'lar kerak bo'ladi.

JOIN turlari.
PostgresSQLda 5 xil join turlari bor:

* CROSS JOIN.
* INNER JOIN.
* LEFT JOIN.
* RIGHT JOIN.
* FULL JOIN.
Har bir JOIN turi bo'yicha quyida amaliy misollarda o'rganishingiz mumkin.