SQL ఔటర్ చేరండి

Sql Autar Cerandi



రిలేషనల్ డేటాబేస్‌ల యొక్క అత్యంత గుర్తించదగిన లక్షణాలలో చేరడం ఒకటి అని చెప్పనవసరం లేదు. ఒక పొందికైన డేటా ఆపరేషన్‌ని రూపొందించడానికి సంబంధిత షరతు ఆధారంగా ఒకటి లేదా అంతకంటే ఎక్కువ పట్టికల నుండి డేటాను కలపడానికి చేరికలు మమ్మల్ని అనుమతిస్తాయి.

SQLలో వివిధ రకాల చేరికలు ఉన్నాయి, ప్రతి ఒక్కటి భాగస్వామ్య పట్టికలు లేదా ఫలిత సెట్ నుండి డేటాను ఎలా హ్యాండిల్ చేస్తుందనే దాని యొక్క ప్రత్యేక మార్గం. SQLలో అత్యంత సాధారణమైన చేరికలలో ఒకటి OUTER JOIN.







SQLలో ఒక OUTER JOIN ప్రమేయం ఉన్న పట్టికల నుండి సరిపోలిన అన్ని అడ్డు వరుసలను అలాగే ఒకటి లేదా రెండు పట్టికల నుండి సరిపోలని అడ్డు వరుసలను తిరిగి పొందుతుంది. మీరు NULL విలువలు లేదా తప్పిపోయిన సెట్‌లను కలిగి ఉన్న పట్టికలతో వ్యవహరిస్తున్నప్పుడు ఇది ఉపయోగపడుతుంది.



ఈ జాయిన్‌లు ఏమి చేస్తాయో, అవి ఎలా పని చేస్తాయి మరియు వాటిని SQL డేటాబేస్‌లో ఎలా ఉపయోగించవచ్చో మరింత విశ్లేషిద్దాం.



అవసరాలు:

ఈ ట్యుటోరియల్ కోసం, మేము MySQL 8.0తో పని చేస్తాము మరియు సకిలా నమూనా డేటాబేస్‌ని ఉపయోగిస్తాము. అయితే, మీరు వర్తించే ఏదైనా ఇతర డేటాసెట్‌ని ఉపయోగించడానికి సంకోచించకండి.





ఔటర్ చేరికల రకాలు

SQLలో మూడు ప్రధాన రకాల OUTER JOINS ఉన్నాయి. ఈ రకమైన OUTER JOINSలో ఇవి ఉన్నాయి:

  1. ఎడమ OUTER JOINS

  2. ఎడమ వెలుపలి జాయిన్స్ విషయంలో, జాయిన్ ఎడమ పట్టిక నుండి అన్ని అడ్డు వరుసలను మరియు కుడి పట్టిక నుండి సరిపోలే అడ్డు వరుసలను మాత్రమే తిరిగి పొందుతుంది. కుడి పట్టిక నుండి సరిపోలే అడ్డు వరుసలు లేకుంటే, జాయిన్ కుడి పట్టికలోని నిలువు వరుసల కోసం NULL విలువలను అందిస్తుంది.



  3. కుడి ఔటర్ జాయిన్స్

  4. ఇది కుడి వెలుపలి చేరికను పోలి ఉంటుంది. అయినప్పటికీ, ఇది కుడి పట్టిక నుండి అన్ని అడ్డు వరుసలను తిరిగి పొందుతుంది కానీ ఎడమ పట్టిక నుండి సరిపోలే అడ్డు వరుసలను మాత్రమే పొందుతుంది. ఎడమ పట్టిక నుండి సరిపోలే అడ్డు వరుసలు లేకుంటే, చేరడం అనేది ఎడమ పట్టికలోని నిలువు వరుసల కోసం NULL విలువలను కలిగి ఉంటుంది.

  5. పూర్తి బాహ్య చేరికలు

  6. చివరగా, మనకు పూర్తి బాహ్య జాయిన్‌లు ఉన్నాయి. ఈ రకమైన చేరిక కుడి మరియు ఎడమ బాహ్య బంధాలను మిళితం చేస్తుంది. ఫలితంగా, ఎడమ లేదా కుడి పట్టికలో సరిపోలిక ఉన్నప్పుడు చేరడం అన్ని అడ్డు వరుసలను తిరిగి పొందుతుంది. సరిపోలిక లేనట్లయితే, చేరడం అనేది పట్టిక నుండి నిలువు వరుసల కోసం NULL విలువలను సరిపోలిక లేకుండా అందిస్తుంది.

SQL OUTER JOIN యొక్క సింటాక్స్

కిందిది SQL OUTER JOIN యొక్క వాక్యనిర్మాణాన్ని వ్యక్తపరుస్తుంది. అయితే లక్ష్య డేటాబేస్ ఇంజిన్‌పై ఆధారపడి వాక్యనిర్మాణం కొద్దిగా మారవచ్చని గుర్తుంచుకోవడం మంచిది.

కిందిది సాధారణ నిర్మాణం:

నిలువు వరుసలను ఎంచుకోండి
టేబుల్ 1 నుండి
[ఎడమ | కుడి | పూర్తి] ఔటర్ జాయిన్ టేబుల్2
ON table1.column_name = table2.column_name;

SQLలో OUTER JOIN యొక్క సింటాక్స్ చాలా స్వీయ-వివరణాత్మకమైనది.

ఉదాహరణలు:

SQLలో వివిధ రకాల OUTER JOINSని ఎలా అన్వయించవచ్చో కొన్ని నమూనా వినియోగాన్ని చూద్దాం.

మేము చెప్పినట్లుగా, మేము ప్రదర్శన కోసం సకిలా నమూనా డేటాబేస్ను ఉపయోగిస్తాము. ఈ సందర్భంలో, మేము 'కస్టమర్' మరియు 'చెల్లింపు' పట్టికలను ఉపయోగిస్తాము.

ఉదాహరణ 1: ఎడమ వెలుపల చేరండి

మనం OUTER JOINతో ప్రారంభిద్దాం. అందుబాటులో ఉన్నట్లయితే, మేము వారి చెల్లింపు సమాచారంతో పాటు మొత్తం కస్టమర్ సమాచారాన్ని తిరిగి పొందాలనుకుంటున్నాము.

మేము మొత్తం కస్టమర్ సమాచారం (ఎడమవైపు) మరియు చెల్లింపు సమాచారం అందుబాటులో ఉంటే (కుడివైపు) ఉన్నందున ఇది ఎడమ వెలుపల చేరడం వర్తించేలా చేస్తుంది.

కస్టమర్ ఎటువంటి చెల్లింపు చేయనట్లయితే, చేరడం చెల్లింపు సంబంధిత నిలువు వరుసల కోసం NULL విలువలను చూపుతుంది.

ఒక ఉదాహరణ క్రింది విధంగా ఉంది:

ఎంచుకోండి
c.customer_id,
c.మొదటి_పేరు,
c.చివరి_పేరు,
p.మొత్తం,
పే.చెల్లింపు_తేదీ
నుండి
కస్టమర్ సి
లెఫ్ట్ ఔటర్ జాయిన్ పేమెంట్ p
పై
c.customer_id = p.customer_id;

ఇచ్చిన ప్రశ్నలో, మేము 'కస్టమర్' టేబుల్ నుండి 'కస్టమర్_ఐడి', 'మొదటి_పేరు' మరియు 'చివరి_పేరు' నిలువు వరుసలను చేర్చాము. మేము 'చెల్లింపు' పట్టిక నుండి మొత్తం మరియు 'చెల్లింపు_తేదీ'ని కూడా చేర్చుతాము.

మేము 'కస్టమర్_ఐడి' ఆధారంగా 'కస్టమర్' మరియు 'చెల్లింపు' పట్టికల మధ్య ఎడమ వెలుపల చేరండి.

వీరంతా కస్టమర్‌లు (చెల్లింపు చేసినా చేయకపోయినా) వారి చెల్లింపు వివరాలతో పాటు (ఏదైనా ఉంటే).

ఉదాహరణ అవుట్‌పుట్ క్రింది విధంగా ఉంది:

ఉదాహరణ 2: కుడి వెలుపల చేరండి

ఇప్పుడు, కుడి వెలుపలి చేరికకు వెళ్దాం. మేము మొత్తం చెల్లింపు సమాచారాన్ని మరియు ఈ సందర్భంలో అనుబంధిత కస్టమర్‌ను చేర్చాలనుకుంటున్నాము, ఏదైనా ఉంటే.

ఈ సందర్భంలో, కస్టమర్ ద్వారా చెల్లింపు జరిగితే, జాయిన్ ఆ కస్టమర్ వివరాలను ప్రదర్శిస్తుంది. అనుబంధిత కస్టమర్ లేకుండా చెల్లింపు ఉంటే, అది కస్టమర్-సంబంధిత నిలువు వరుసల కోసం NULL విలువలను చూపుతుంది.

ఎంచుకోండి
c.customer_id,
c.మొదటి_పేరు,
c.చివరి_పేరు,
p.మొత్తం,
పే.చెల్లింపు_తేదీ
నుండి
కస్టమర్ సి
కుడి వెలుపలి చేరండి చెల్లింపు p
పై
c.customer_id = p.customer_id;

ఫలిత సెట్ క్రింది విధంగా ఉంది:

ఉదాహరణ 3: పూర్తి వెలుపల చేరడం

పూర్తి అవుట్ జాయిన్, మరోవైపు, మొత్తం కస్టమర్ సమాచారం మరియు చెల్లింపును తిరిగి పొందుతుంది. ఇది అన్ని కస్టమర్‌లు మరియు అన్ని చెల్లింపులను కలిగి ఉంటుంది మరియు పట్టికల మధ్య సరిపోలిక లేని NULL విలువలను చూపుతుంది.

ఎంచుకోండి
c.customer_id,
c.మొదటి_పేరు,
c.చివరి_పేరు,
p.మొత్తం,
పే.చెల్లింపు_తేదీ
నుండి
కస్టమర్ సి
పూర్తి అవుట్ జాయిన్ చెల్లింపు p
పై
c.customer_id = p.customer_id;

MySQL స్థానికంగా పూర్తి ఔటర్ జాయిన్‌కు మద్దతు ఇవ్వదని గుర్తుంచుకోవడం మంచిది. మీరు LEFT JOIN, UNION మరియు RIGHT JOINతో కొంత జియుజిట్సు మ్యాజిక్ చేయాలి. చాలా బాధించేది, మేము జోడించవచ్చు.

ముగింపు

ఈ ట్యుటోరియల్‌లో, మేము OUTER JOINS గురించి అన్నీ నేర్చుకున్నాము. మేము SQLలో OUTER JOIN అంటే ఏమిటి, OUTER JOINS రకాలు మరియు ఈ రకమైన OUTER JOINSని ఎలా ఉపయోగించాలో ఉదాహరణలను తెలుసుకున్నాము.