ఎస్క్యూఎల్ జాయిన్

SQL join ద్వారా రెండు లేదా మరిన్ని పట్టికలలో వరుసల మధ్య సంబంధాన్ని ఆధారంగా డేటాను కోరవచ్చు.

Join మరియు Key

పూర్తి ఫలితాలను పొందడానికి, రెండు లేదా మరిన్ని పట్టికల నుండి ఫలితాలను పొందడానికి మాకు join చేయాలి.

డేటాబేస్ పట్టికలను కీలు ద్వారా పరస్పరం జోడించవచ్చు. ప్రధాన కీ (Primary Key) ఒక వరుస ఉంది, ఈ వరుసలో ప్రతి పంక్తిలో విలువ ప్రతిపాదించబడుతుంది. పట్టికలో ప్రతి ప్రధాన కీ విలువ ప్రత్యేకంగా ఉంటుంది. ఈ పద్ధతి ద్వారా, ప్రతి పట్టికలో అన్ని డేటాను పునరావృతం చేయకుండా, పట్టికల మధ్య డేటాను జోడించవచ్చు.

మరింత చూడండి, "Persons" పట్టిక:

Id_P LastName FirstName చిరునామా సిటీ
1 అడమ్స్ జాన్ ఆక్స్ఫర్డ్ స్ట్రీట్ లండన్
2 బుష్ జార్జ్ ఫిఫ్త్ ఏవెన్యూ న్యూయార్క్
3 కార్టర్ థామస్ చాంగ్యాన్ స్ట్రీట్ బీజింగ్

మీరు గమనించండి, "Id_P" వరుస "Persons" పట్టికలో ప్రధాన కీ ఉంది. ఇది అర్థం కాకుండా, రెండు వ్యక్తులు అదే పేరును కలిగి ఉన్నప్పటికీ, Id_P వారిని వేరుచేస్తుంది.

మరింత చూడండి, "Orders" పట్టిక:

Id_O OrderNo Id_P
1 77895 3
2 44678 3
3 22456 1
4 24562 1
5 34764 65

మీరు గమనించండి, "Id_O" వరుస ఆర్డర్స్ పట్టికలో ప్రధాన కీ ఉంది, మరియు "Orders" పట్టికలో "Id_P" వరుస "Persons" పట్టికలో వ్యక్తులను సూచించడానికి ఉపయోగిస్తారు, వారి వాస్తవ పేరును వాడకుండా.

గమనించండి, "Id_P" అనే కలం పైన ఇరవై పట్టికలను సంబంధింపచేస్తుంది.

రెండు పట్టికల ఉపయోగం

రెండు పట్టికలను పరిగణనలోకి తీసుకుని మీరు రెండు పట్టికల నుండి కంటెంట్ పొందవచ్చు:

ఏవరు ఉత్పత్తులను కొనుగోలు చేసినా మరియు వారు ఏ ఉత్పత్తులను కొనుగోలు చేసారు?

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons, Orders
WHERE Persons.Id_P = Orders.Id_P 

ఫలితం కంటెంట్:

LastName FirstName OrderNo
అడమ్స్ జాన్ 22456
అడమ్స్ జాన్ 24562
కార్టర్ థామస్ 77895
కార్టర్ థామస్ 44678

SQL JOIN - JOIN ఉపయోగం

పైన మార్గం కన్నా, మేము JOIN కీలక పదాన్ని ఉపయోగించవచ్చు కూడా.

మేము అన్ని వ్యక్తుల ఆర్డర్లను జాబితాబడించడానికి క్రింది SELECT సంకేతాన్ని ఉపయోగించవచ్చు:

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
INNER JOIN Orders
ON Persons.Id_P = Orders.Id_P
ORDER BY Persons.LastName

ఫలితం కంటెంట్:

LastName FirstName OrderNo
అడమ్స్ జాన్ 22456
అడమ్స్ జాన్ 24562
కార్టర్ థామస్ 77895
కార్టర్ థామస్ 44678

వివిధ SQL JOIN

మేము ముందుగా ఉపయోగించిన INNER JOIN (లోపల జంజిరు) కన్నా, ఇతర రకాల జంజిరులను కూడా ఉపయోగించవచ్చు.

మీరు ఉపయోగించవచ్చున్న JOIN రకాలను మరియు వాటి మధ్య వ్యత్యాసాలను క్రింద జాబితా చేయబడింది.

  • JOIN: పట్టికల్లో కనీసం ఒక మేళ ఉంటే పరిణామాలను తిరిగి ఇవ్వబడుతుంది
  • LEFT JOIN: ఎడమ పట్టికలో మేళ లేకపోయినా ఎడమ పట్టికలో ఉన్న అన్ని పరిణామాలను తిరిగి ఇవ్వబడుతుంది
  • RIGHT JOIN: ఎటువంటి మేళ లేకపోయినా ఎడమ పట్టికలో ఉన్న అన్ని పరిణామాలను తిరిగి ఇవ్వబడుతుంది
  • FULL JOIN: కాస్త ఒక పట్టికలో మేళ ఉంటే పరిణామాలను తిరిగి ఇవ్వబడుతుంది