10-2.Á¶ÀÎÀÇ Á¶°Ç

1.¼­ºêÄõ¸®¿ÍÀÇ Â÷ÀÌÁ¡

¾Õ Àý¿¡¼­ Á¶ÀÎÀÇ Á¤ÀÇ¿Í Á¾·ù, ±×¸®°í ±âº» µ¿ÀÛ¿¡ ´ëÇØ °£·«ÇÏ°Ô ¾Ë¾Æº¸¾Ò´Ù. ½Ç¹« ÇÁ·ÎÁ§Æ®¿¡¼­ »ç¿ëÇÏ´Â Á¶ÀÎÀº À̺¸´Ù ¼öÁØÀÌ ¿ùµîÈ÷ ³ô´Ù. ±âº»À» ¹ÙÅÁÀ¸·Î ´Ü°èÀûÀÎ ½Ç½ÀÀ» ÅëÇØ Á¶ÀÎÀÇ ´õ ±íÀº °÷À» ¿¬±¸ÇØ º¸ÀÚ. ÇнÀÀÌ ¾Æ´Ñ ¿¬±¸°¡ ÇÊ¿äÇØ Á÷Á¢ Äõ¸®¹®À» ÀÛ¼ºÇÏ°í °üÂûÇØ ºÁ¾ß ÇÑ´Ù.

Á¶ÀÎÀº µÎ Å×À̺íÀ» Á¶ÇÕÇÏ¿© ÇϳªÀÇ °á°ú¸¦ ¸¸µé¾î ³½´Ù´Â Á¡¿¡¼­ ¼­ºêÄõ¸®¿Í À¯»çÇÏ¸ç ½ÇÁ¦·Î µÎ ¹®¹ýÀº ÀÏÁ¤ ºÎºÐ ¼­·Î ´ëü °¡´ÉÇÏ´Ù. ±×·¯³ª È¿°ú¸¸ ºñ½ÁÇÒ »Ó ¼öÁØÀÌ ´Ù¸¥ ±â¼úÀÌ´Ù. Ƽº¼¸®¸¦ ¸¸µå´Â °øÀåÀº ¾îµð ÀÖ´ÂÁö Á¶»çÇÏ´Â ¸í·ÉÀ» °¢°¢ÀÇ ¹æ¹ýÀ¸·Î ÀÛ¼ºÇØ º¸ÀÚ.

¸ÕÀú 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 Ƽº¼¸®´Â ÀÏ´Ü »èÁ¦ÇÏÀÚ. ¿À¶óŬÀº ·Ñ¹éÇØ ¹ö¸®¸é µÈ´Ù.

2.Áߺ¹ÀÌ ÀÖÀ» ¶§ÀÇ Á¶ÀÎ

Á¶ÀÎÀº ÁÖÅ×ÀÌºí ¿·¿¡ ºÎÅ×À̺íÀÇ Á¤º¸¸¦ °°ÀÌ º¸¿©ÁÖ´Â ¿ëµµ·Î ÁÖ·Î »ç¿ëÇÑ´Ù. µÎ Å×À̺íÀ» ´Ü¼øÈ÷ °öÇÑ ³í¸®°öÀº °æ¿ìÀÇ ¼ö°¡ ³Ê¹« ¸¹¾Æ 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¾ï°ÇÀÌ µÈ´Ù. ÀÌ·± Äõ¸®¸¦ À߸ø ½ÇÇàÇÏ¸é ¾Æ¹«¸® °í¼º´É ¼­¹ö¶óµµ ¸Þ¸ð¸®°¡ °í°¥µÇ¾î ´Ù¿îµÇ¾î ¹ö¸°´Ù. Áߺ¹ÀÌ ÈçÇÑ Å×À̺íÀº Á¶ÀÎ Á¶°Ç¿¡ Áߺ¹À» Á¦°ÅÇϴ ó¸®°¡ ÇʼöÀÌ´Ù.

3.Á¶ÀÎÀÇ Á¶°Ç ó¸®

Á¶Àο¡ ÀÇÇØ »ý¼ºÇÑ °á°ú¼Âµµ ÇϳªÀÇ Å×À̺íÀÌ¸ç µû¶ó¼­ 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µµ Ãâ·Â ´ë»ó¿¡¼­ ºüÁø´Ù.

4.ÀζóÀκä Á¶ÀÎ

Áö±Ý±îÁö´Â 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¸¸¿ø ¹Ì¸¸ÀÎ ÇÁ·ÎÁ§Æ®¸¦ Á¶»çÇ쵂 ÇÁ·ÎÁ§Æ®ÀÇ ´ã´çÀÚ¸¦ °°ÀÌ Á¶»çÇ϶ó.