[{"data":1,"prerenderedAt":116},["ShallowReactive",2],{"term-r\u002Fright-join":3,"related-r\u002Fright-join":102},{"id":4,"title":5,"acronym":6,"body":7,"category":83,"description":84,"difficulty":85,"extension":86,"letter":87,"meta":88,"navigation":89,"path":90,"related":91,"seo":96,"sitemap":97,"stem":100,"subcategory":6,"__hash__":101},"terms\u002Fterms\u002Fr\u002Fright-join.md","RIGHT JOIN",null,{"type":8,"value":9,"toc":77},"minimark",[10,15,19,23,26,30,66,70,73],[11,12,14],"h2",{"id":13},"eli5-the-vibe-check","ELI5 — The Vibe Check",[16,17,18],"p",{},"RIGHT JOIN is LEFT JOIN's mirror image — it returns all rows from the right table, and matching rows from the left. Nobody uses RIGHT JOIN in practice because you can always rewrite it as a LEFT JOIN by swapping the table order. But it exists.",[11,20,22],{"id":21},"real-talk","Real Talk",[16,24,25],{},"RIGHT JOIN (or RIGHT OUTER JOIN) returns all rows from the right (second) table regardless of whether a matching row exists in the left table. It is functionally equivalent to LEFT JOIN with the tables swapped. Most developers prefer LEFT JOIN for consistency.",[11,27,29],{"id":28},"show-me-the-code","Show Me The Code",[31,32,37],"pre",{"className":33,"code":34,"language":35,"meta":36,"style":36},"language-sql shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","-- Equivalent to swapping tables in a LEFT JOIN\nSELECT u.name, o.total\nFROM orders o\nRIGHT JOIN users u ON o.user_id = u.id;\n","sql","",[38,39,40,48,54,60],"code",{"__ignoreMap":36},[41,42,45],"span",{"class":43,"line":44},"line",1,[41,46,47],{},"-- Equivalent to swapping tables in a LEFT JOIN\n",[41,49,51],{"class":43,"line":50},2,[41,52,53],{},"SELECT u.name, o.total\n",[41,55,57],{"class":43,"line":56},3,[41,58,59],{},"FROM orders o\n",[41,61,63],{"class":43,"line":62},4,[41,64,65],{},"RIGHT JOIN users u ON o.user_id = u.id;\n",[11,67,69],{"id":68},"when-youll-hear-this","When You'll Hear This",[16,71,72],{},"\"RIGHT JOIN works but most developers just flip the tables and use LEFT JOIN instead.\"",[74,75,76],"style",{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":36,"searchDepth":50,"depth":50,"links":78},[79,80,81,82],{"id":13,"depth":50,"text":14},{"id":21,"depth":50,"text":22},{"id":28,"depth":50,"text":29},{"id":68,"depth":50,"text":69},"database","RIGHT JOIN is LEFT JOIN's mirror image — it returns all rows from the right table, and matching rows from the left.","intermediate","md","r",{},true,"\u002Fterms\u002Fr\u002Fright-join",[92,93,94,95],"JOIN","INNER JOIN","LEFT JOIN","FULL JOIN",{"title":5,"description":84},{"changefreq":98,"priority":99},"weekly",0.7,"terms\u002Fr\u002Fright-join","IHHjMiZde-f-21IwD4Eboykpt2PTkN1_zmKAvZtISIk",[103,107,110,113],{"title":95,"path":104,"acronym":6,"category":83,"difficulty":105,"description":106},"\u002Fterms\u002Ff\u002Ffull-join","advanced","FULL JOIN returns everything from both tables regardless of whether there is a match. Rows with no match on either side get NULLs.",{"title":93,"path":108,"acronym":6,"category":83,"difficulty":85,"description":109},"\u002Fterms\u002Fi\u002Finner-join","INNER JOIN only returns rows where there is a match in BOTH tables. If a user has no orders, they do not appear in the result.",{"title":92,"path":111,"acronym":6,"category":83,"difficulty":85,"description":112},"\u002Fterms\u002Fj\u002Fjoin","JOIN combines rows from two tables based on a related column.",{"title":94,"path":114,"acronym":6,"category":83,"difficulty":85,"description":115},"\u002Fterms\u002Fl\u002Fleft-join","LEFT JOIN returns all rows from the left table, and matching rows from the right table.",1776518305454]