આંતરિક જોડાઓ અને બાહ્ય જોડાણો વચ્ચેના તફાવત

Anonim

ઇનર જોડાઓ બાહ્ય જોડાણો સાથે જોડાઓ

આંતરિક જોડાણો અને બાહ્ય જોડાણો ડેટાબેઝ માટે ક્વેરી પ્રોસેસિંગમાં ઉપયોગમાં લેવાતા એસક્યુએલ જોડણી પદ્ધતિઓમાંથી બે છે. તેઓ જોડાણોના પરિવારના છે (અન્ય બે ડાબી અને જમણી જોડાય છે). જો કે, એક સ્વયં જોડણી છે જેનો વિશિષ્ટ પરિસ્થિતિઓ માટે ઉપયોગ કરી શકાય છે. જોડણીનો હેતુ એ બે કોષ્ટકોમાં સામાન્ય મૂલ્યોનો ઉપયોગ કરીને ક્ષેત્રોને જોડવાનું છે આ ડેટાબેઝમાં બહુવિધ કોષ્ટકોમાંથી રેકોર્ડને જોડે છે. તે પરિણામ સેટ્સ બનાવે છે, જે બીજા કોષ્ટક તરીકે સાચવી શકાય છે.

ઇનર જોડે શું છે?

સામાન્ય રીતે ઉપયોગમાં લેવાતા એસક્યુએલ એસએનએ ઓપરેશન એ ઇનરર જોડાય છે. તે એપ્લિકેશન્સમાં ઉપયોગમાં લેવાતા ડિફૉલ્ટ પ્રકાર તરીકે જોડાય છે. બે કોષ્ટકોને ભેગા કરવા માટે જોડીને-વિશિષ્ટ ઉપયોગ કરવા માટે આંતરિક ભાગમાં જોડો ધારો કે બે કોષ્ટકો એ અને બી છે, પછી જોડાવું-ધારી એ એ અને બી ની પંક્તિઓને સરખાવવા માટે જે તમામ જુસ્સાને સંતુષ્ટ કરશે તે શોધવા. પરિણામ બનાવવા માટે A અને B કોષ્ટકોની તમામ સંતુષ્ટ પંક્તિઓના કૉલમ મૂલ્યો ભેગા થાય છે. તે તમામ દસ્તાવેજોના પ્રથમ ક્રૉસ જોડાવા (કાર્ટેઝિયન પ્રોડક્ટ) લેતી વખતે જોવામાં આવે છે અને તે પછી માત્ર તે જ રેકોર્ડ્સ પરત કરી શકાય છે કે જે સંલગ્ન-વિશિષ્ટતાને સંતોષે છે. જો કે, વાસ્તવમાં, કાર્ટેઝિયન પ્રોડક્ટની ગણતરી કરવામાં આવી નથી કારણ કે તે ખૂબ જ બિનકાર્યક્ષમ છે. હેશ જોડાવા અથવા સૉર્ટ-મર્જ જોડાય છે, તેની જગ્યાએ.

બાહ્ય શું છે જોડાય છે?

વિપરીત, આંતરિક જોડાણો, બાહ્ય જોડાણો તમામ રેકોર્ડ્સ રાખે છે, જો તે મેચિંગ રેકોર્ડને શોધી શકતું ન હોય. તેનો મતલબ એ છે કે બાહ્ય જોડાણોને પરિણામમાં દેખાવા માટે એક મેળ ખાતા રેકોર્ડ શોધવા માટે રેકોર્ડની જરૂર નથી. તેના બદલે, તે તમામ રેકોર્ડ્સ પરત કરશે, પરંતુ મેળ ન ખાતા રેકોર્ડમાં નલ મૂલ્યો હશે બાહ્ય જોડાણો ત્રણ પેટા વર્ગોમાં વિભાજિત કરવામાં આવે છે. તેઓ બાહ્ય જોડાણો, જમણા બાહ્ય જોડાણો અને સંપૂર્ણ બાહ્ય જોડાણો બાકી છે. આ ભિન્નતા એ છે કે જેના પર ટેબલ (ડાબે કોષ્ટક, જમણા ટેબલ અથવા બંને કોષ્ટકો) પંક્તિ મેળવવામાં આવે છે જ્યારે મેળ ન ખાતા રેકોર્ડ મળે છે. ડાબા બાહ્ય જોડાણો (ફક્ત ડાબે જોડાણો તરીકે પણ ઓળખાય છે) ડાબી કોષ્ટકના તમામ રેકોર્ડ જાળવે છે. એનો અર્થ એ થાય કે, જો નંબર મેળ ખાતા રેકોર્ડ શૂન્ય છે, તો તે હજુ પણ પરિણામ કોષ્ટકમાં રેકોર્ડ ધરાવે છે, પરંતુ બી બધા કૉલમ માટે નલ મૂલ્યો હશે. બીજા શબ્દોમાં, ડાબી કોષ્ટકમાંથી તમામ મૂલ્યો મેળ ખાતી કિંમતોથી જમણી બાજુથી પરત કરવામાં આવે છે. કોષ્ટક (અથવા મેળ ન ખાતી વખતે નલ કિંમતો). જો ડાબા કોષ્ટકમાંથી બહુવિધ પંક્તિઓથી મૂલ્યને એક જ પંક્તિથી જમણી કોષ્ટકથી મેળ ખાતી હોય, તો જમણી કોષ્ટકની પંક્તિને આવશ્યકતા તરીકે પુનરાવર્તિત કરવામાં આવશે. જમણી બાહ્ય જોડાણો બાહ્ય બાહ્ય જોડાણો જેવું જ છે, પરંતુ કોષ્ટકોનો ઉપચાર આદરણીય છે. તેનો અર્થ એ કે પરિણામમાં મેળ ખાતી ડાબી કોષ્ટક મૂલ્યો (અને મેળ ન ખાતા જમણા મૂલ્યો માટે નલ મૂલ્યો) સાથે ઓછામાં ઓછા એક વખત યોગ્ય કોષ્ટકની બધી પંક્તિઓ હશે. સંપૂર્ણ બાહ્ય જોડાણો ડાબા અને જમણા બાહ્ય જોડાણો કરતાં વધુ વ્યાપક છે. તે બન્ને ડાબા અને જમણા બાહ્ય બંને સાથે મળીને જોડાયેલ અરજીની અસરને સંયોજનમાં પરિણમે છે.

ઇનર જોડો અને બાહ્ય જોડાણો વચ્ચે શું તફાવત છે?

ઇનર જોડે પરિણામમાં મેળ ન ખાતી પંક્તિઓ રાખતી નથી, પરંતુ બાહ્ય જોડાણોમાં ઓછામાં ઓછા એક કોષ્ટકમાંથી તમામ રેકોર્ડ્સ રાખવામાં આવશે (જે બાહ્ય જોડાણોનો ઉપયોગ કરવામાં આવ્યો છે તેના આધારે). તેથી, પરિણામ ટેબલમાં મેળ ન ખાતી પંક્તિઓ પર કોઈ માહિતી ન હોવાનું વર્તન અનિચ્છનીય છે, તમારે હંમેશા બાહ્ય જોડણીઓ (આંતરિક જોડાણોની જગ્યાએ) નો ઉપયોગ કરવાની જરૂર છે. જો કોઈ મેચ મળતી ન હોય તો આંતરિક જોડણી પરિણામ ઉત્પન્ન કરી શકશે નહીં. પરંતુ બાહ્ય જોડાણો હંમેશા પરિણામી ટેબલ ઉત્પન્ન કરશે, કોઈ બંધબેસતા પંક્તિઓ વગર પણ. આંતરિક જોડાણો હંમેશા કિંમતો સાથે કોષ્ટકો પરત કરશે (પરત જો) પરંતુ બાહ્ય જોડાણો નલ કિંમતો સાથે કોષ્ટકો પરિણમી શકે છે.