{"id":267,"date":"2019-03-31T03:46:34","date_gmt":"2019-03-31T11:46:34","guid":{"rendered":"https:\/\/db2tutorial.com\/?page_id=267"},"modified":"2020-04-11T06:59:49","modified_gmt":"2020-04-11T14:59:49","slug":"db2-join","status":"publish","type":"page","link":"https:\/\/www.db2tutorial.com\/db2-basics\/db2-join\/","title":{"rendered":"Db2 Join"},"content":{"rendered":"\n<p><strong>Summary<\/strong>: in this tutorial, you will learn how to query data from two tables using Db2 joins.<\/p>\n\n\n\n<p>When you want to view the data from multiple tables, you can use the <code><a href=\"https:\/\/db2tutorial.com\/db2-basics\/db2-select\/\">SELECT<\/a><\/code> statement with joins. The join associates the rows from one table with rows from another table based on a specified condition, typically of matching column values.<\/p>\n\n\n\n<p>Db2 supports various kinds of joins including <a href=\"https:\/\/db2tutorial.com\/db2-basics\/db2-inner-join\/\">inner join<\/a>, <a href=\"https:\/\/db2tutorial.com\/db2-basics\/db2-left-join\/\">left outer join<\/a>, <a href=\"https:\/\/db2tutorial.com\/db2-basics\/db2-right-join\/\">right outer join<\/a>, and <a href=\"https:\/\/db2tutorial.com\/db2-basics\/db2-full-outer-join\/\">full outer join<\/a>.<\/p>\n\n\n\n<p>Let&#8217;s setup some sample tables for demonstration.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Setting sample tables<\/h2>\n\n\n\n<p>Second, create two new tables named <code>contacts<\/code> and <code>customers<\/code>:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"SQL (Structured Query Language)\" data-shcb-language-slug=\"sql\"><span><code class=\"hljs language-sql\"><span class=\"hljs-keyword\">CREATE<\/span> <span class=\"hljs-keyword\">TABLE<\/span> contacts (\n    contact_id <span class=\"hljs-built_in\">INT<\/span> <span class=\"hljs-keyword\">NOT<\/span> <span class=\"hljs-literal\">NULL<\/span> PRIMARY <span class=\"hljs-keyword\">KEY<\/span>, \n    <span class=\"hljs-keyword\">name<\/span>       <span class=\"hljs-built_in\">VARCHAR<\/span>(<span class=\"hljs-number\">100<\/span>) <span class=\"hljs-keyword\">NOT<\/span> <span class=\"hljs-literal\">NULL<\/span>\n);\n\n<span class=\"hljs-keyword\">CREATE<\/span> <span class=\"hljs-keyword\">TABLE<\/span> customers (\n    customer_id <span class=\"hljs-built_in\">INT<\/span> <span class=\"hljs-keyword\">NOT<\/span> <span class=\"hljs-literal\">NULL<\/span> PRIMARY <span class=\"hljs-keyword\">KEY<\/span>, \n    <span class=\"hljs-keyword\">name<\/span>        <span class=\"hljs-built_in\">VARCHAR<\/span>(<span class=\"hljs-number\">100<\/span>) <span class=\"hljs-keyword\">NOT<\/span> <span class=\"hljs-literal\">NULL<\/span>\n);\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">SQL (Structured Query Language)<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">sql<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Second, insert some rows into the <code>contacts<\/code> and <code>customers<\/code> tables:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"SQL (Structured Query Language)\" data-shcb-language-slug=\"sql\"><span><code class=\"hljs language-sql\"><span class=\"hljs-keyword\">INSERT<\/span> <span class=\"hljs-keyword\">INTO<\/span> contacts(contact_id, <span class=\"hljs-keyword\">name<\/span>)\n<span class=\"hljs-keyword\">VALUES<\/span>(<span class=\"hljs-number\">1<\/span>,<span class=\"hljs-string\">'Amelia'<\/span>),\n    (<span class=\"hljs-number\">2<\/span>,<span class=\"hljs-string\">'Olivia'<\/span>),\n    (<span class=\"hljs-number\">3<\/span>,<span class=\"hljs-string\">'Isla'<\/span>),\n    (<span class=\"hljs-number\">4<\/span>,<span class=\"hljs-string\">'Emily'<\/span>);\n\n\n<span class=\"hljs-keyword\">INSERT<\/span> <span class=\"hljs-keyword\">INTO<\/span> customers(customer_id, <span class=\"hljs-keyword\">name<\/span>)\n<span class=\"hljs-keyword\">VALUES<\/span>(<span class=\"hljs-number\">1<\/span>,<span class=\"hljs-string\">'Amelia'<\/span>),\n    (<span class=\"hljs-number\">2<\/span>,<span class=\"hljs-string\">'Isla'<\/span>),\n    (<span class=\"hljs-number\">3<\/span>,<span class=\"hljs-string\">'Jessica'<\/span>),\n    (<span class=\"hljs-number\">4<\/span>,<span class=\"hljs-string\">'Lily'<\/span>);\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">SQL (Structured Query Language)<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">sql<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Third, query data from the <code>contacts<\/code> and <code>customers<\/code> tables:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"SQL (Structured Query Language)\" data-shcb-language-slug=\"sql\"><span><code class=\"hljs language-sql\"><span class=\"hljs-keyword\">SELECT<\/span> \n    *\n<span class=\"hljs-keyword\">FROM<\/span> \n    contacts;\n\n<span class=\"hljs-keyword\">SELECT<\/span> \n    *\n<span class=\"hljs-keyword\">FROM<\/span> \n    customers;\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">SQL (Structured Query Language)<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">sql<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"122\" height=\"99\" src=\"https:\/\/db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-contacts-table.png\" alt=\"db2 join contacts table\" class=\"wp-image-268\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"134\" height=\"97\" src=\"https:\/\/db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-customers-table.png\" alt=\"db2 join customers table\" class=\"wp-image-269\"\/><\/figure>\n\n\n\n<p>Let&#8217;s call the <code>contacts<\/code> table the left table and the <code>customers<\/code> table the right table.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Db2 Inner Join<\/h2>\n\n\n\n<p>The inner join combines each row from the left table with rows of the right table, it keeps only the rows in which the join condition is true.<\/p>\n\n\n\n<p>This example uses the <code><a href=\"https:\/\/db2tutorial.com\/db2-basics\/db2-inner-join\/\">INNER JOIN<\/a><\/code> to get the rows from the <code>contacts<\/code> table that have the corresponding rows with the same values in the <code>name<\/code> column of the <code>customers<\/code> table:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"SQL (Structured Query Language)\" data-shcb-language-slug=\"sql\"><span><code class=\"hljs language-sql\"><span class=\"hljs-keyword\">SELECT<\/span> \n    co.contact_id, \n    co.name contact_name, \n    cu.customer_id, \n    cu.name customer_name\n<span class=\"hljs-keyword\">FROM<\/span> \n    contacts co\n    <span class=\"hljs-keyword\">INNER<\/span> <span class=\"hljs-keyword\">JOIN<\/span> customers cu \n        <span class=\"hljs-keyword\">ON<\/span> cu.name = co.name;\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">SQL (Structured Query Language)<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">sql<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Here is the result set:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"334\" height=\"56\" src=\"https:\/\/db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-inner-join-example.png\" alt=\"db2 join inner join example\" class=\"wp-image-270\" srcset=\"https:\/\/www.db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-inner-join-example.png 334w, https:\/\/www.db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-inner-join-example-300x50.png 300w\" sizes=\"auto, (max-width: 334px) 100vw, 334px\" \/><\/figure>\n\n\n\n<p>In this example, the join condition is <code>cu.name = co.name<\/code> which matches the values in the <code>name<\/code> column of the <code>contacts<\/code> table with the values in the <code>name<\/code> column of the <code>customers<\/code> table.<\/p>\n\n\n\n<p>The following Venn diagram illustrates the result of the inner join of two result sets:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"325\" height=\"195\" src=\"https:\/\/db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-inner-join.png\" alt=\"db2 join inner join\" class=\"wp-image-276\" srcset=\"https:\/\/www.db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-inner-join.png 325w, https:\/\/www.db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-inner-join-300x180.png 300w\" sizes=\"auto, (max-width: 325px) 100vw, 325px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Db2 Left Join<\/h2>\n\n\n\n<p>The <a href=\"https:\/\/db2tutorial.com\/db2-basics\/db2-left-join\/\">left join<\/a> selects data starting from the left table and matches rows in the right table. Similar to the inner join, the left join returns all rows from the left table and the matching rows from the right table. In addition, if a row in the left table does not have a matching row in the right table, the columns of the right table will have nulls.<\/p>\n\n\n\n<p>Note that the left join is also called the left outer join. The outer keyword is optional.<\/p>\n\n\n\n<p>The following statement joins the <code>contacts<\/code> table with the <code>customers<\/code> table using left join:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-5\" data-shcb-language-name=\"SQL (Structured Query Language)\" data-shcb-language-slug=\"sql\"><span><code class=\"hljs language-sql\"><span class=\"hljs-keyword\">SELECT<\/span> \n    co.contact_id, \n    co.name contact_name, \n    cu.customer_id, \n    cu.name customer_name\n<span class=\"hljs-keyword\">FROM<\/span> \n    contacts co\n    <span class=\"hljs-keyword\">LEFT<\/span> <span class=\"hljs-keyword\">JOIN<\/span> customers cu \n        <span class=\"hljs-keyword\">ON<\/span> cu.name = co.name;\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-5\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">SQL (Structured Query Language)<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">sql<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Here is the result set:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"339\" height=\"98\" src=\"https:\/\/db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-left-join-example.png\" alt=\"db2 join left join example\" class=\"wp-image-271\" srcset=\"https:\/\/www.db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-left-join-example.png 339w, https:\/\/www.db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-left-join-example-300x87.png 300w\" sizes=\"auto, (max-width: 339px) 100vw, 339px\" \/><\/figure>\n\n\n\n<p>This Venn diagram illustrates the left join of two result sets:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"326\" height=\"197\" src=\"https:\/\/db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-left-join.png\" alt=\"\" class=\"wp-image-277\" srcset=\"https:\/\/www.db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-left-join.png 326w, https:\/\/www.db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-left-join-300x181.png 300w\" sizes=\"auto, (max-width: 326px) 100vw, 326px\" \/><\/figure>\n\n\n\n<p>To get the rows that available only in the left table but not in the right table, you add a <code><a href=\"https:\/\/db2tutorial.com\/db2-basics\/db2-where\/\">WHERE<\/a><\/code> clause to the above query:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-6\" data-shcb-language-name=\"SQL (Structured Query Language)\" data-shcb-language-slug=\"sql\"><span><code class=\"hljs language-sql\"><span class=\"hljs-keyword\">SELECT<\/span> \n    co.contact_id, \n    co.name contact_name, \n    cu.customer_id, \n    cu.name customer_name\n<span class=\"hljs-keyword\">FROM<\/span> \n    contacts co\n    <span class=\"hljs-keyword\">LEFT<\/span> <span class=\"hljs-keyword\">JOIN<\/span> customers cu \n        <span class=\"hljs-keyword\">ON<\/span> cu.name = co.name\n<span class=\"hljs-keyword\">WHERE<\/span>\n    cu.name <span class=\"hljs-keyword\">IS<\/span> <span class=\"hljs-literal\">NULL<\/span>;\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-6\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">SQL (Structured Query Language)<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">sql<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"338\" height=\"56\" src=\"https:\/\/db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-left-join-with-a-where-clause.png\" alt=\"db2 join left join with a where clause\" class=\"wp-image-272\" srcset=\"https:\/\/www.db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-left-join-with-a-where-clause.png 338w, https:\/\/www.db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-left-join-with-a-where-clause-300x50.png 300w\" sizes=\"auto, (max-width: 338px) 100vw, 338px\" \/><\/figure>\n\n\n\n<p>And the this Venn diagram illustrates the left join that selects rows available only in the left table:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"325\" height=\"195\" src=\"https:\/\/db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-left-join-with-a-where-clause-1.png\" alt=\"\" class=\"wp-image-278\" srcset=\"https:\/\/www.db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-left-join-with-a-where-clause-1.png 325w, https:\/\/www.db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-left-join-with-a-where-clause-1-300x180.png 300w\" sizes=\"auto, (max-width: 325px) 100vw, 325px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Db2 Right Join<\/h2>\n\n\n\n<p>The <a href=\"https:\/\/db2tutorial.com\/db2-basics\/db2-right-join\/\">right join<\/a> or <a href=\"https:\/\/db2tutorial.com\/db2-basics\/db2-right-join\/\">right outer join<\/a>, which is a reversed version of the left join, selects data starting from the right table and matches with the rows in the left table.<\/p>\n\n\n\n<p>The right join returns a result set that includes all the rows from the right table and the matching rows in the left table. If a row in the right table does not have a matching row in the left table, all columns in the left table will contain nulls.<\/p>\n\n\n\n<p>The following example uses the right join to query rows from <code>contacts<\/code> and <code>customers<\/code> tables:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-7\" data-shcb-language-name=\"SQL (Structured Query Language)\" data-shcb-language-slug=\"sql\"><span><code class=\"hljs language-sql\"><span class=\"hljs-keyword\">SELECT<\/span> \n    co.contact_id, \n    co.name contact_name, \n    cu.customer_id, \n    cu.name customer_name\n<span class=\"hljs-keyword\">FROM<\/span> \n    contacts co\n    <span class=\"hljs-keyword\">RIGHT<\/span> <span class=\"hljs-keyword\">JOIN<\/span> customers cu \n        <span class=\"hljs-keyword\">ON<\/span> cu.name = co.name;\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-7\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">SQL (Structured Query Language)<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">sql<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"344\" height=\"97\" src=\"https:\/\/db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-right-join-example.png\" alt=\"db2 join right join example\" class=\"wp-image-273\" srcset=\"https:\/\/www.db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-right-join-example.png 344w, https:\/\/www.db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-right-join-example-300x85.png 300w\" sizes=\"auto, (max-width: 344px) 100vw, 344px\" \/><\/figure>\n\n\n\n<p>Notice that all the rows from the right table (<code>customers<\/code>) are included in the result set.<\/p>\n\n\n\n<p>Here is the Venn diagram of the right join:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"326\" height=\"197\" src=\"https:\/\/db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-right-join.png\" alt=\"db2 join right join\" class=\"wp-image-279\" srcset=\"https:\/\/www.db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-right-join.png 326w, https:\/\/www.db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-right-join-300x181.png 300w\" sizes=\"auto, (max-width: 326px) 100vw, 326px\" \/><\/figure>\n\n\n\n<p>In order to get rows that are available only in the right table, you add a <code><a href=\"https:\/\/db2tutorial.com\/db2-basics\/db2-where\/\">WHERE<\/a><\/code> clause to the above query:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-8\" data-shcb-language-name=\"SQL (Structured Query Language)\" data-shcb-language-slug=\"sql\"><span><code class=\"hljs language-sql\"><span class=\"hljs-keyword\">SELECT<\/span> \n    co.contact_id, \n    co.name contact_name, \n    cu.customer_id, \n    cu.name customer_name\n<span class=\"hljs-keyword\">FROM<\/span> \n    contacts co\n    <span class=\"hljs-keyword\">RIGHT<\/span> <span class=\"hljs-keyword\">JOIN<\/span> customers cu \n        <span class=\"hljs-keyword\">ON<\/span> cu.name = co.name\n<span class=\"hljs-keyword\">WHERE<\/span>\n    co.name <span class=\"hljs-keyword\">IS<\/span> <span class=\"hljs-literal\">NULL<\/span>;\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-8\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">SQL (Structured Query Language)<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">sql<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"337\" height=\"55\" src=\"https:\/\/db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-right-join-with-a-where-clause.png\" alt=\"db2 join right join with a where clause\" class=\"wp-image-274\" srcset=\"https:\/\/www.db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-right-join-with-a-where-clause.png 337w, https:\/\/www.db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-right-join-with-a-where-clause-300x49.png 300w\" sizes=\"auto, (max-width: 337px) 100vw, 337px\" \/><\/figure>\n\n\n\n<p>And the following Venn diagram illustrates the operation:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"326\" height=\"195\" src=\"https:\/\/db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-right-join-with-a-where-clause-1.png\" alt=\"db2 join right join with a where clause\" class=\"wp-image-280\" srcset=\"https:\/\/www.db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-right-join-with-a-where-clause-1.png 326w, https:\/\/www.db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-right-join-with-a-where-clause-1-300x179.png 300w\" sizes=\"auto, (max-width: 326px) 100vw, 326px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Db2 full join<\/h2>\n\n\n\n<p>The <a href=\"https:\/\/db2tutorial.com\/db2-basics\/db2-full-outer-join\/\">full join<\/a> returns a result set that includes all the rows from both left and right tables, with the matching rows from both sides where available. In case there is no match, the missing side will have nulls.<\/p>\n\n\n\n<p>Note that full join and full outer join are synonyms. The outer keyword is optional.<\/p>\n\n\n\n<p>This example performs a full join between the <code>contacts<\/code> and <code>customers<\/code> tables:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-9\" data-shcb-language-name=\"SQL (Structured Query Language)\" data-shcb-language-slug=\"sql\"><span><code class=\"hljs language-sql\"><span class=\"hljs-keyword\">SELECT<\/span> \n    co.contact_id, \n    co.name contact_name, \n    cu.customer_id, \n    cu.name customer_name\n<span class=\"hljs-keyword\">FROM<\/span> \n    contacts co\n    <span class=\"hljs-keyword\">FULL<\/span> <span class=\"hljs-keyword\">JOIN<\/span> customers cu \n        <span class=\"hljs-keyword\">ON<\/span> cu.name = co.name;\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-9\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">SQL (Structured Query Language)<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">sql<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"336\" height=\"139\" src=\"https:\/\/db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-full-outer-join-example.png\" alt=\"\" class=\"wp-image-285\" srcset=\"https:\/\/www.db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-full-outer-join-example.png 336w, https:\/\/www.db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-full-outer-join-example-300x124.png 300w\" sizes=\"auto, (max-width: 336px) 100vw, 336px\" \/><\/figure>\n\n\n\n<p>The Venn diagram that illustrates the full outer join:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"325\" height=\"196\" src=\"https:\/\/db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-full-join.png\" alt=\"db2 join full join\" class=\"wp-image-281\" srcset=\"https:\/\/www.db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-full-join.png 325w, https:\/\/www.db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-full-join-300x181.png 300w\" sizes=\"auto, (max-width: 325px) 100vw, 325px\" \/><\/figure>\n\n\n\n<p>To select rows that are available in either left or right table, you exclude rows that are common to both tables by adding a <code><a href=\"https:\/\/db2tutorial.com\/db2-basics\/db2-where\/\">WHERE<\/a><\/code> clause to the above query:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-10\" data-shcb-language-name=\"SQL (Structured Query Language)\" data-shcb-language-slug=\"sql\"><span><code class=\"hljs language-sql\"><span class=\"hljs-keyword\">SELECT<\/span> \n    co.contact_id, \n    co.name contact_name, \n    cu.customer_id, \n    cu.name customer_name\n<span class=\"hljs-keyword\">FROM<\/span> \n    contacts co\n    <span class=\"hljs-keyword\">FULL<\/span> <span class=\"hljs-keyword\">OUTER<\/span> <span class=\"hljs-keyword\">JOIN<\/span> customers cu \n        <span class=\"hljs-keyword\">ON<\/span> cu.name = co.name\n<span class=\"hljs-keyword\">WHERE<\/span>\n    co.name <span class=\"hljs-keyword\">IS<\/span> <span class=\"hljs-literal\">NULL<\/span> <span class=\"hljs-keyword\">OR<\/span>\n    cu.name <span class=\"hljs-keyword\">IS<\/span> <span class=\"hljs-literal\">NULL<\/span>;\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-10\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">SQL (Structured Query Language)<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">sql<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"337\" height=\"97\" src=\"https:\/\/db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-full-join-with-a-where-clause-example.png\" alt=\"db2 join full join with a where clause example\" class=\"wp-image-283\" srcset=\"https:\/\/www.db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-full-join-with-a-where-clause-example.png 337w, https:\/\/www.db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-full-join-with-a-where-clause-example-300x86.png 300w\" sizes=\"auto, (max-width: 337px) 100vw, 337px\" \/><\/figure>\n\n\n\n<p>The following Venn diagram illustrates the above operation:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"326\" height=\"196\" src=\"https:\/\/db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-full-join-with-a-where-clause.png\" alt=\"\" class=\"wp-image-282\" srcset=\"https:\/\/www.db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-full-join-with-a-where-clause.png 326w, https:\/\/www.db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-full-join-with-a-where-clause-300x180.png 300w\" sizes=\"auto, (max-width: 326px) 100vw, 326px\" \/><\/figure>\n\n\n\n<p>In this tutorial, you have learned Db2 joins including inner join, left outer join, right outer join, and full outer join to combine rows from two tables.<\/p>\n<div class=\"helpful-block-content\" data-title=\"\">\n\t<header>\n\t\t<div class=\"wth-question\">Was this tutorial helpful ?<\/div>\n\t\t<div class=\"wth-thumbs\">\n\t\t\t<button\n\t\t\t\tdata-post=\"267\"\n\t\t\t\tdata-post-url=\"https:\/\/www.db2tutorial.com\/db2-basics\/db2-join\/\"\n\t\t\t\tdata-post-title=\"Db2 Join\"\n\t\t\t\tdata-response=\"1\"\n\t\t\t\tclass=\"wth-btn-rounded wth-yes-btn\"\n\t\t\t>\n\t\t\t\t<svg\n\t\t\t\t\txmlns=\"http:\/\/www.w3.org\/2000\/svg\"\n\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\tclass=\"feather feather-thumbs-up block w-full h-full\"\n\t\t\t\t>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3\"\n\t\t\t\t\t><\/path>\n\t\t\t\t<\/svg>\n\t\t\t\t<span class=\"sr-only\"> Yes <\/span>\n\t\t\t<\/button>\n\n\t\t\t<button\n\t\t\t\tdata-response=\"0\"\n\t\t\t\tdata-post=\"267\"\n\t\t\t\tdata-post-url=\"https:\/\/www.db2tutorial.com\/db2-basics\/db2-join\/\"\n\t\t\t\tdata-post-title=\"Db2 Join\"\n\t\t\t\tclass=\"wth-btn-rounded wth-no-btn\"\n\t\t\t>\n\t\t\t\t<svg\n\t\t\t\t\txmlns=\"http:\/\/www.w3.org\/2000\/svg\"\n\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M10 15v4a3 3 0 0 0 3 3l4-9V2H5.72a2 2 0 0 0-2 1.7l-1.38 9a2 2 0 0 0 2 2.3zm7-13h2.67A2.31 2.31 0 0 1 22 4v7a2.31 2.31 0 0 1-2.33 2H17\"\n\t\t\t\t\t><\/path>\n\t\t\t\t<\/svg>\n\t\t\t\t<span class=\"sr-only\"> No <\/span>\n\t\t\t<\/button>\n\t\t<\/div>\n\t<\/header>\n\n\t<div class=\"wth-form hidden\">\n\t\t<div class=\"wth-form-wrapper\">\n\t\t\t<div class=\"wth-title\"><\/div>\n\t\t\t\n\t\t\t<textarea class=\"wth-message\"><\/textarea>\n\n\t\t\t<button class=\"btn btn-primary wth-btn-submit\">Send<\/button>\n\t\t\t<button class=\"btn wth-btn-cancel\">Cancel<\/button>\n\t\t\n\t\t<\/div>\n\t<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>This tutorial shows you how to use Db2 joins including inner join, left outer join, right outer join, and full outer join to combine rows from two tables.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":141,"menu_order":12,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-267","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>A Visual Explanation of Db2 Joins with Practical Examples<\/title>\n<meta name=\"description\" content=\"This tutorial shows you how to use Db2 joins including inner join, left outer join, right outer join, and full outer join to combine rows from two tables.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.db2tutorial.com\/db2-basics\/db2-join\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"A Visual Explanation of Db2 Joins with Practical Examples\" \/>\n<meta property=\"og:description\" content=\"This tutorial shows you how to use Db2 joins including inner join, left outer join, right outer join, and full outer join to combine rows from two tables.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.db2tutorial.com\/db2-basics\/db2-join\/\" \/>\n<meta property=\"og:site_name\" content=\"DB2 Tutorial\" \/>\n<meta property=\"article:modified_time\" content=\"2020-04-11T14:59:49+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-contacts-table.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.db2tutorial.com\/db2-basics\/db2-join\/\",\"url\":\"https:\/\/www.db2tutorial.com\/db2-basics\/db2-join\/\",\"name\":\"A Visual Explanation of Db2 Joins with Practical Examples\",\"isPartOf\":{\"@id\":\"https:\/\/www.db2tutorial.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.db2tutorial.com\/db2-basics\/db2-join\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.db2tutorial.com\/db2-basics\/db2-join\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-contacts-table.png\",\"datePublished\":\"2019-03-31T11:46:34+00:00\",\"dateModified\":\"2020-04-11T14:59:49+00:00\",\"description\":\"This tutorial shows you how to use Db2 joins including inner join, left outer join, right outer join, and full outer join to combine rows from two tables.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.db2tutorial.com\/db2-basics\/db2-join\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.db2tutorial.com\/db2-basics\/db2-join\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.db2tutorial.com\/db2-basics\/db2-join\/#primaryimage\",\"url\":\"https:\/\/db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-contacts-table.png\",\"contentUrl\":\"https:\/\/db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-contacts-table.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.db2tutorial.com\/db2-basics\/db2-join\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.db2tutorial.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Db2 Basics\",\"item\":\"https:\/\/www.db2tutorial.com\/db2-basics\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Db2 Join\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.db2tutorial.com\/#website\",\"url\":\"https:\/\/www.db2tutorial.com\/\",\"name\":\"DB2 Tutorial\",\"description\":\"A Comprehensive DB2 Tutorial\",\"publisher\":{\"@id\":\"https:\/\/www.db2tutorial.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.db2tutorial.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.db2tutorial.com\/#organization\",\"name\":\"Db2 Tutorial\",\"url\":\"https:\/\/www.db2tutorial.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.db2tutorial.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/db2tutorial.com\/wp-content\/uploads\/2019\/03\/favicon.png\",\"contentUrl\":\"https:\/\/db2tutorial.com\/wp-content\/uploads\/2019\/03\/favicon.png\",\"width\":500,\"height\":500,\"caption\":\"Db2 Tutorial\"},\"image\":{\"@id\":\"https:\/\/www.db2tutorial.com\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"A Visual Explanation of Db2 Joins with Practical Examples","description":"This tutorial shows you how to use Db2 joins including inner join, left outer join, right outer join, and full outer join to combine rows from two tables.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.db2tutorial.com\/db2-basics\/db2-join\/","og_locale":"en_US","og_type":"article","og_title":"A Visual Explanation of Db2 Joins with Practical Examples","og_description":"This tutorial shows you how to use Db2 joins including inner join, left outer join, right outer join, and full outer join to combine rows from two tables.","og_url":"https:\/\/www.db2tutorial.com\/db2-basics\/db2-join\/","og_site_name":"DB2 Tutorial","article_modified_time":"2020-04-11T14:59:49+00:00","og_image":[{"url":"https:\/\/db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-contacts-table.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.db2tutorial.com\/db2-basics\/db2-join\/","url":"https:\/\/www.db2tutorial.com\/db2-basics\/db2-join\/","name":"A Visual Explanation of Db2 Joins with Practical Examples","isPartOf":{"@id":"https:\/\/www.db2tutorial.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.db2tutorial.com\/db2-basics\/db2-join\/#primaryimage"},"image":{"@id":"https:\/\/www.db2tutorial.com\/db2-basics\/db2-join\/#primaryimage"},"thumbnailUrl":"https:\/\/db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-contacts-table.png","datePublished":"2019-03-31T11:46:34+00:00","dateModified":"2020-04-11T14:59:49+00:00","description":"This tutorial shows you how to use Db2 joins including inner join, left outer join, right outer join, and full outer join to combine rows from two tables.","breadcrumb":{"@id":"https:\/\/www.db2tutorial.com\/db2-basics\/db2-join\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.db2tutorial.com\/db2-basics\/db2-join\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.db2tutorial.com\/db2-basics\/db2-join\/#primaryimage","url":"https:\/\/db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-contacts-table.png","contentUrl":"https:\/\/db2tutorial.com\/wp-content\/uploads\/2019\/03\/db2-join-contacts-table.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.db2tutorial.com\/db2-basics\/db2-join\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.db2tutorial.com\/"},{"@type":"ListItem","position":2,"name":"Db2 Basics","item":"https:\/\/www.db2tutorial.com\/db2-basics\/"},{"@type":"ListItem","position":3,"name":"Db2 Join"}]},{"@type":"WebSite","@id":"https:\/\/www.db2tutorial.com\/#website","url":"https:\/\/www.db2tutorial.com\/","name":"DB2 Tutorial","description":"A Comprehensive DB2 Tutorial","publisher":{"@id":"https:\/\/www.db2tutorial.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.db2tutorial.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.db2tutorial.com\/#organization","name":"Db2 Tutorial","url":"https:\/\/www.db2tutorial.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.db2tutorial.com\/#\/schema\/logo\/image\/","url":"https:\/\/db2tutorial.com\/wp-content\/uploads\/2019\/03\/favicon.png","contentUrl":"https:\/\/db2tutorial.com\/wp-content\/uploads\/2019\/03\/favicon.png","width":500,"height":500,"caption":"Db2 Tutorial"},"image":{"@id":"https:\/\/www.db2tutorial.com\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.db2tutorial.com\/wp-json\/wp\/v2\/pages\/267","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.db2tutorial.com\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.db2tutorial.com\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.db2tutorial.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.db2tutorial.com\/wp-json\/wp\/v2\/comments?post=267"}],"version-history":[{"count":1,"href":"https:\/\/www.db2tutorial.com\/wp-json\/wp\/v2\/pages\/267\/revisions"}],"predecessor-version":[{"id":1093,"href":"https:\/\/www.db2tutorial.com\/wp-json\/wp\/v2\/pages\/267\/revisions\/1093"}],"up":[{"embeddable":true,"href":"https:\/\/www.db2tutorial.com\/wp-json\/wp\/v2\/pages\/141"}],"wp:attachment":[{"href":"https:\/\/www.db2tutorial.com\/wp-json\/wp\/v2\/media?parent=267"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}