¾Õ Àý¿¡¼ Á¶ÀÎÀÇ Á¤ÀÇ¿Í Á¾·ù, ±×¸®°í ±âº» µ¿ÀÛ¿¡ ´ëÇØ °£·«ÇÏ°Ô
¾Ë¾Æº¸¾Ò´Ù. ½Ç¹« ÇÁ·ÎÁ§Æ®¿¡¼ »ç¿ëÇÏ´Â Á¶ÀÎÀº À̺¸´Ù ¼öÁØÀÌ ¿ùµîÈ÷ ³ô´Ù. ±âº»À» ¹ÙÅÁÀ¸·Î ´Ü°èÀûÀÎ ½Ç½ÀÀ» ÅëÇØ Á¶ÀÎÀÇ ´õ ±íÀº °÷À» ¿¬±¸ÇØ º¸ÀÚ. ÇнÀÀÌ
¾Æ´Ñ ¿¬±¸°¡ ÇÊ¿äÇØ Á÷Á¢ Äõ¸®¹®À» ÀÛ¼ºÇÏ°í °üÂûÇØ ºÁ¾ß ÇÑ´Ù.
Á¶ÀÎÀº µÎ Å×À̺íÀ» Á¶ÇÕÇÏ¿© ÇϳªÀÇ °á°ú¸¦ ¸¸µé¾î ³½´Ù´Â Á¡¿¡¼ ¼ºêÄõ¸®¿Í À¯»çÇÏ¸ç ½ÇÁ¦·Î µÎ ¹®¹ýÀº ÀÏÁ¤ ºÎºÐ
¼·Î ´ëü °¡´ÉÇÏ´Ù. ±×·¯³ª È¿°ú¸¸ ºñ½ÁÇÒ »Ó ¼öÁØÀÌ ´Ù¸¥ ±â¼úÀÌ´Ù.
Ƽº¼¸®¸¦ ¸¸µå´Â °øÀåÀº ¾îµð ÀÖ´ÂÁö Á¶»çÇÏ´Â ¸í·ÉÀ» °¢°¢ÀÇ ¹æ¹ýÀ¸·Î ÀÛ¼ºÇØ º¸ÀÚ.
¸ÕÀú tCar Å×À̺íÀ» Á¶È¸ÇÏ¿© Ƽº¼¸®¸¦ ¸¸µå´Â ȸ»ç À̸§À» Á¶»çÇÑ´Ù. ½Ö¿ë¿¡¼ ¸¸µé°í ÀÖÀ½À» ¾Ë ¼ö ÀÖ´Ù. ´ÙÀ½Àº ±× ȸ»çÀÇ °øÀåÀÌ ¾îµð¿¡
ÀÖ´ÂÁö tMaker Å×À̺íÀ» Á¶È¸ÇÏ¿© ¾Ë¾Æ³½´Ù.
SELECT maker FROM tCar WHERE car = 'Ƽº¼¸®';
SELECT factory FROM tMaker WHERE maker = '½Ö¿ë';
ÃÖÁ¾ÀûÀ¸·Î ¾Ë°í ½ÍÀº ´äÀº ûÁÖÀÌ´Ù. µÎ Äõ¸®¸¦ ¿¬¼ÓÀûÀ¸·Î ½ÇÇàÇϸé
¾Õ Äõ¸®ÀÇ °á°ú¸¦ »ç¶÷ÀÌ Á÷Á¢ ÀÔ·ÂÇØ¾ß ÇÏ´Â ºÒÆíÇÔÀÌ ÀÖ´Ù. ÀÌ µÎ Äõ¸®¸¦ Çϳª·Î ÇÕÄ¡¸é ¼ºêÄõ¸® ±¸¹®ÀÌ
µÈ´Ù.
SELECT factory FROM tMaker WHERE maker =
(SELECT maker FROM tCar WHERE car = 'Ƽº¼¸®');
¼ºêÄõ¸®¸¦ ÅëÇØ µÎ °³ÀÇ Å×À̺íÀ» Á¶È¸ÇÏ¿© ÃÖÁ¾ÀûÀ¸·Î ¿øÇÏ´Â Á¤º¸¸¦ Á¶»çÇß´Ù.
¶È°°Àº ¹®Á¦¸¦ Á¶ÀÎÀ¸·Îµµ Ç® ¼ö ÀÖ´Ù. ¹®Á¦¸¦ Á¡Á¡ Á¼Çô °¡¸ç Ç®¾î º¸ÀÚ. ¸ÕÀú ÀÚµ¿Â÷ Á¤º¸¿Í Á¦Á¶»ç Á¤º¸¸¦ °°ÀÌ º¸±â À§ÇØ µÎ Å×À̺íÀ» ³»ºÎ Á¶ÀÎÇÏ°í µÎ Å×À̺íÀÇ Á¦Á¶»ç°¡ °°Àº Á¶°ÇÀ»
°Ç´Ù.
SELECT * FROM tCar C INNER JOIN tMaker M ON
M.maker = C.maker;
ÀÚµ¿Â÷¿Í ±× Â÷¸¦ ¸¸µå´Â ȸ»çÀÇ Á¤º¸¸¦ ³ª¶õÈ÷ Ãâ·ÂÇÑ´Ù. ÀÌ Áß ¿ì¸®°¡
¾Ë°í ½ÍÀº Â÷ÀΠƼº¼¸®¸¸ º¸±â À§ÇØ ON Àý(¶Ç´Â WHERE Àýµµ °¡´É)¿¡ Â÷ À̸§À¸·Î Á¶°ÇÀ» ÁöÁ¤ÇÑ´Ù.
SELECT * FROM tCar C INNER JOIN tMaker M ON
M.maker = C.maker AND C.car = 'Ƽº¼¸®';
¼¼ ÀÚµ¿Â÷ Áß Æ¼º¼¸®¿¡ ´ëÇÑ Á¤º¸¸¸ Ç¥½ÃÇÑ´Ù. ÀÌ Áß ¿ì¸®°¡ ¾Ë°í
½ÍÀº °ÍÀº ÀÌ Â÷¸¦ ¸¸µå´Â ȸ»çÀÇ °øÀåÀ̹ǷΠÇÊµå ¸ñ·Ï¿¡ M.factory¸¸ Àû´Â´Ù. °úÁ¤Àº ¾à°£ ´Ù¸£Áö¸¸ ¼ºêÄõ¸®¿Í ¶È°°Àº °á°ú¸¦ Ãâ·ÂÇÑ´Ù.
SELECT M.factory FROM tCar C INNER JOIN tMaker M
ON M.maker = C.maker AND C.car = 'Ƽº¼¸®';
¿©±â±îÁö¸¸ º¸¸é ¼ºêÄõ¸®¿Í Á¶ÀÎÀÇ ¿ëµµ°¡ °ÅÀÇ ºñ½ÁÇØ ÆíÇÑ ¹æ¹ýÀ» »ç¿ëÇÏ¸é µÈ´Ù. ÀÌ °æ¿ì´Â ´Ü ÇϳªÀÇ ´ä¸¸ ±¸ÇÏ¸é µÇ¹Ç·Î ¼ºêÄõ¸®°¡ ´õ Á÷°üÀûÀÌ°í °£ÆíÇÏÁö¸¸ ¿ä±¸ »çÇ×ÀÌ º¹ÀâÇØÁö¸é ¿ªºÎÁ·ÀÌ´Ù. À§ Äõ¸®¸¦ È®ÀåÇÏ¿© Â÷ÀÇ °¡°Ýµµ °°ÀÌ Ãâ·ÂÇÑ´Ù°í ÇØ º¸ÀÚ. Á¶ÀÎÀº
¾îÂ÷ÇÇ µÎ Å×À̺íÀ» ´Ù ÀоúÀ¸¹Ç·Î ÇÊµå ¸ñ·Ï¿¡ ¿øÇÏ´Â Çʵ常 Ãß°¡ÇÏ¸é µÈ´Ù.
SELECT M.factory, C.price FROM tCar C INNER JOIN
tMaker M
ON M.maker = C.maker AND C.car = 'Ƽº¼¸®';
C.price Çʵ常 Ãß°¡ÇÏ¸é °øÀå Á¤º¸ ¿·¿¡ Â÷ÀÇ °¡°Ýµµ Àß ³ª¿Â´Ù. ÀÌ¹Ì ´Ù Á¶»çÇØ ³õÀº Á¤º¸·ÎºÎÅÍ Çʵ尪¸¸ Àд °ÍÀ̶ó ½ÇÇà ¼ÓµµÀÇ °¨¼Òµµ °ÅÀÇ ¾ø´Ù. ±×·¯³ª ¼ºêÄõ¸®´Â ´Ù¸¥ Å×À̺íÀÇ Çʵ带 ÇÑ ¹ø¿¡ ÀÐÀ» ¼ö ¾ø´Ù. ´ÙÀ½
Äõ¸®¹®Àº ¿¡·¯ÀÌ´Ù.
SELECT factory, price FROM tMaker WHERE maker =
(SELECT maker FROM tCar WHERE car = 'Ƽº¼¸®');
tMaker Å×À̺íÀ» Àд Äõ¸®¿¡ tCarÀÇ
price Çʵ带 ÀÐÀ» ¼ö´Â ¾ø´Ù. Á¶°Ç¹®¿¡¼ tCar¸¦ ÂüÁ¶ÇÒ »ÓÀÌÁö tCar¸¦ Á¶È¸ÇÏÁö ¾Ê±â ¶§¹®ÀÌ´Ù. ¸¸¾à Á¤ ¼ºêÄõ¸®·Î ÀÌ ¹®Á¦¸¦ ÇØ°áÇÏ·Á¸é ¶Ç ÇϳªÀÇ ¼ºêÄõ¸®¸¦ Ãß°¡ÇØ¾ß ÇÑ´Ù.
´ÙÀ½ ±¸¹®Àº °¡´ÉÇÏ´Ù.
SELECT factory, (SELECT price FROM tCar WHERE car
= 'Ƽº¼¸®') AS price
FROM tMaker WHERE maker = (SELECT maker FROM tCar
WHERE car = 'Ƽº¼¸®');
°¡°ÝÀº ÇÊµå ¸ñ·Ï¿¡¼ ¼ºêÄõ¸®·Î µû·Î ±¸ÇÏ°í Á¦Á¶»ç´Â Á¶°ÇÀý¿¡¼ ¼ºêÄõ¸®·Î ¶Ç ±¸Çß´Ù. µÎ ¹ø Á¤µµ¶ó¸é ÀÌ ¹æ¹ýµµ ¾µ¸¸ÇÏÁö¸¸ 3¹ø, 4¹ø ¼ºêÄõ¸®°¡ °è¼Ó Ãß°¡µÇ¸é Äõ¸®¹®ÀÌ ±æ¾îÁö°í ¼Óµµµµ ´À¸®´Ù. ¹Ý¸é
Á¶ÀÎÀº µÎ Å×À̺íÀÇ ¸ðµç Çʵ带 ÀÚÀ¯·Ó°Ô ¼±ÅÃÇÒ ¼ö ÀÖ´Ù.
SELECT C.*, M.factory, M.domestic FROM tCar C
INNER JOIN tMaker M
ON M.maker = C.maker AND C.car = 'Ƽº¼¸®';
tCarÀÇ ¸ðµç Çʵå¿Í tMakerÀÇ
°øÀå À§Ä¡, ±¹»êÂ÷ ¿©ºÎ±îÁö ´Ù Ãâ·ÂÇß´Ù. tMaker¿¡
ȸ»ç±Ô¸ð, ¿¬»ê´É·Â, ÀÚº»±Ý, Á¾¾÷¿ø¼ö µîÀÇ ´Ù¸¥ Çʵ尡 ´õ ÀÖ´õ¶óµµ ¾ó¸¶µçÁö Æ÷ÇÔÇÒ ¼ö ÀÖÀ¸¸ç ±×·¯°íµµ ¼º´É»óÀÇ ºÒÀÌÀÍÀº °ÅÀÇ ¾ø´Ù.
¼ºêÄõ¸®¿Í Á¶ÀÎÀÇ ¶Ç ´Ù¸¥ Â÷ÀÌÁ¡Àº Áߺ¹ÇàÀÌ ÀÖÀ» °æ¿ìÀÇ ´ëó ´É·ÂÀÌ´Ù. Å×½ºÆ®¸¦
À§ÇØ ´ÙÀ½ ·¹Äڵ带 »ðÀÔÇØ º¸ÀÚ. ¶È°°Àº Â÷µµ ¹è±â·®¿¡ µû¶ó ¿©·¯ ¸ðµ¨ÀÌ Àִµ¥ Ƽº¼¸® 1800cc ¸ðµ¨À» Ãß°¡Çß´Ù. ¹°·Ð °¡°Ýµµ »ì¦ ¿Ã¶ó°£´Ù.
INSERT INTO tCar (car, capacity, price, maker)
VALUES ('Ƽº¼¸®', 1800, 2600, '½Ö¿ë');
ÀÌ »óÅ¿¡¼ Ƽº¼¸®ÀÇ »ý»ê°øÀåÀ» ±¸ÇÏ´Â ¼ºêÄõ¸®¸¦ ½ÇÇàÇØ º¸ÀÚ. °á°ú
´ë½Å "ÇÏÀ§ ÁúÀÇ¿¡¼ 2°³ ÀÌ»óÀÇ ÇàÀ» ¸®ÅÏÇß´Ù"´Â ¿¡·¯ ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÑ´Ù. Á¶°ÇÀý¿¡¼ maker¿Í µî°¡ ºñ±³¸¦ Çϴµ¥ Ƽº¼¸®¸¦ ¸¸µç ȸ»ç À̸§ÀÌ µÎ °³ ¸®ÅÏµÇ´Ï ¿¡·¯ÀÌ´Ù. ²À ¼öÁ¤ÇÏ·Á¸é = ¿¬»êÀÚ¸¦ INÀ¸·Î
¹Ù²Ù¾î¾ß ÇÑ´Ù.
Á¶ÀÎÀº ¾ÖÃÊ¿¡ ON ÀýÀÇ Á¶°Ç¿¡ ¸Â´Â ¸ðµç ÇàÀ» ´Ù Á¶»çÇÏ´Â ¸í·ÉÀ̾î¼
Áߺ¹ÀÌ ¹®Á¦µÇÁö ¾Ê´Â´Ù. Ƽº¼¸® 1800cc¸¦ Ãß°¡ÇÑ »óÅ¿¡¼µµ
¾Õ¿¡¼ ÀÛ¼ºÇÑ ¸ðµç Á¶Àι®Àº Á¤»ó ½ÇÇàµÈ´Ù. ¹Ù·Î ¾Õ¿¡¼ ÀÛ¼ºÇÑ ÀÚµ¿Â÷ÀÇ ¸ðµç Á¤º¸¿Í °øÀå Á¤º¸¸¦ Á¶»çÇÏ´Â
Äõ¸®¸¦ ½ÇÇàÇØ º¸ÀÚ.
Ãß°¡ÇÑ ·¹Äڵ尡 ³ªÅ¸³ª¸ç Áߺ¹ÀÌ ¸î °³µç »ó°ü¾øÀÌ ¸ðµÎ º¸¿©ÁØ´Ù. °Ô´Ù°¡
²À ¸ÂÁö ¾Ê´Â °á°ú¼Â±îÁö º¸¿©ÁÖ´Â ¿ÜºÎ Á¶Àεµ ÀÖ°í ¿©·¯ °³ÀÇ Å×À̺íÀ» ´ÙÁß Á¶ÀÎÇÒ ¼öµµ ÀÖ´Ù. ¿ÏÀüÈ÷
·¹º§ÀÌ ´Ù¸¥ ±â¼úÀÓÀ» ¾Ë ¼ö ÀÖ´Ù.
±×·¸´Ù°í Çؼ ¼ºêÄõ¸®°¡ ²À ¿µîÇÏ´Ù´Â °ÍÀº ¾Æ´Ï´Ù. ±¸¹®ÀÌ Á÷°üÀûÀ̾î¼
½±°í ´Ù¸¥ Å×ÀÌºí¿¡¼ ÇѵΠ°³ Çʵ常 ÂüÁ¶ÇÒ ¶§´Â °£ÆíÇÏ°í ¼Óµµµµ ºü¸£´Ù. µÎ ±â¼úÀÇ Â÷ÀÌÁ¡À» Àß ÀÌÇØÇÏ°í
¿ëµµ¿¡ ¸Â°Ô ¾²¸é µÈ´Ù. ´ÙÀ½ ½Ç½ÀÀ» À§ÇØ 1800cc Ƽº¼¸®´Â
ÀÏ´Ü »èÁ¦ÇÏÀÚ. ¿À¶óŬÀº ·Ñ¹éÇØ ¹ö¸®¸é µÈ´Ù.
Á¶ÀÎÀº ÁÖÅ×ÀÌºí ¿·¿¡ ºÎÅ×À̺íÀÇ Á¤º¸¸¦ °°ÀÌ º¸¿©ÁÖ´Â ¿ëµµ·Î ÁÖ·Î »ç¿ëÇÑ´Ù. µÎ
Å×À̺íÀ» ´Ü¼øÈ÷ °öÇÑ ³í¸®°öÀº °æ¿ìÀÇ ¼ö°¡ ³Ê¹« ¸¹¾Æ ON Àý¿¡ ÀûÀýÇÑ Á¶°ÇÀ» ÁöÁ¤ÇÏ¿© ÇÊ¿äÇÑ ·¹Äڵ常
°ñ¶ó³»¾ß ÇÑ´Ù. ´ÙÀ½ Äõ¸®´Â tCarÀÇ ÀÚµ¿Â÷ ¸ñ·Ï ¿·¿¡
ÀÚµ¿Â÷¸¦ ¸¸µç ȸ»çÀÇ Á¤º¸¸¦ °°ÀÌ º¸¿©ÁÖ´Â ½ÄÀÌ´Ù.
SELECT C.*, M.factory, M.domestic FROM tCar C LEFT
OUTER JOIN tMaker M
ON C.maker = M.maker;
ÁÖÅ×À̺íÀÇ ¸ðµç ·¹Äڵ带 ´Ù Ãâ·ÂÇϱâ À§ÇØ ¿ÜºÎ Á¶ÀÎÀ¸·Î Á¶ÇÕÇÏ¿© tCarÀÇ
¸ðµç Çʵå¿Í tMakerÀÇ °øÀå, ±¹»ê¿©ºÎ Çʵ带 °°ÀÌ Ãâ·ÂÇß´Ù. ȸ»ç¸íÀº ¾çÂÊ¿¡ ´Ù ÀÖ¾î tMakerÀÇ È¸»ç¸íÀº »ý·«Çß´Ù.
ÁÖÅ×À̺íÀÇ SM5´Â ÀÏ´Ü Ãâ·ÂµÇÁö¸¸ ȸ»ç Á¤º¸°¡ ¾øÀ¸´Ï ¾î¿ ¼ö ¾øÀÌ
NULLÀÌ´Ù. INNER JOINÀ¸·Î ¹Ù²Ù¸é SM5´Â Á¶ÀÎ Á¶°Ç¿¡ ¸ÂÁö ¾Ê¾Æ Á¦¿ÜÇÑ´Ù. ÁÖÅ×À̺íÀ» ÀÏ´Ü Ãâ·ÂÇÏ°í
±× ¿·¿¡ ON ÀýÀÇ Á¶°Ç¿¡ ¸Â´Â ºÎÅ×À̺íÀÇ Á¤º¸¸¦ Ãß°¡ÇÏ´Â ½ÄÀÌ´Ù.
ON Àý¿¡ Á¶°Ç¸¸ Á¦´ë·Î ÁÖ¸é ´ë°³ÀÇ °æ¿ì Á¶ÀÎ °á°ú¼ÂÀº ÁÖÅ×ÀÌºíº¸´Ù
Å©Áö ¾Ê´Ù. ¿ÜºÎ Á¶ÀÎÀ̸é ÁÖÅ×À̺í°ú °°Àº 5ÇàÀÌ°í ³»ºÎ
Á¶ÀÎÀ̸é Á¶°Ç¿¡ ¸ÂÁö ¾Ê´Â ÇàÀÌ Á¦¿ÜµÇ¾î 4ÇàÀÌ´Ù. ÁÖÅ×À̺í
¿·¿¡ Á¶°Ç¿¡ ¸Â´Â ºÎÅ×À̺íÀ» µ¡ºÙÀδٰí ÀÌÇØÇϸé Á÷°üÀûÀÌ´Ù.
±×·¯³ª Á¶ÀÎ °á°ú¼ÂÀÇ Å©±â°¡ Ç×»ó ÁÖÅ×À̺í ÀÌÇÏÀÎ °ÍÀº ¾Æ´Ï´Ù. PK¿Í
FK°¡ Á¤È®È÷ ¿¬°áµÇ¾î ÀÖ°í PK¿¡ Áߺ¹ÀÌ ¾øÀ» ¶§¸¸ ±×·¸´Ù. ½Ç¹« ÇÁ·ÎÁ§Æ®¿¡¼´Â ÀÓÀÇ Çʵ带 ±âÁØÀ¸·Î Á¶ÀÎÀ» °É±âµµ ÇÏ°í Áߺ¹°ªÀÌ Á¸ÀçÇÏ´Â °æ¿ìµµ ÈçÇÏ´Ù. Å×½ºÆ®¸¦ À§ÇØ ´ÙÀ½ Äõ¸®·Î »ùÇà Å×À̺íÀ» º¯°æÇØ º¸ÀÚ.
INSERT INTO tCar (car, capacity, price, maker)
VALUES ('¼Ò³ªÅ¸', 2400, 2900, 'Çö´ë');
INSERT INTO tMaker (maker, factory, domestic)
VALUES ('Çö´ë', '¿ï»ê', 'y');
INSERT INTO tMaker (maker, factory, domestic)
VALUES ('Çö´ë', '¸¶»ê', 'y');
¼Ò³ªÅ¸ 2400cc¸¦ Ãß°¡ÇÑ´Ù. ¼Ò³ªÅ¸µµ
¿£Áø¿¡ µû¶ó ±ÞÀÌ ¿©·¯ Á¾·ùÀÌ´Ù. ±×¸®°í Çö´ëÂ÷ °øÀåÀ» ¿ï»ê, ¸¶»ê¿¡µµ
ÁõÃàÇÏ¿´´Ù. ÀÌ »óÅ·Π°è¼Ó ½Ç½ÀÀ» ÁøÇàÇÒ °ÍÀ̹ǷΠ¾Æ¿¹ Ä¿¹ÔÇØ ³õÀÚ.
±ÍÂú´õ¶óµµ ÀÌ ½Ç½ÀÀº Á¶ÀÎÀÇ Æ¯¼ºÀ» ÆľÇÇϴµ¥ Áß¿äÇÑ Àǹ̰¡ ÀÖ¾î Á÷Á¢ ÇØ ºÁ¾ß ÇÑ´Ù.
ÁÖ Å×ÀÌºí¿¡ °°Àº À̸§ÀÇ ÀÚµ¿Â÷ 2°³°¡ ÀÖ°í ºÎÅ×ÀÌºí¿¡ °°Àº À̸§ÀÇ
ȸ»ç¸íÀÌ 3°³ ÀÖ´Ù. ¹°·Ð ¼¼ºÎ ¼Ó¼º±îÁö º¸¸é À̵éÀº ½ÇÁ¦·Î´Â
´Ù¸¥ Â÷¿Í ´Ù¸¥ °øÀåÀÌ´Ù. ÀÌ »óÅ¿¡¼ ³»ºÎ Á¶ÀÎÀ» °É¾î º¸ÀÚ.
SELECT * FROM tCar C INNER JOIN tMaker M ON
C.maker = M.maker;
tCar¿¡´Â Â÷°¡ 5´ë¹Û¿¡
¾øÁö¸¸ Á¶ÀÎ °á°ú¼ÂÀº 8ÇàÀ¸·Î ¿ÀÈ÷·Á ´Ã¾î³µ´Ù. 2Á¾·ùÀÇ
¼Ò³ªÅ¸¸¦ 3°÷ÀÇ Çö´ë °øÀå¿¡¼ ¸¸µé°í ÀÖÀ¸´Ï ±× Á¶ÇÕÀÌ 6°³·Î
´Ã¾î³´Ù. ON ÀýÀÇ Á¶°ÇÀº Â÷¿Í Á¦Á¶»çÀÇ °øÀåÀÌ °°Àº °Í¸¸ ÁöÁ¤ÇÒ »Ó ¾î¶² Â÷ÀÎÁö, ¾îµð¿¡ ÀÖ´Â °øÀåÀÎÁö´Â ±¸Ã¼ÀûÀ¸·Î ÁöÁ¤ÇÏÁö ¾Ê¾Ò´Ù.
Á¶ÀÎÀº ³í¸®°ö¿¡¼ Á¶°Ç¿¡ ¸Â´Â ÇàÀ» °É·¯³»´Âµ¥ Áߺ¹ÇàÀÌ Á¶°Ç¿¡ °É·¯ÁöÁö ¾ÊÀ¸¸é ÁÖÅ×ÀÌºíº¸´Ù ´õ ¸¹Àº °á°ú¼ÂÀ»
»ý¼ºÇÑ´Ù. PK¿Í FK´Â 1:1°ü°èº¸´Ù
1:´ÙÀÇ °ü°è°¡ ´õ ÈçÇÏ°í Á¶ÀÎ °á°ú¼ÂÀº Á¶°Ç¿¡ ¸Â´Â ¸ðµç Á¶ÇÕÀ» ´Ù Ãâ·ÂÇÑ´Ù. ÀÌ Áß Æ¯Á¤ Á¶ÇÕ¸¸ º¸°í ½Í´Ù¸é ´õ »ó¼¼ÇÑ Á¶°ÇÀ» Ãß°¡ÇØ¾ß ÇÑ´Ù.
À§ ¿¹´Â Áߺ¹À» ÀÎÀ§ÀûÀ¸·Î ¸¸µç Ư¼öÇÑ »óȲÀÌ¸ç ½Ç¹« ÇÁ·ÎÁ§Æ®¿¡¼µµ Áߺ¹ ÇàÀÌ ½ÉÇÑ ¿¹°¡ ±×¸® ¸¹Áö´Â ¾Ê´Ù. ±×·¯³ª °ªÀ» ¾Ë ¼ö ¾ø´Â NULL°ú °ªÀÌ ¾ø´Â °ø¹éÀº Áߺ¹ ºñÀ²ÀÌ
³ô´Ù. ÀÌ °æ¿ì º°µµÀÇ Á¶°ÇÀ» Ãß°¡ÇÏÁö ¾ÊÀ¸¸é Á¶ÀÎ °á°ú¼ÂÀº ±âÇϱ޼öÀûÀ¸·Î ´Ã¾î³´Ù.
20¸¸ °ÇÀÇ µÎ Å×ÀÌºí¿¡ Á¤º¸°¡ ´Ù ÀԷµÇÁö ¾Ê¾Æ NULL°ú °ø¹éÀÌ °¢°¢ 4¸¸ °Ç, 7¸¸
°ÇÀÌ ÀÖ´Ù¸é ÀÌ µÑÀ» Á¶ÀÎÇÑ °á°ú¼ÂÀº 28¾ï°ÇÀÌ µÈ´Ù. ÀÌ·±
Äõ¸®¸¦ À߸ø ½ÇÇàÇÏ¸é ¾Æ¹«¸® °í¼º´É ¼¹ö¶óµµ ¸Þ¸ð¸®°¡ °í°¥µÇ¾î ´Ù¿îµÇ¾î ¹ö¸°´Ù. Áߺ¹ÀÌ ÈçÇÑ Å×À̺íÀº
Á¶ÀÎ Á¶°Ç¿¡ Áߺ¹À» Á¦°ÅÇϴ ó¸®°¡ ÇʼöÀÌ´Ù.
Á¶Àο¡ ÀÇÇØ »ý¼ºÇÑ °á°ú¼Âµµ ÇϳªÀÇ Å×À̺íÀÌ¸ç µû¶ó¼ WHERE Àý·Î
Ãâ·ÂÇÒ Á¶°ÇÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. µÎ Á¾·ùÀÇ ¼Ò³ªÅ¸ Áß¿¡ 2000cc ¼Ò³ªÅ¸¸¸
Ãâ·ÂÇØ º¸ÀÚ. ¸ÕÀú ³»ºÎ Á¶ÀÎÀÇ °æ¿ì¸¦ º¸ÀÚ.
SELECT * FROM tCar C INNER JOIN tMaker M ON
C.maker = M.maker WHERE C.capacity = 2000;
Á¶Àι® ³¡¿¡ capacity°¡ 2000À̶ó´Â
WHERE ÀýÀ» Ãß°¡ÇÏ¿© ¹è±â·®ÀÌ 2000ÀÎ Â÷¸¸ Ãâ·ÂÇÑ´Ù. SM5µµ ¹è±â·®ÀÌ 2000ÀÌÁö¸¸ ȸ»ç Á¤º¸°¡ ¾ø¾î ³»ºÎ Á¶ÀÎ °á°ú¿¡¼
Á¦¿ÜµÇ¾úÀ½À» À¯ÀÇÇÏÀÚ. ÀÌ ¸í·ÉÀº Á¶°ÇÀýÀÌ ON, WHERE 2°³³ª
Àִµ¥ ÀÌ µÑÀº ¹Ì¼¼ÇÏ°Ô ´Ù¸£´Ù. ¹è±â·® Á¶°ÇÀ» ON Àý·Î
¿Å°Ü º¸ÀÚ. WHERE¸¦ AND·Î ¹Ù²Ù¸é µÈ´Ù.
SELECT * FROM tCar C INNER JOIN tMaker M ON
C.maker = M.maker AND C.capacity = 2000;
µÎ ¸í·ÉÀÇ Àǹ̴ ´Ù¸£´Ù. ÀüÀÚ´Â Á¶ÀÎÇÑ ÈÄ 2000cc¸¸ Ãß·Á³»´Â °ÍÀÌ°í ÈÄÀÚ´Â Á¶ÀÎÇÒ ¶§ 2000cc¸¸ ´ë»óÀ¸·Î
ÇÑ´Ù. ±×·¯³ª ³»ºÎ Á¶ÀÎÀº Á¶°ÇÀÌ ÀÏÄ¡ÇÏ´Â Çุ º¸¿©Áֱ⠶§¹®¿¡ ON¿¡
ÀÖÀ¸³ª WHERE¿¡ ÀÖÀ¸³ª È¿°ú´Â °°´Ù. ±×·¯³ª ¿ÜºÎ Á¶ÀÎÀÇ
°æ¿ì´Â ±×·¸Áö ¾Ê´Ù. ¸ÕÀú WHERE Àý¿¡ Á¶°ÇÀ» °É¾î º¸ÀÚ.
SELECT * FROM tCar C LEFT OUTER JOIN tMaker M ON
C.maker = M.maker
WHERE C.capacity = 2000;
WHERE Àý¿¡ Á¶°ÇÀ» ÁöÁ¤ÇÏ¸é ³»ºÎ Á¶Àΰú Å« Â÷ÀÌ°¡ ¾ø´Ù. ´Ù¸¸ ¿ÜºÎ Á¶ÀÎÀ̹ǷΠȸ»ç Á¤º¸°¡ ¾ø´Â SM5µµ °á°ú¼Â¿¡ Æ÷ÇԵǸç
ÀÌ Â÷µµ ¹è±â·® 2000cc Á¶°ÇÀ» ¸¸Á·ÇϹǷΠÃâ·Â ´ë»óÀÌ´Ù. Á¶ÀÎÇÑ ÈÄ ¹è±â·®ÀÌ
2000ÀÎ Â÷¸¸ ³ªÅ¸³´Ù. ±×·¯³ª ON Àý¿¡ Á¶°ÇÀ» ÁöÁ¤ÇÏ¸é °á°ú´Â ¿ÏÀüÈ÷ ´Þ¶óÁø´Ù. WHERE¸¦ AND·Î ¹Ù²ã º¸ÀÚ.
SELECT * FROM tCar C LEFT OUTER JOIN tMaker M
ON C.maker = M.maker AND C.capacity = 2000;
ÀÌ ¸í·ÉÀº Á¶ÀÎÇÒ ¶§ Á¦Á¶»ç°¡ °°Àº °Í »Ó¸¸ ¾Æ´Ï¶ó ¹è±â·®ÀÌ 2000ÀÎÁöµµ
Á¡°ËÇÏ¿© ÀÌ Á¶°Ç¿¡ ÇØ´çÇÏ´Â Â÷¿¡ ´ëÇØ tMakerÀÇ ¼¼ºÎ Á¤º¸¸¦ Ç¥½ÃÇÑ´Ù. ÁÖ Å×À̺íÀÇ ³ª¸ÓÁö Â÷µµ ÀÏ´ÜÀº ¸ñ·Ï¿¡ ³ªÅ¸³ª¸ç ´Ù¸¸ Á¶ÀÎ Á¶°Ç¿¡ ºÎÇÕÇÏÁö ¾Ê¾Æ ºÎÅ×À̺íÀÇ Á¤º¸¸¦ NULL·Î Ç¥½ÃÇÑ´Ù.
ON Á¶°Ç°ú WHERE Á¶°ÇÀº
Àû¿ë ½ÃÁ¡ÀÌ ´Ù¸£´Ù. ON Á¶°ÇÀº Á¶ÀÎ ´Ü°è¿¡¼ ºÎÅ×À̺íÀÇ Á¤º¸¸¦ ÀÐÀ» ´ë»óÀ» ¼±ÅÃÇÏ°í WHERE ÀýÀº Á¶ÀÎÇÑ °á°ú¼Â¿¡¼ Ãâ·ÂÇÒ ·¹Äڵ带 ¼±ÅÃÇÑ´Ù. ON ÀýÀÇ
Á¶°ÇÀ» ¸ÕÀú Àû¿ëÇÏ¿© °á°ú¼ÂÀ» »ý¼ºÇÏ°í WHERE ÀýÀº Ãâ·ÂÇϱâ Àü¿¡ Àû¿ëÇÑ´Ù.
ON ÀýÀÇ Á¶°ÇÀº 2000cc¸¸
Á¶ÀÎÇ϶ó´Â ¶æÀÌ°í WHERE ÀýÀÇ Á¶°ÇÀº 2000cc¸¸ º¸¿©
´Þ¶ó´Â ¶æÀÌ´Ù. ON C.capacity = 2000Àº ÀÌ Á¶°Ç¿¡ ¸Â´Â Â÷¸¸ ºÎÅ×À̺íÀÇ Á¤º¸¸¦ ÀÐÀ¸¶ó´Â
¶æÀÌÁö 2000cc°¡ ¾Æ´Ï¶ó°í Çؼ Ãâ·Â ´ë»ó¿¡¼ Á¦¿ÜÇ϶ó´Â ¶æÀÌ ¾Æ´Ï´Ù.
Á» Çò°¥¸®´Âµ¥ ÀÌ ¼¶¼¼ÇÑ Â÷À̸¦ Àß ÀÌÇØÇØ¾ß ÇÑ´Ù. µÑ ´Ù Á¶°Ç¹®ÀÌÁö¸¸
Àû¿ë ½ÃÁ¡°ú ´ë»óÀÌ ´Ù¸£´Ù. °¢°¢ ´Ù¸¥ Á¶°ÇÀ̶ó¸é ON Àý¿¡
Á¶°ÇÀ» °É°í WHERE Àý¿¡µµ Á¶°ÇÀ» ¶Ç °É ¼ö ÀÖ´Ù. °á°ú¼ÂÀÌ
ÇϳªÀÇ Å×À̺íÀ̹ǷΠORDER BYµµ ¹°·Ð ºÙÀÏ ¼ö ÀÖ´Ù.
SELECT * FROM tCar C LEFT OUTER JOIN tMaker M
ON C.maker = M.maker AND C.capacity = 2000 WHERE
C.price > 2800 ORDER BY price DESC;
¹è±â·® 2000ccÀÎ Â÷¸¸ Á¶ÀÎÇÑ ÈÄ °¡°ÝÀÌ 2800¸¸¿ø ÃÊ°úÀÎ Â÷¸¸ Ãâ·ÂÇß´Ù. Á¶ÀÎÀ» ¸ÕÀú ¼öÇàÇÑ ÈÄ WHERE Àý¿¡¼ °á°ú¸¦ °É·¯³½´Ù. JOIN ON ¹®±îÁö ÇϳªÀÇ Å×À̺í·Î
º¸°í WHERE´Â Á¶ÀÎ °á°ú¿¡ ´ëÇØ Á¶°ÇÀ» Ãß°¡ÇÏ´Â °ÍÀÌ´Ù. ¼Ò³ªÅ¸
2000cc´Â Á¦¿ÜÇÏ°í Ƽº¼¸®, SM5µµ Ãâ·Â ´ë»ó¿¡¼ ºüÁø´Ù.
Áö±Ý±îÁö´Â tCar, tMaker Å×À̺í Àüü¿¡ ´ëÇØ Á¶ÀÎÀ» °É¾ú´Âµ¥
ÀϺΠ·¹Äڵ常 Ãß·Á³½ ÈÄ Á¶ÀÎÀ» °É ¼öµµ ÀÖ´Ù. ¿¹¸¦ µé¾î Â÷Áß¿¡ 2000cc
ÃÊ°ú¸¸ ´ë»óÀ¸·Î Á¶ÀÎÀ» °Ç´Ù¸é tCar Å×ÀÌºí¿¡ Á¶°ÇÀ» °É¾î¾ß ÇÑ´Ù. Å×À̺íÀÇ ÀϺθ¸ Ãß·Á³¾ ¶§´Â WHERE ÀýÀ» »ç¿ëÇϴµ¥ ´ÙÀ½ ±¸¹®À»
º¸ÀÚ.
SELECT * FROM tCar WHERE capacity > 2000 C LEFT
JOIN tMaker M ON C.maker = M.maker;
SELECT * FROM tCar WHERE capacity > 2000
±îÁö´Â 2000cc ÃÊ°úÀÇ Â÷¸¦ Ç¥ÇöÇÏ´Â Äõ¸®¹®ÀÌ¸ç ´Üµ¶ ½ÇÇà °¡´ÉÇÏ´Ù. ±×·¯³ª WHERE ÀýÀÌ JOIN Å×À̺í
Áß°£¿¡ ³¢¾îµå´Â °ÍÀº Çã¶ôÇÏÁö ¾Ê´Â´Ù. JOINÀº Å×ÀÌºí³¢¸® ÇÏ´Â °ÍÀÌ¸ç ¾çÂÊÀÌ ¸ðµÎ Å×À̺íÀ̾î¾ß ÇÑ´Ù. Á¶°Ç±îÁö Æ÷ÇÔÇÑ Äõ¸®¹®À» Á¶ÀÎ Å×À̺í·Î »ç¿ëÇÏ·Á¸é ÀζóÀκä·Î Á¤ÀÇÇÑ´Ù.
SELECT * FROM (SELECT * FROM tCar WHERE capacity
> 2000) C
LEFT JOIN tMaker M ON C.maker = M.maker;
2000cc ÃÊ°úÀÇ Â÷¸¦ ±¸ÇÏ´Â Äõ¸®¹®À» °ýÈ£·Î °¨½Î ÀζóÀκä·Î Á¤ÀÇÇÏ°í
º°¸í C¸¦ ºÙÀÎ ÈÄ C¿Í tMaker¸¦
Á¶ÀÎÇÑ´Ù. º°¸í C¸¦ tCar¿¡
ºÙÀÌ´Â °ÍÀÌ ¾Æ´Ï¶ó Á¶°Ç±îÁö ´Ù ÁöÁ¤ÇÑ ÀζóÀκ信 ºÙÀδٴ °ÍÀ» À¯ÀÇÇÏÀÚ. ÁÖ Å×ÀÌºí¿¡¼ 2000cc ÀÌÇÏÀÇ Â÷ÀΠƼº¼¸®, SM5, ¼Ò³ªÅ¸ 2000cc´Â Á¦¿ÜµÇ°í A8°ú ¼Ò³ªÅ¸ 2400cc¸¸ ³²´Â´Ù.
±×·¸´Ù¸é 2000cc ÃÊ°ú Á¶°ÇÀ» ÀζóÀκ䰡 ¾Æ´Ñ Á¶Àι® Àüü¿¡ ´ëÇØ
°É¸é ¾î¶»°Ô µÉ±î? Áï, Á¶ÀÎ ´ë»óÀº Àüü ÀÚµ¿Â÷·Î ÇÏ°í
Á¶ÀÎ ÈÄÀÇ °á°ú¼Â Áß¿¡ 2000cc ÃÊ°ú Â÷¸¸ Ãâ·ÂÇÑ´Ù.
SELECT * FROM tCar C LEFT JOIN tMaker M ON C.maker
= M.maker WHERE C.capacity > 2000;
Àǹ̻óÀ¸·Î´Â ´Ù¸¥ ¸í·ÉÀÌÁö¸¸ ÀÌ °æ¿ì´Â È¿°ú°¡ °°´Ù. ±×·¯³ª °á°ú°¡
°°´Ù°í Çؼ ¿ÏÀüÈ÷ °°Àº °ÍÀº ¾Æ´Ï´Ù. Â÷°¡ 100¸¸´ë Á¤µµ
ÀÖ´Ù¸é ÀÌ Áß ÀϺθ¦ ¸ÕÀú Ã߸° ÈÄ Á¶ÀÎÀ» °Å´Â °Í°ú 100¸¸´ë¸¦ ´Ù Á¶ÀÎÇÑ ÈÄ ±× Áß ÀϺθ¦ Ã߸®´Â
°ÍÀº ÀÛ¾÷·®¿¡ ÀÖ¾î Â÷ÀÌ°¡ ÀÖ´Ù.
¿ø·ÐÀûÀ¸·Î´Â ¸ÕÀú ¼Ô¾Æ ³»´Â °ÍÀÌ ´õ ºü¸£Áö¸¸ ´ÙÇàÈ÷ DBMSÀÇ ÃÖÀûÈ¿¡
ÀÇÇØ ½ÇÁ¦·Î´Â Â÷ÀÌ°¡ °ÅÀÇ ¾ø´Ù. DBMS´Â ¹Ù±ùÀÇ WHERE Á¶°Ç±îÁö
°í·ÁÇÏ¿© ÃÖÁ¾ÀûÀ¸·Î Á¦¿ÜÇÒ ·¹ÄÚµå´Â Á¶ÀÎÇÏÁö ¾ÊÀ» Á¤µµ·Î ÃæºÐÈ÷ ¶È¶ÈÇÏ´Ù.
ºÎÅ×ÀÌºíµµ ÀϺΠ·¹Äڵ常À» ´ë»óÀ¸·Î ÇÒ ¼ö ÀÖÀ¸¸ç À̶§µµ ÀζóÀκä·Î Á¤ÀÇÇÑ´Ù.
Å×À̺íÀÌ µé¾î°¥ ¼ö ÀÖ´Â ÀÚ¸®À̸é ÀζóÀκ䵵 Ç×»ó µé¾î°¥ ¼ö ÀÖ´Ù. ´ÙÀ½ ¸í·ÉÀº 2000cc ÃÊ°úÀÇ ÀÚµ¿Â÷¿Í ¿ï»ê¿¡ °øÀåÀÌ ÀÖ´Â Á¦Á¶»ç¸¦ Á¶ÀÎÇÑ´Ù.
SELECT * FROM (SELECT * FROM tCar WHERE capacity
> 2000) C LEFT JOIN
(SELECT * FROM tMaker WHERE factory = '¿ï»ê') M ON C.maker = M.maker;
¿ï»ê¿¡ ÀÖ´Â Çö´ë¸¸ Á¶ÀÎÀÌ °É¸®¹Ç·Î ¼Ò³ªÅ¸ 2400cc¿¡ ´ëÇؼ¸¸
ȸ»ç Á¤º¸°¡ ³ªÅ¸³´Ù. A8Àº ÁÖ Å×À̺íÀÇ Á¶°Ç¿¡ ºÎÇÕÇØ ¸ñ·Ï¿¡ ³ªÅ¸³ªÁö¸¸ ȸ»ç°¡ ¿ï»êÀÌ ÀÖÁö ¾Ê¾Æ
¼¼ºÎ Á¤º¸´Â ³ªÅ¸³ªÁö ¾Ê´Â´Ù. ºÎÅ×À̺íÀº ÀζóÀκ信¼ Á¶°ÇÀ» °Å´Â °Í°ú Àüü °á°ú¼Â¿¡ Á¶°ÇÀ» °Å´Â °ÍÀÌ
°á°ú°¡ ´Ù¸£´Ù.
SELECT * FROM (SELECT * FROM tCar WHERE capacity
> 2000) C LEFT JOIN
tMaker M ON C.maker = M.maker WHERE M.factory = '¿ï»ê';
ÀÌ·¸°Ô Çϸé A8Àº ¾Æ¿¹ ÃÖÁ¾ °á°ú¼Â¿¡¼ Á¦¿ÜµÈ´Ù. ºÎ Å×À̺íÀÇ Á¶°ÇÀº ¼¼ºÎ Á¤º¸¸¦ Á¦ÇÑÇϴµ¥ ºñÇØ Àüü °á°ú¼Â¿¡ ´ëÇÑ WHERE
Á¶°ÇÀº Çà ÀÚü¸¦ Á¦¿ÜÇÑ´Ù. A8À» ¸¸µå´Â Audi´Â
¿ï»ê¿¡ °øÀåÀÌ ¾øÀ¸´Ï ¾Æ¿¹ Ãâ·Â ´ë»óÀÌ ¾Æ´Ï´Ù.
¿¬½À ¹®Á¦
4.ÇÁ·ÎÁ§Æ® ºñ¿ëÀÌ 500¸¸¿ø
¹Ì¸¸ÀÎ ÇÁ·ÎÁ§Æ®¸¦ Á¶»çÇ쵂 ÇÁ·ÎÁ§Æ®ÀÇ ´ã´çÀÚ¸¦ °°ÀÌ Á¶»çÇ϶ó.