ఎస్క్యూఎల్ జాయిన్
- ముంది పేజీ SQL Aliases
- తరువాతి పేజీ SQL Inner Join
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: కాస్త ఒక పట్టికలో మేళ ఉంటే పరిణామాలను తిరిగి ఇవ్వబడుతుంది
- ముంది పేజీ SQL Aliases
- తరువాతి పేజీ SQL Inner Join