JOIN À̶õ - LEFT JOIN LEFT OUTER JOIN RIGHT JOIN
1. JOIN À̶õ?
µ¥ÀÌÅ͸¦ °Ë»öÇÏ´Ù º¸¸é Å×À̺í Çϳª¸¸À» ÀÌ¿ëÇؼ´Â ¿øÇÏ´Â Á¤º¸¸¦ ´Ù °¡Á®¿ÀÁö ¸øÇÏ´Â °æ¿ì°¡ ¸¹½À´Ï´Ù. ¿¹¸¦ µé¾î »ç¿øÀÇ ±Þ¿© Á¤º¸¸¦ °Ë»öÇÏ´Â °æ¿ì¿¡ [±Þ¿©] Å×ÀÌºí¿¡´Â »ç¿ø ¹øÈ£¿Í ±Þ¿© Á¤º¸¸¸ ÀÖ´Â °æ¿ì »ç¿ø À̸§À» °°ÀÌ °Ë»öÇÏ°íÀÚ ÇÑ´Ù¸é »ç¿ø À̸§À» °¡Áö°í ÀÖ´Â [»ç¿ø] Å×À̺íÀ» ÂüÁ¶ÇØ¾ß ÇÕ´Ï´Ù. ÀÌ·¸°Ô Å×À̺íÀ» ¼·Î ¿¬°áÇÏ¿© °Ë»öÀ» ÇÒ ¶§ »ç¿ëµÇ´Â °ÍÀÌ JOIN ¹® ÀÔ´Ï´Ù.
JOINÀÇ Á¾·ù´Â ´ÙÀ½°ú °°ÀÌ ³ª´ ¼ö ÀÖ½À´Ï´Ù.
o INNER JOIN
o OUTER
JOIN
o FULL JOIN
o CROSS JOIN
ÀÌ Áß¿¡¼ °¡Àå ¸¹ÀÌ »ç¿ëµÇ´Â °ÍÀÌ INNER JOIN ÀÔ´Ï´Ù. ´ÙÀ½ [±×¸² 1]À» ±âÁØÀ¸·Î Çؼ À̵é Á¶ÀÎÀÇ ±â´ÉÀ» »ìÆ캸µµ·Ï ÇÏ°Ú½À´Ï´Ù.
[±×¸² 1]
[±×¸² 1]°ú °°ÀÌ [»ç¿ø] Å×À̺í°ú [±Þ¿©] Å×À̺íÀÌ ÀÖ½À´Ï´Ù. ½ÇÁ¦ ¾÷¹«¿Í ´Ù¸¦ ¼ö ÀÖÁö¸¸ Á¶ÀÎÀÇ ±â´ÉÀ» È®ÀÎÇϱâ À§ÇÏ¿© °¡Á¤À» Çϵµ·Ï ÇÏ°Ú½À´Ï´Ù. [»ç¿ø] Å×ÀÌºí¿¡´Â »ç¿ø Á¤º¸°¡, [´ëÃâ] Å×ÀÌºí¿¡´Â ´ëÃâ Á¤º¸°¡ ±â·ÏµÇ¾î ÀÖ½À´Ï´Ù.
2. INNER JOIN
INNER JOINÀº ¾çÂÊÀÇ Çàµé Áß¿¡¼ ¼·Î ¿¬°üµÈ ³»¿ë¸¸ °Ë»öÇÏ´Â Á¶ÀÎ ¹æ¹ýÀÔ´Ï´Ù. INNER JOINÀ» À§Çؼ´Â ¿ì¼± [±×¸² 2]ó·³ µÎ Å×ÀÌºí¿¡¼ °øÅëµÇÁö ¸øÇÑ ºÎºÐÀº JOINÀÇ ´ë»ó¿¡¼ Á¦¿Ü°¡ µË´Ï´Ù.
[±×¸² 2]
±×¸®°í ³²¾Æ ÀÖ´Â ¾çÂÊÀÇ ÇàµéÀÌ ´ÙÀ½ [±×¸² 3]°ú °°ÀÌ ¼·Î ¿¬°üµÈ Çàµé³¢¸® °áÇÕÀ» ÇÏ°Ô µË´Ï´Ù.
[±×¸² 3]
°á±¹ ´ÙÀ½ [±×¸² 4]¿Í °°Àº °á°ú¸¦ ¾òÀ» ¼ö ÀÖ°Ô µË´Ï´Ù.
[±×¸² 4]
À§ ³»¿ëÀ» INNER JOINÀ» ÀÌ¿ëÇÑ Äõ¸®¹®À¸·Î Ç¥ÇöÇÑ´Ù¸é ´ÙÀ½°ú °°½À´Ï´Ù.
SELECT A.»ç¹ø, A.À̸§, B.µµ¼ |
o ÀÌ Äõ¸®¹®¿¡¼ A¿Í B ´Â [»ç¿ø] Å×À̺í°ú [´ëÃâ] Å×À̺íÀ» °¡¸®Å°´Â Alias ÀÔ´Ï´Ù.
o ON ºÎºÐÀ» º¸¸é µÎ Å×À̺íÀ» '»ç¹ø' À» ÀÌ¿ëÇÏ¿© ¿¬°áÇÏ°í ÀÖ½À´Ï´Ù.
À§ Äõ¸®¹®Àº ´ÙÀ½°ú °°ÀÌ Ç¥Çö ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
SELECT A.»ç¹ø, A.À̸§, B.µµ¼ |
Áï 'INNER' ¸¦ »ý·«ÇÏ°í ´Ü¼øÈ÷ 'JOIN' ¸¸ »ç¿ëÇصµ 'INNER JOIN'À¸·Î Àνĵ˴ϴÙ. ÀÌ°ÍÀº ´ëºÎºÐÀÇ JOIN ÀÌ INNER JOIN À̱⠶§¹®¿¡ »ç¿ëÀÚÀÇ ÆíÀǸ¦ À§ÇÑ °ÍÀÔ´Ï´Ù.
3. OUTER JOIN
OUTER JOINÀº ÇÑÂÊ Å×À̺íÀ» ±âÁØÀ¸·Î Çؼ Á¶ÀÎÀ» Çü¼ºÇÕ´Ï´Ù. ±×·¡¼ ±âÁØÀÌ µÇ´Â Å×À̺íÀº Á¶ÀεǴ Å×À̺í°ú ¿¬°ü¼ºÀÌ ¾ø´Ù ÇÏ¿©µµ °Ë»öÀÇ ´ë»óÀÌ µË´Ï´Ù. ÀÌ·¯ÇÑ ÀÌÀ¯·Î OUTER JOIN¿¡´Â ´ÙÀ½°ú °°ÀÌ µÎ°¡ÁöÀÇ ¹æ¹ýÀÌ Á¸ÀçÇÏ°Ô µË´Ï´Ù.
o LEFT OUTER JOIN (±âº»°ª)
o RIGHT OUTER JOIN
¸¸ÀÏ [»ç¿ø] Å×À̺í°ú [´ëÃâ] Å×À̺íÀ» OUTER JOIN ½Ãų ¶§ [»ç¿ø] Å×À̺íÀ» ±âÁØÀ¸·Î ÇÑ´Ù¸é ´ÙÀ½ [±×¸² 5] ¿Í °°Àº °á°ú¸¦ ¾ò°Ô µË´Ï´Ù.
[±×¸² 5]
À§ ³»¿ëÀ» Äõ¸®¹®À¸·Î Ç¥ÇöÇÑ´Ù¸é ´ÙÀ½°ú °°½À´Ï´Ù.
SELECT A.»ç¹ø, A.À̸§, B.µµ¼ |
ÇÏÁö¸¸ [´ëÃâ] Å×À̺íÀ» ±âÁØÀ¸·Î ÇÑ´Ù¸é ´ÙÀ½ [±×¸² 6] °ú °°Àº °á°ú¸¦ ¾ò°Ô µË´Ï´Ù.
[±×¸² 6]
À§ ³»¿ëÀ» Äõ¸®¹®À¸·Î Ç¥ÇöÇÑ´Ù¸é ´ÙÀ½°ú °°½À´Ï´Ù.
SELECT A.»ç¹ø, A.À̸§, B.µµ¼ |
4. FULL JOIN
FULL JOINÀº [±×¸² 5]¿Í [±×¸² 6]ÀÇ °áÇÕÀ̶ó°í »ý°¢ÇÏ½Ã¸é µË´Ï´Ù. °áÇÕÀÌ µÇ´Â ¾çÂÊ Å×ÀÌºí¿¡¼ ¿¬°ü¼ºÀÌ ¾ø´Â Ç൵ Á¶ÀÎÀÇ °á°ú¿¡ Æ÷ÇԵDZ⠶§¹®ÀÔ´Ï´Ù. [»ç¿ø] Å×À̺í°ú [´ëÃâ] Å×À̺íÀÇ FULL JOINÀÇ °á°ú´Â ´ÙÀ½ [±×¸² 7]°ú °°½À´Ï´Ù.
[±×¸² 7]
À§ ³»¿ëÀ» Äõ¸®¹®À¸·Î Ç¥ÇöÇÑ´Ù¸é ´ÙÀ½°ú °°½À´Ï´Ù.
SELECT A.»ç¹ø, A.À̸§, B.µµ¼ |
5. CROSS JOIN
CROSS JOINÀº ÇÑÂÊ Å×À̺íÀÇ ¸ðµç Çàµé¿¡ ´ëÇÏ¿© ´Ù¸¥ ÂÊ ÇàµéÀÌ ÀüºÎ ´ëÀÔÀÌ µÇ´Â ÇüÅÂÀÇ Á¶ÀÎÀÔ´Ï´Ù. ¸¸ÀÏ [»ç¿ø] Å×À̺í°ú [´ëÃâ] Å×À̺íÀ» CROSS JOIN ½ÃŲ´Ù¸é [±×¸² 8] °ú °°Àº °¢°¢ ´ëÀԵǾî [±×¸² 9]¿Í °°Àº °á°ú¸¦ ¾ò°Ô µË´Ï´Ù. ´Ü, [±×¸² 8]Àº ù¹ø° Çà¿¡ ´ëÇÑ ´ëÀÔ¸¸À» º¸¿©ÁÖ°í Àִµ¥ ÀÌ·¯ÇÑ ´ëÀÔÀÌ [»ç¿ø] Å×À̺íÀÇ ¸ðµç Çà¿¡ ´ëÇÏ¿© ÀÌ·ç¾îÁö°Ô µË´Ï´Ù.
[±×¸² 8]
[±×¸² 9]
°á±¹ [»ç¿ø] Å×À̺íÀÇ ÇàÀÇ °¹¼ö X [´ëÃâ] Å×À̺íÀÇ ÇàÀÇ °¹¼ö ¸¸ÅÀÇ ÇàÀÌ CROSS JOINÀÇ °á°ú¸¦ ¾ò¾îÁö°Ô µË´Ï´Ù.
À§ ³»¿ëÀ» Äõ¸®¹®À¸·Î Ç¥ÇöÇÑ´Ù¸é ´ÙÀ½°ú °°½À´Ï´Ù.
SELECT A.»ç¹ø, A.À̸§, B.µµ¼ |
Áï, µÎ Å×À̺íÀÇ ¿¬°ü¼ºÀÌ ÀüÇô ÇÊ¿ä¾ø°Ô µÇ¹Ç·Î ON ÀýÀÌ Æ÷ÇÔµÇÁö ¾Ê½À´Ï´Ù.
6. Á¤¸®
SELECT ¹®À» »ç¿ë ÇÒ ¶§ °¡Àå ÀÌÇØÇϱâ Èûµç ºÎºÐÀÌ JOIN ÀÌ ¾Æ´Ñ°¡ ½Í½À´Ï´Ù. JOIN ±â´ÉÀ» Àß ÀÍÇô µÎ¸é Á»´õ È¿À²ÀûÀÎ °Ë»öÀ» ÇÒ ¼ö ÀÖ½À´Ï´Ù. OUTER JOINÀ̳ª FULL JOIN, CROSS JOINÀº Àß »ç¿ëÀÌ µÇÁö ¾Ê½À´Ï´Ù. ±× ÀÌÀ¯´Â ¸¹Àº »ç¶÷µéÀÌ INNER JOIN ±îÁö¸¸ ¹è¿ì°í ´õÀÌ»óÀº JOIN¿¡ ´ëÇÏ¿© ¹è¿ìÁö ¾Ê°í ¹«ÀÛÁ¤ SELECT ¹®À» »ç¿ëÇϱ⠶§¹®ÀÌ ¾Æ´Ñ°¡ ½Í½À´Ï´Ù.
´ÙÀ½ °Á¿¡¼´Â ½ÇÁ¦·Î JOINÀ» »ç¿ëÇÏ´Â ¿¹Á¦¸¦ º¸¸é¼ ´Ù½ÃÇѹø JOIN¿¡ ´ëÇÏ¿© »ìÆ캼 ¿¹Á¤ÀÔ´Ï´Ù. ¿Â¶óÀÎ ¼³¸í¼(Books Online)À» º¸½Ã¸é JOIN¿¡ ´ëÇÑ ¹æ´ëÇÑ ·®ÀÇ ¼³¸íÀÌ ÀÖ½À´Ï´Ù. ±× ³»¿ëÀ» ²À Âü°íÇÏ¿© Áֽñ⠹ٶø´Ï´Ù.