పట్టిక చేరడం లేదా పట్టిక విలీనం అనేది రిలేషనల్ డేటాబేస్ల యొక్క ప్రసిద్ధ లక్షణం మరియు ఇది చాలా శక్తివంతమైనది. ఇది మరింత పొందికైన మరియు అర్థవంతమైన డేటా అంతర్దృష్టులను సృష్టించడానికి బహుళ మూలాల నుండి సమాచారాన్ని ఏకీకృతం చేయడానికి మమ్మల్ని అనుమతిస్తుంది. ఇది రిలేషనల్ డేటాబేస్లను అత్యంత స్కేలబుల్గా (ఫ్లెక్సిబుల్ కాదు) అనుమతిస్తుంది, ఎందుకంటే మేము డేటాను చిన్న, నిర్వహించదగిన భాగాలుగా విభజించవచ్చు, వీటిని మనం తర్వాత ప్రస్తావించవచ్చు.
ఈ ట్యుటోరియల్లో, మేము టేబుల్ జాయిన్లు లేదా టేబుల్ మెర్జ్ యొక్క ప్రాథమికాలను కవర్ చేస్తాము. మన జ్ఞానాన్ని పటిష్టం చేయడానికి వాస్తవ ప్రపంచ పట్టిక నమూనాలను చూద్దాం.
నమూనా పట్టిక
మనం టేబుల్ జాయిన్ల ప్రపంచంలోకి వెళ్ళే ముందు, మేము ప్రదర్శన ప్రయోజనాల కోసం ఉపయోగించే ప్రాథమిక పట్టికలను సెటప్ చేద్దాం.
కింది ఉదాహరణ ప్రశ్నలలో చూపిన విధంగా ఉద్యోగులు మరియు జీతం సమాచారాన్ని కలిగి ఉన్న రెండు పట్టికలను పరిగణించండి:
టేబుల్ ఉద్యోగులను సృష్టించండి (
Employee_id INT AUTO_INCREMENT ప్రైమరీ కీ,
మొదటి_పేరు VARCHAR( యాభై ),
చివరి_పేరు VARCHAR( యాభై ),
శాఖ VARCHAR( యాభై )
);
కింది ప్రశ్నలలో చూపిన విధంగా మేము నమూనా డేటాను ఉద్యోగి పట్టికలో చేర్చవచ్చు:
ఉద్యోగులను ఇన్సర్ట్ చేయండి (మొదటి_పేరు, చివరి_పేరు, విభాగం) VALUES
( 'ఆలిస్' , 'స్మిత్' , 'మానవ వనరులు' ),
( 'బాబ్' , 'జాన్సన్' , 'మార్కెటింగ్' ),
( 'చార్లీ' , 'విల్సన్' , 'ఫైనాన్స్' ),
( 'డేవిడ్' , 'బ్రౌన్' , 'అమ్మకాలు' ),
( 'ఎవా' , 'డేవిస్' , 'ఇంజనీరింగ్' );
మేము కొనసాగి, జీతం సమాచారాన్ని ఈ క్రింది విధంగా నిల్వ చేయడానికి కొత్త పట్టికను రూపొందిద్దాం:
టేబుల్ జీతాలను సృష్టించండి (జీతం_ఐడి INT AUTO_INCREMENT ప్రైమరీ కీ,
ఉద్యోగి_ID INT,
జీతం దశాంశ( 10 , 2 ),
ప్రారంభ_తేదీ DATE,
ముగింపు_తేదీ DATE,
విదేశీ కీ (ఉద్యోగి_ఐడి) రిఫరెన్సెస్ ఉద్యోగులు(ఉద్యోగి_ఐడి)
);
ఈ క్రింది విధంగా పట్టికలో ఇన్సర్ట్ నమూనా డేటాను జోడించండి:
వేతనాలలోకి చొప్పించండి (ఉద్యోగి_ఐడి, జీతం, ప్రారంభ_తేదీ, ముగింపు_తేదీ) VALUES
( 1 , 60000.00 , '2023-01-01' , '2023-12-31' ),
( 2 , 55000.00 , '2023-01-01' , '2023-12-31' ),
( 3 , 65000.00 , '2023-01-01' , '2023-12-31' ),
( 4 , 58000.00 , '2023-01-01' , '2023-12-31' ),
( 5 , 70000.00 , '2023-01-01' , '2023-12-31' );
ఇది SQLలో పట్టిక చేరడం/విలీనం అనే భావనను ప్రదర్శించడంలో మాకు సహాయపడే రెండు పట్టికలను అందించాలి.
SQL టేబుల్ మెర్జ్/టేబుల్ చేరింది
మనం చేయగల వివిధ రకాల పట్టిక విలీనాలను అన్వేషిద్దాం. మేము మరింత అధునాతనమైన వాటికి పురోగమిస్తున్నప్పుడు మేము ప్రాథమికమైన వాటిని కవర్ చేస్తాము.
లోపలి చేరండి
SQLలో చేరిన మొదటి మరియు అత్యంత సాధారణ రకం టేబుల్ ఇన్నర్ జాయిన్. ఒక INNER JOIN ఒక నిర్దిష్ట షరతు ఆధారంగా రెండు పట్టికల నుండి అడ్డు వరుసలను కలపడానికి అనుమతిస్తుంది. ఈ రకం పట్టికల మధ్య సరిపోలిక ఉన్న అడ్డు వరుసలను మాత్రమే అందిస్తుంది.
మనం ఇంతకు ముందు సృష్టించిన 'ఉద్యోగులు' మరియు 'జీతాలు' పట్టికలను ఉదాహరణలుగా తీసుకుందాం. SQLలో INNER JOINని నిర్వహించడానికి, మేము ఈ క్రింది విధంగా INNER JOIN నిబంధనను ఉపయోగిస్తాము:
ఎంచుకోండిఇ.ఉద్యోగి_ఐడి,
ఇ.మొదటి_పేరు,
ఇ.చివరి_పేరు,
ఇ.డిపార్ట్మెంట్,
s.జీతం
నుండి
ఉద్యోగులు ఇ
INNER JOIN జీతాలు రు పై
e.employee_id = s.employee_id;
ఇవ్వబడిన ఉదాహరణ ప్రశ్నలో, మేము రెండు టేబుల్లలో ఉన్న 'ఉద్యోగులు' మరియు 'జీతాలు' పట్టికలను 'ఉద్యోగి_id' నిలువు వరుసలో విలీనం చేయడానికి INNER JOINని ఉపయోగిస్తాము. ఫలిత సెట్ రెండు పట్టికల నుండి సరిపోలే అడ్డు వరుసలను మాత్రమే కలిగి ఉంటుంది.
ఒక ఉదాహరణ అవుట్పుట్ క్రింది విధంగా ఉంది:
ఎడమవైపు చేరండి
ఎడమవైపు ఉన్న పట్టిక నుండి అన్ని అడ్డు వరుసలను మరియు కుడి పట్టిక నుండి సరిపోలే అడ్డు వరుసలను మిళితం చేసే ఎడమ ఔటర్ జాయిన్ కూడా మాకు ఉంది. కుడి పట్టికలో సరిపోలిక లేనట్లయితే, చేరడం NULL విలువను ఉపయోగిస్తుంది.
ఎంచుకోండిఇ.ఉద్యోగి_ఐడి,
ఇ.మొదటి_పేరు,
ఇ.చివరి_పేరు,
ఇ.డిపార్ట్మెంట్,
s.జీతం
నుండి
ఉద్యోగులు ఇ
LEFT JOIN జీతాలు రు
పై
e.employee_id = s.employee_id;
ఈ ఉదాహరణలో, 'ఉద్యోగులు' మరియు 'జీతాలు' పట్టికలను విలీనం చేయడానికి మేము ఎడమ వెలుపల చేరండి. 'ఉద్యోగుల' పట్టిక నుండి అన్ని అడ్డు వరుసలు చేర్చబడ్డాయి మరియు 'జీతాలు' పట్టిక నుండి సరిపోలే వరుసలు జోడించబడతాయి. అయితే, NULL విలువలు సరిపోలని అడ్డు వరుసల కోసం 'జీతం' నిలువు వరుసలో చేర్చబడ్డాయి.
SQL UNION
SQLలో పట్టికలలో చేరడానికి మరొక పద్ధతి UNION ఆపరేటర్ని ఉపయోగించడం. ఈ ఆపరేటర్ రెండు లేదా అంతకంటే ఎక్కువ ఎంపిక చేసిన స్టేట్మెంట్ల ఫలితాలను ఒకే ఫలితాల సెట్లో కలపడానికి అనుమతిస్తుంది.
యూనియన్ వర్తించాలంటే ప్రతి SELECT స్టేట్మెంట్లోని నిలువు వరుసలు తప్పనిసరిగా ఒకే రకమైన డేటాను కలిగి ఉండాలి.
ఒక ఉదాహరణ క్రింది విధంగా ఉంది:
ఉద్యోగి_ఐడి, మొదటి_పేరు, చివరి_పేరు, డిపార్ట్మెంట్, జీతం శూన్యంగా ఎంచుకోండిఉద్యోగుల నుండి ఇ
యూనియన్
ఉద్యోగి_ఐడిని ఎంచుకోండి , మొదటి_పేరు వలె NULL , చివరి_పేరు వలె NULL , NULL AS విభాగం , జీతం
జీతాల నుండి ;
ఈ సందర్భంలో, ఒక UNION 'ఉద్యోగులు' మరియు 'జీతాలు' పట్టికలను విలీనం చేస్తుంది. రెండు పట్టికలు ఒకే సంఖ్యలో నిలువు వరుసలను కలిగి ఉన్నాయని నిర్ధారించుకోవడానికి మేము ప్రతి SELECT స్టేట్మెంట్లో NULL నిలువు వరుసలను సృష్టిస్తాము.
UNIONS సాంకేతికంగా సాధారణం కానీ మీరు వివిధ నిర్మాణాలతో పట్టికలను విలీనం చేయవలసి వచ్చినప్పుడు ప్రత్యేకంగా ఉపయోగపడతాయి.
ముగింపు
ఈ ట్యుటోరియల్లో, మేము రెండు పట్టికలను ఒకే ఫలితాల సెట్లో చేర్చడం/విలీనం చేయడం యొక్క ప్రాథమికాలను అన్వేషించాము. ఈ పోస్ట్లో చర్చించబడిన మరిన్ని అధునాతన చేరికలు ఉన్నాయని గుర్తుంచుకోవడం మంచిది.