මම කියලා දෙන්න යන්නෙ SQL JOIN QUERY ගැන, මේගැන හොඳටම දන්න අයත් ඇති, නොදන්න අයත් අතිකියල හිතුන නිසයි මෙහෙම POST එකක් දාන්න හිතුනෙ.
මේ පොස්ට් එකෙන් උබලට ගන්න දෙයක් තියේවි කියල විශ්වාස කරනවා.
SQL JOIN use වෙන්නෙ table දෙකක් හෝ ඊට වැඩි ගනනක rows එකට සම්බන්ද කිරීම සඳහායි.
එ කියන්නෙ අපි database එකක් හදනකොට අපිට අවශ්ය tables වෙන වෙනම තියාගන්නව Example එකක් විදිහට මෙහෙම හිතමු.
Orders Table
Customers Table
අපට තියනව Orders කියල table එකක්, තව අපට තියනව Customers කියල table එකක්, ok දැන් අපට ඕනි Customers ල දාන Orders ටික හොයගන්ඩ.
එතකොට කොහොමද අපි එක හොය ගන්නෙ? මොකද Orders තියෙන්නෙ එක table එකක,
Customers ල ඉන්නෙ තව එකක,ඔන්න මේවගේ අවස්තා වලදි තමයි අපට SQL JOIN ඕනි වෙන්නෙ.
හරි දැන් වැඩේට බහිමු.
SQL INNER JOIN
INNER JOIN එක තමයි SQL වලදී වැඩිපුරම use වෙන්නෙ. මේ JOIN එක use කරල අපට පුලුවන් condition එක TRUE වෙන අවස්තවල table දෙකක හෝ ඊට වැඩි ගනනක ඇති සියලුම ROWS return කරගන්න.
ok ... තෙරුනේ නැති අයට මේ example එක බැලුවහම තේරෙයි.
Example එකක් විදිහට මේ sql query එක ගමු.
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers
ON Orders.CustomerID=Customers.CustomerID;
මඤ්ඤන් වගේද?
ok මම කියලදෙන්නම්.
මෙහෙමයි.
හොඳට බලන්ඩ Orders Table එක, ඒ Table එකේ තියනව CustomerID කියල column එකක්. මෙන්න මේ CustomerID කියන්නෙ Orders Table එකේ foreign key එක, ඒවගේම එක Customers Table එක primary key එක.
Orders Table
Customers Table
හරි ඔන්න එතකොට අපේ කොල්ලන්ට ගැටළුවක් එනවා මොන මගුලක්ද මේ primary key එක foreign key එක කියන්නෙ කියල.
හරි ඉන්ඩකෝ එකත් කියල දෙන්ඩ...
මෙහෙමයි
PRIMARY KEY එක කියන්නෙ table එකක තියන ROWS uniquely identify කරගන්ඩ use කරන value එකක්. හරියට ඔයාගේ ID එකේ number එකවගේ ඒ number එක unique. හරි දැන් අනික.
FOREIGN KEY එක කියන්නෙ වෙනත් table එකක PRIMARY KEY එකක් කියන්ඩ පුළුවන්, හරියට මේවගේ මම ළඟ තියනව ඔයාගේ ID number එක, එකෙන් මට පුළුවන් වෙනවා ඔයාව අදුරගන්න. අපේ table දෙකට අනුවනම් Orders කියන table එකේ තියන CustomerID එකෙන් පුළුවන් ඊට අදාළ Customers table එකේ row එක හොයාගන්ඩ. හරි දැන් එ දෙකත් ok.
මම අයෙ පාඩමට එනව. අපි කියකියහිටියේ..
හොඳට බලන්ඩ Orders Table එක, ඒ Table එකේ තියනව CustomerID කියල column එකක්. මෙන්න මේ CustomerID කියන්නෙ Orders Table එකේ foreign key එක, ඒවගේම එක Customers Table එක primary key එක. එතකොට අපට පුළුවන් INNER JOIN එක බවිතකරලා Orders Table එකේ තියන CustomerID වලටත් Customers Table එකේ තියන CustomerID සමානවන records ටික ඔක්කොම return කරගන්ඩ.
අපේ query එකට අනුව මේවගේ result එකක්තමයි එන්නෙ.
Result
හරි සරලව ඕක තමයි SQL INNER JOIN කියන්නෙ.
SQL වල තවත් JOIN වර්ග කිහිපයක් තියනව එවතමයි..
INNER JOIN
LEFT JOIN
RIGHT JOIN
FULL JOIN
ඒවා ගැනත් කියල දෙන්නම් දවසක.
එහෙනම් කස්ටියටම ජයවේවා.....!!
මේ පොස්ට් එකෙන් උබලට ගන්න දෙයක් තියේවි කියල විශ්වාස කරනවා. SQL JOIN use වෙන්නෙ table දෙකක් හෝ ඊට වැඩි ගනනක rows එකට සම්බන්ද කිරීම සඳහායි.
එ කියන්නෙ අපි database එකක් හදනකොට අපිට අවශ්ය tables වෙන වෙනම තියාගන්නව Example එකක් විදිහට මෙහෙම හිතමු.
Orders Table
Customers Table
අපට තියනව Orders කියල table එකක්, තව අපට තියනව Customers කියල table එකක්, ok දැන් අපට ඕනි Customers ල දාන Orders ටික හොයගන්ඩ.
එතකොට කොහොමද අපි එක හොය ගන්නෙ? මොකද Orders තියෙන්නෙ එක table එකක,
Customers ල ඉන්නෙ තව එකක,ඔන්න මේවගේ අවස්තා වලදි තමයි අපට SQL JOIN ඕනි වෙන්නෙ.
හරි දැන් වැඩේට බහිමු.

SQL INNER JOIN
INNER JOIN එක තමයි SQL වලදී වැඩිපුරම use වෙන්නෙ. මේ JOIN එක use කරල අපට පුලුවන් condition එක TRUE වෙන අවස්තවල table දෙකක හෝ ඊට වැඩි ගනනක ඇති සියලුම ROWS return කරගන්න.
ok ... තෙරුනේ නැති අයට මේ example එක බැලුවහම තේරෙයි.
Example එකක් විදිහට මේ sql query එක ගමු.
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers
ON Orders.CustomerID=Customers.CustomerID;
මඤ්ඤන් වගේද?

ok මම කියලදෙන්නම්.

මෙහෙමයි.
හොඳට බලන්ඩ Orders Table එක, ඒ Table එකේ තියනව CustomerID කියල column එකක්. මෙන්න මේ CustomerID කියන්නෙ Orders Table එකේ foreign key එක, ඒවගේම එක Customers Table එක primary key එක.
Orders Table
Customers Table
හරි ඔන්න එතකොට අපේ කොල්ලන්ට ගැටළුවක් එනවා මොන මගුලක්ද මේ primary key එක foreign key එක කියන්නෙ කියල.

හරි ඉන්ඩකෝ එකත් කියල දෙන්ඩ...

මෙහෙමයි

PRIMARY KEY එක කියන්නෙ table එකක තියන ROWS uniquely identify කරගන්ඩ use කරන value එකක්. හරියට ඔයාගේ ID එකේ number එකවගේ ඒ number එක unique. හරි දැන් අනික.

FOREIGN KEY එක කියන්නෙ වෙනත් table එකක PRIMARY KEY එකක් කියන්ඩ පුළුවන්, හරියට මේවගේ මම ළඟ තියනව ඔයාගේ ID number එක, එකෙන් මට පුළුවන් වෙනවා ඔයාව අදුරගන්න. අපේ table දෙකට අනුවනම් Orders කියන table එකේ තියන CustomerID එකෙන් පුළුවන් ඊට අදාළ Customers table එකේ row එක හොයාගන්ඩ. හරි දැන් එ දෙකත් ok.

මම අයෙ පාඩමට එනව. අපි කියකියහිටියේ..

හොඳට බලන්ඩ Orders Table එක, ඒ Table එකේ තියනව CustomerID කියල column එකක්. මෙන්න මේ CustomerID කියන්නෙ Orders Table එකේ foreign key එක, ඒවගේම එක Customers Table එක primary key එක. එතකොට අපට පුළුවන් INNER JOIN එක බවිතකරලා Orders Table එකේ තියන CustomerID වලටත් Customers Table එකේ තියන CustomerID සමානවන records ටික ඔක්කොම return කරගන්ඩ.
අපේ query එකට අනුව මේවගේ result එකක්තමයි එන්නෙ.

Result
හරි සරලව ඕක තමයි SQL INNER JOIN කියන්නෙ.
SQL වල තවත් JOIN වර්ග කිහිපයක් තියනව එවතමයි..
INNER JOIN
LEFT JOIN
RIGHT JOIN
FULL JOIN
ඒවා ගැනත් කියල දෙන්නම් දවසක.
එහෙනම් කස්ටියටම ජයවේවා.....!!
Last edited: