SQL-ലെ Joins
SQL joins രണ്ട് അല്ലെങ്കിൽ അതിലധികമോ ടേബിളുകളിൽ നിന്നുള്ള ഡാറ്റയെ സംയോജിപ്പിക്കുന്നു. അവയെ തമ്മിൽ ബന്ധിപ്പിക്കാൻ നിങ്ങൾ ഒരു റിലേറ്റഡ് കോളം (related column) ഉപയോഗിക്കുന്നു. ഇത് വ്യത്യസ്ത സ്ഥലങ്ങളിൽ സൂക്ഷിച്ചിരിക്കുന്ന വിവരങ്ങൾ ഒരേസമയം കാണാൻ നിങ്ങളെ സഹായിക്കുന്നു.
പ്രധാനപ്പെട്ട ജോയിൻ തരങ്ങൾ താഴെ പറയുന്നവയാണ്:
INNER JOIN രണ്ട് ടേബിളുകളിലും ഒരേ മൂല്യങ്ങളുള്ള (matching values) വരികൾ (rows) മാത്രമേ ഇത് നൽകുന്നുള്ളൂ. ഒരു ടേബിളിലെ വരിക്ക് മറ്റേ ടേബിളിൽ പൊരുത്തമുള്ള മൂല്യങ്ങൾ ഇല്ലെങ്കിൽ, അത് ഒഴിവാക്കപ്പെടും.
LEFT JOIN ഇടത് ടേബിളിലെ (left table) എല്ലാ വരികളും ഇത് നൽകുന്നു. അതോടൊപ്പം വലത് ടേബിളിലെ പൊരുത്തമുള്ള വരികളും ഇത് നൽകുന്നു. പൊരുത്തമുള്ള വരികൾ ഇല്ലെങ്കിൽ, വലത് വശത്ത് NULL എന്ന് കാണിക്കും.
RIGHT JOIN വലത് ടേബിളിലെ (right table) എല്ലാ വരികളും ഇത് നൽകുന്നു. അതോടൊപ്പം ഇടത് ടേബിളിലെ പൊരുത്തമുള്ള വരികളും ഇത് നൽകുന്നു. പൊരുത്തമുള്ള വരികൾ ഇല്ലെങ്കിൽ, ഇടത് വശത്ത് NULL എന്ന് കാണിക്കും.
FULL OUTER JOIN ഏതെങ്കിലും ഒരു ടേബിളിൽ പൊരുത്തമുള്ള വരികൾ ഉണ്ടെങ്കിൽ അവയെല്ലാം ഇത് നൽകുന്നു. ഇത് രണ്ട് വശങ്ങളിൽ നിന്നുമുള്ള എല്ലാ വിവരങ്ങളും കാണിക്കുന്നു. പൊരുത്തമില്ലാത്ത വരികൾ NULL ആയി കാണിക്കും.
CROSS JOIN ഒന്നാമത്തെ ടേബിളിലെ ഓരോ വരിയെയും രണ്ടാമത്തെ ടേബിളിലെ ഓരോ വരിയുമായും ഇത് സംയോജിപ്പിക്കുന്നു. ഉദാഹരണത്തിന്, നിങ്ങൾക്ക് 4 ജീവനക്കാരും 4 ഡിപ്പാർട്ട്മെന്റുകളും ഉണ്ടെങ്കിൽ, നിങ്ങൾക്ക് 16 വരികൾ ലഭിക്കും.
SELF JOIN ഒരു ടേബിളിനെ അതേ ടേബിളുമായി തന്നെ ഇത് ബന്ധിപ്പിക്കുന്നു. ഒരേ ടേബിളിനുള്ളിലെ വരികളെ തമ്മിൽ താരതമ്യം ചെയ്യാൻ ഇത് ഉപയോഗിക്കുന്നു. ഉദാഹരണത്തിന്, ഒരു ടേബിളിലെ ജീവനക്കാരനെ അവരുടെ മാനേജറുമായി ബന്ധിപ്പിക്കാൻ ഇത് ഉപയോഗിക്കാം.
Summary Guide:
• INNER JOIN: പൊരുത്തമുള്ള വരികൾ മാത്രം. • LEFT JOIN: ഇടത് വശത്തെ എല്ലാ വരികളും പൊരുത്തമുള്ളവയും. • RIGHT JOIN: വലത് വശത്തെ എല്ലാ വരികളും പൊരുത്തമുള്ളവയും. • FULL OUTER JOIN: രണ്ട് ടേബിളുകളിൽ നിന്നുമുള്ള എല്ലാ വരികളും. • CROSS JOIN: സാധ്യമായ എല്ലാ കോമ്പിനേഷനുകളും. • SELF JOIN: ഒരു ടേബിളിനെ അതേ ടേബിളുമായി തന്നെ ബന്ധിപ്പിക്കുന്നു.