JOINలు సంబంధిత నిలువ వరుసల ఆధారంగా బహుళ పట్టికల నుండి వరుసలను సంయోজించాయి — సంబంధిత డేటా పట్టికల అంతటా వ్యాపించిన విచారణకు ముఖ్యమైనది. join type నిర్థారణ చేస్తుంది ఏ వరుసలు ఉంచబడతాయో ఎటువంటి సరిపోలిక లేనప్పుడు.
సెటప్
-- two related tables: users and their orders (orders.user_id → users.id)
SELECT users.name, orders.total
FROM users
JOIN orders ON users.id = orders.user_id; -- combine on the relationship
ON నిబంధన పట్టికలు ఎలా సంబంధం కలిగి ఉన్నాయో నిర్దేశిస్తుంది (విదేశీ కీని ప్రాథమిక కీకు సరిపోల్చడం). join type నియంత్రిస్తుంది వరుసలకు ఏమి జరుగుతుంది ఇది don't సరిపోలిక.
నాలుగు join రకాలు
INNER JOIN → only rows that MATCH in BOTH tables (the intersection)
users WITH orders only — users with no orders are excluded
LEFT JOIN → ALL rows from the LEFT table + matches from the right (NULL if no match)
ALL users, with their orders (or NULL for users with no orders)
RIGHT JOIN → ALL rows from the RIGHT table + matches from the left (NULL if no match)
ALL orders, with their user (mirror of LEFT)
FULL JOIN → ALL rows from BOTH tables (matched where possible, NULL where not)
-- INNER — only users who have orders
SELECT u.name, o.total FROM users u INNER JOIN orders o ON u.id = o.user_id;
-- LEFT — ALL users, even those with no orders (o.total is NULL for them)
SELECT u.name, o.total FROM users u LEFT JOIN orders o ON u.id = o.user_id;
సాధారణ ఉపయోగం: NO సరిపోలిక కలిగిన వరుసలను కనుగొనండి
-- LEFT JOIN + IS NULL → users who have NEVER ordered
SELECT u.name
FROM users u
LEFT JOIN orders o ON u.id = o.user_id
WHERE o.id IS NULL; -- no matching order → o.id is NULL
LEFT JOIN + IS NULL నమూనా ఒక పట్టికలో ఎటువంటి సంబంధిత వరుస లేని వరుసలను కనుగొంటుంది — చాలా సాధారణ, ఉపయోగకరమైన సాంకేతికత.
విజువల్ సారాంశం
INNER → A ∩ B (matches only)
LEFT → all A + matching B
RIGHT → all B + matching A
FULL → all A + all B
ఎందుకు ఇది ముఖ్యమైనది
JOINలు సంబంధిత డేటాబేస్కు ప్రాథమికమైనవి — డేటా ఉద్దేశ్యపూర్వకంగా సంబంధిత పట్టికల (users, orders, products) అంతటా విభజించబడుతుంది, మరియు JOINలు విచారణలలో ఆ సంబంధిత డేటాను సంయోజించే విధానం, కాబట్టి వాటిని అర్థం చేసుకోవడం ఆచరణీయంగా ఏదైనా అతిచిన్న డేటాబేస్ పని కోసం అవసరం.
నాలుగు join రకాలు మరియు సరిపోలని వరుసలతో ఏమి చేస్తాయో అర్థం చేసుకోవడం కీ నైపుణ్యం: INNER JOIN (సరిపోలిన వరుసలు మాత్రమే — చాలా సాధారణ), LEFT JOIN (ఎడమ పట్టిక నుండి అన్ని వరుసలు, సరిపోలని సందర్భాలలో NULLలు — సరిపోలిక సంబంధం లేకుండా అన్ని రికార్డ్లు కావలసినప్పుడు కీలకమైనది), RIGHT JOIN (ఆईన), మరియు FULL JOIN (రెండు నుండి అన్ని వరుసలు).
సరైన join రకాన్ని ఎంచుకోవడం లోబడి ఉంటుంది మీ ఫలితాలకు — INNER ఉపయోగించడం మీరు LEFT అర్థం చేసినప్పుడు నిశ్శబ్దంగా వరుసలను తీసివేస్తుంది (సాధారణ బగ్), కాబట్టి వ్యత్యాసాన్ని అర్థం చేసుకోవడం ఖచ్చితత్వం కోసం ముఖ్యమైనది.
LEFT JOIN + IS NULL నమూనా (ఒక పట్టికలో సరిపోలిక లేని వరుసలను కనుగొనడం — కొన్నిసార్లు ఎప్పుడూ ఆర్డర్ చేయని వినియోగదారులలా) ఒక ప్రత్యేకంగా ఉపయోగకరమైన, సాధారణ సాంకేతికత విలువైన తెలుసుకోవడానికి.
సంబంధిత డేటా పట్టికల అంతటా విభజించబడినందున మరియు JOINలు దానిని కలిసి విచారించడానికి ప్రాధమిక విధానం, మరియు join type విమర్శకంగా ఫలితాలలో ఏ వరుసలు కనిపిస్తాయో ప్రభావితం చేస్తుంది, JOINలను నేర్చుకోవడం — నాలుగు రకాలు, సరిపోలని సందర్భాలతో వాటి ప్రవర్తన, మరియు anti-joinల వంటి నమూనాలు — SQL కోసం ముఖ్య, క్రమం తరచుగా-అర్థం జ్ఞానం మరియు అత్యంత ముఖ్యమైన మరియు సాధారణంగా-పరీక్షించిన డేటాబేస్ భావనలలో ఒకటి.
