|
Oracle Database 10g : SQL Fundamentals I (30½Ã°£ ±³À°)
|
ÀÌ °úÁ¤¿¡¼´Â ¼ö°»ýµé¿¡°Ô Oracle Database 10g µ¥ÀÌÅͺ£À̽º ±â¼úÀ» ¼Ò°³ÇÕ´Ï´Ù.
¼ö°»ýµéÀº °ü°èÇü µ¥ÀÌÅͺ£À̽ºÀÇ °³³ä°ú °·ÂÇÑ SQL ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡ ´ëÇØ ¹è¿ó´Ï´Ù.
ÀÌ °úÁ¤¿¡¼´Â ´ÜÀÏ Å×À̺í°ú ´ÙÁß Å×ÀÌºí¿¡ ´ëÇÑ query ÀÛ¼º, Å×ÀÌºí µ¥ÀÌÅÍ Á¶ÀÛ, µ¥ÀÌÅͺ£À̽º °´Ã¼ »ý¼º ¹×
¸ÞŸ µ¥ÀÌÅÍ query ÀÛ¾÷ µîÀ» ¼öÇàÇÒ ¼ö ÀÖ´Â °³¹ßÀÚ¿¡°Ô ÇʼöÀûÀÎ SQL ±â¼ú¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù.
¶ÇÇÑ ¼ö°»ýµéÀº SQLÀÇ °í±Þ ±â´ÉÀ» »ç¿ëÇÏ¿© µ¥ÀÌÅͺ£À̽ºÀÇ µ¥ÀÌÅ͸¦ query ¹× Á¶ÀÛÇÏ´Â ¹æ¹ýÀ» ¹è¿ó´Ï´Ù.
°í±Þ query ¹× º¸°í ±â¹ý¿¡ ´ëÇؼµµ ÇнÀÇÕ´Ï´Ù.
¶ÇÇÑ µ¥ÀÌÅÍ ¿þ¾îÇÏ¿ì¡ ¹× ´Ù¸¥ ÀÀ¿ë ÇÁ·Î±×·¥ ¿µ¿ª¿¡ À¯¿ëÇÑ ½ºÅ°¸¶ °´Ã¼¸¦ ÀÚ¼¼È÷ ÀÍÈ÷°Ô µË´Ï´Ù.
¼ö°»ýµéÀº ´ëÇü µ¥ÀÌÅÍ ÁýÇÕÀ» Á¶ÀÛÇÏ´Â ¹æ¹ý°ú ´Ù¸¥ ½Ã°£´ë¿¡ µû¶ó ³¯Â¥¸¦ ÀúÀå ¹× °Ë»öÇÏ´Â ¹æ¹ýÀ» ¹è¿ó´Ï´Ù. |
|
Oracle Databse 10g ¼Ò°³
|
Oracle Database 10gÀÇ ÁÖ¿ä ±â´É ³ª¿
±¸¼º ¿ä¼Ò, ÀÎÅÍ³Ý Ç÷§Æû, Application Server ¹× Developer Suite¿¡ ´ëÇÑ °³¿ä
°ü°èÇü ¹× °´Ã¼ °ü°èÇü µ¥ÀÌÅͺ£À̽º ¼³°è ¼³¸í
½Ã½ºÅÛ °³¹ß Áֱ⠰ËÅä
µ¥ÀÌÅÍ ¸ðµ¨ ¿ë¾î Á¤ÀÇ
´Ù¸¥ µ¥ÀÌÅÍ ÀúÀå ¹æ¹ý ¼³¸í
´ÙÁß Å×ÀÌºí ¿¬°ü ¹æ¹ý Ç¥½Ã
SQL°ú µ¥ÀÌÅͺ£À̽ºÀÇ »óÈ£ ÀÛ¿ë ¹æ½Ä ¼³¸í
|
|
SQL S e l e c t ¹® ÀÛ¼º
|
ÇÁ·ÎÁ§¼Ç, ½Ç·º¼Ç, Á¶ÀÎ ¿ë¾î Á¤ÀÇ
±âº» SQL S e l e c t ¹® ±¸¹® °ËÅä
´ëü ¹®ÀÚ Ç¥±â¹ýÀ» »ç¿ëÇÏ¿© Å×À̺íÀÇ ¸ðµç ¿ ¼±ÅÃ
SQL ¹® ÀÛ¼ºÀ» À§ÇÑ °£´ÜÇÑ ±ÔÄ¢ ¹× Áöħ ¼³¸í
»ê¼ú ¿¬»êÀÚ¸¦ Æ÷ÇÔÇÏ´Â Query ÀÛ¼º
¿¬°á ¿¬»êÀÚ¸¦ »ç¿ëÇÏ¿© ¹®ÀÚ½Ä »ý¼º
iSQL*Plus ȯ°æ »ç¿ë
SQL ¹®°ú iSQL*Plus ¸í·É ºñ±³ |
|
µ¥ÀÌÅÍ Á¦ÇÑ ¹× Á¤·Ä
|
½Ç·º¼ÇÀ» »ç¿ëÇÏ¿© Çà Á¦ÇÑ
WHERE ÀýÀ» »ç¿ëÇÏ¿© ƯÁ¤ Çà °Ë»ö
WHERE Àý¿¡ ºñ±³ Á¶°Ç »ç¿ë
LIKE Á¶°ÇÀ» »ç¿ëÇÏ¿© ¸®ÅÍ·² °ª ºñ±³
AND, OR, NOT µî ³í¸® Á¶°Ç ³ª¿
Á¶°ÇÀÇ ¿ì¼± ¼øÀ§ ±ÔÄ¢ ¼³¸í
ORDER BY ÀýÀ» »ç¿ëÇÏ¿© Çà Á¤·Ä
iSQL*Plus¿¡¼ ¾ÚÆÛ»÷µå ġȯÀ» »ç¿ëÇÏ¿© ·±Å¸ÀÓ ½Ã Ãâ·Â Á¦ÇÑ ¹× Á¤·Ä |
|
´ÜÀÏ Çà ÇÔ¼ö¸¦ »ç¿ëÇÏ¿©
Ãâ·Â Ä¿½ºÅ͸¶ÀÌÁî
|
´ÜÀÏ Çà SQL ÇÔ¼ö¿Í ´ÙÁß Çà SQL ÇÔ¼ö °£ÀÇ Â÷ÀÌÁ¡ Ç¥½Ã
¹®ÀÚ ÇÔ¼ö¸¦ ´ë¼Ò¹®ÀÚ Á¶ÀÛ À¯Çü ¹× ¹®ÀÚ Á¶ÀÛ À¯ÇüÀ¸·Î ºÐ·ù
S e l e c t ¹× WHERE Àý¿¡ ¹®ÀÚ Á¶ÀÛ ÇÔ¼ö »ç¿ë
DATE ÇÔ¼ö¿Í ¼ýÀÚ ÇÔ¼ö ¼³¸í ¹× »ç¿ë
SYSDATE ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ÇöÀç ³¯Â¥¸¦ ±âº» Çü½ÄÀ¸·Î °Ë»ö
ÇÔ¼ö °á°ú Ç¥½Ã ¼ö´ÜÀ¸·Î¼ DUAL Å×ÀÌºí ¼Ò°³
³¯Â¥¿¡ »ê¼ú ¿¬»êÀÚ¸¦ Àû¿ëÇÏ´Â ±ÔÄ¢ ³ª¿
S e l e c t Àý¿¡¼ »ê¼ú ¿¬»êÀÚ¿Í ³¯Â¥ »ç¿ë |
|
±×·ì ÇÔ¼ö¸¦ »ç¿ëÇÏ¿©
Áý°è µ¥ÀÌÅÍ º¸°í
|
±×·ì ÇÔ¼ö ¼³¸í ¹× ºÐ·ù
±×·ì ÇÔ¼ö »ç¿ë
±×·ì ÇÔ¼ö¿Í DISTINCT Å°¿öµå È°¿ë
±×·ì ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© NullÀ» ó¸®ÇÏ´Â ¹æ½Ä ¼³¸í
GROUP BY ÀýÀ» »ç¿ëÇÏ¿© µ¥ÀÌÅÍ ±×·ì »ý¼º
µÑ ÀÌ»óÀÇ ¿·Î µ¥ÀÌÅÍ ±×·ìÈ
±×·ì ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ºÎÀûÇÕÇÑ Query ¹æÁö
HAVING ÀýÀ» »ç¿ëÇÏ¿© µ¥ÀÌÅÍ ±×·ì Á¦¿Ü |
|
´ÙÁß Å×ÀÌºí µ¥ÀÌÅÍ Ç¥½Ã
|
Á¶ÀÎ À¯Çü ½Äº°
Natural JoinÀ¸·Î ·¹ÄÚµå °Ë»ö
Å×À̺í Alias¸¦ »ç¿ëÇÏ¿© °£´ÜÇÑ ÄÚµå ÀÛ¼º ¹× ´ÙÁß Å×ÀÌºí ¿ÀÇ ¸í½ÃÀû ½Äº°
USING ÀýÀ» »ç¿ëÇÏ¿© Á¶ÀÎÀ» »ý¼ºÇÑ ÈÄ Å×ÀÌºí °£ÀÇ Æ¯Á¤ ¿ ½Äº°
ON ÀýÀ» »ç¿ëÇÏ¿© ÀÓÀÇ Á¶°Ç ¶Ç´Â Á¶ÀÎÇÒ ¿ ÁöÁ¤
ON ÀýÀ» »ç¿ëÇÏ¿© 3-way Á¶ÀÎÀ» »ý¼ºÇÑ ÈÄ ¼¼ °³ÀÇ Å×ÀÌºí¿¡¼ Á¤º¸ °Ë»ö
LEFT, RIGHT ¹× FULL µî Outer Join À¯Çü ³ª¿
Cartesian Product »ý¼º |
|
Sub query¸¦ »ç¿ëÇÏ¿©
Query ÇØ°á
|
S e l e c t ¹®ÀÇ WHERE Àý¿¡Sub query ±¸¹® ³ª¿
Sub query »ç¿ë Áöħ ³ª¿
Sub query À¯Çü ¼³¸í
´ÜÀÏ Çà Sub query ½ÇÇà ¹× Sub query¿¡ ±×·ì ÇÔ¼ö »ç¿ë
Sub query¸¦ »ç¿ëÇÏ¿© ºÎÀûÇÕÇÑ ¸í·É¹® ½Äº°
´ÙÁß Çà Sub query ½ÇÇà
´ÙÁß Çà Sub query¿¡¼ ANY ¹× ALL ¿¬»êÀÚ ÀÛµ¿ ¹æ½Ä ºÐ¼® |
|
SET ¿¬»êÀÚ »ç¿ë
|
UNION ¿¬»êÀÚ¸¦ »ç¿ëÇÏ¿© ´ÙÁß Å×ÀÌºí¿¡¼ ¸ðµç Çà ¹Ýȯ ¹× Áߺ¹ Çà Á¦°Å
UNION ALL ¿¬»êÀÚ¸¦ »ç¿ëÇÏ¿© ´ÙÁß Å×ÀÌºí¿¡¼ ¸ðµç Çà ¹Ýȯ
INTERSECT ¿¬»êÀÚ ¼³¸í
INTERSECT ¿¬»êÀÚ »ç¿ë
MINUS ¿¬»êÀÚ ¼³¸í
MINUS ¿¬»êÀÚ »ç¿ë
SET ¿¬»êÀÚ Áöħ ³ª¿
UNION ¿¬»êÀÚ »ç¿ë ½Ã °á°ú Á¤·Ä |
|
µ¥ÀÌÅÍ Á¶ÀÛ
|
Å×ÀÌºí¿¡ ÇàÀ» Ãß°¡ÇÏ´Â I N S E R T ¹® ÀÛ¼º
´Ù¸¥ Å×ÀÌºí¿¡¼ Çà º¹»ç
Å×ÀÌºí µ¥ÀÌÅ͸¦ º¯°æÇÏ´Â U P D A T E ¹® »ý¼º
Å×ÀÌºí¿¡¼ ÇàÀ» Á¦°ÅÇÏ´Â DELETE ¹® »ý¼º
½ºÅ©¸³Æ®¸¦ »ç¿ëÇÏ¿© µ¥ÀÌÅÍ Á¶ÀÛ
Æ®·£Àè¼Ç ÇÁ·Î¼¼½ÌÀ» ÅëÇØ Å×ÀÌºí º¯°æ »çÇ× ÀúÀå ¹× ¹«½Ã
Àбâ ÀÏ°ü¼º ÀÛµ¿ ¹æ½Ä ¼³¸í
TRUNCATE ¹® ¼³¸í |
|
DDL ¹®À» »ç¿ëÇÏ¿©
Å×ÀÌºí »ý¼º ¹× °ü¸®
|
ÁÖ¿ä µ¥ÀÌÅͺ£À̽º °´Ã¼ ³ª¿ ¹× µ¥ÀÌÅͺ£À̽º °´Ã¼ÀÇ À̸§ ÁöÁ¤ ±ÔÄ¢ ¼³¸í
½ºÅ°¸¶ °³³ä ¼Ò°³
±âº» Å×ÀÌºí »ý¼º ±¸¹® ¹× DEFAULT ¿É¼Ç Ç¥½Ã
¿©·¯ À¯ÇüÀÇ Á¦¾à Á¶°Ç ¼³¸í
DML ¹®¿¡¼ Á¦¾à Á¶°ÇÀ» À§¹ÝÇÏ´Â °æ¿ì ¹ß»ýÇÏ´Â ¿¹¿Ü Ç¥½Ã
Sub query¸¦ »ç¿ëÇÏ¿© Å×ÀÌºí »ý¼º
ALTER TABLE ±â´É ¼³¸í
DROP ¹®À» »ç¿ëÇÏ¿© Å×À̺í Á¦°Å ¹× Å×À̺í À̸§ ¹Ù²Ù±â |
|
±âŸ ½ºÅ°¸¶ °´Ã¼ »ý¼º
|
´Ü¼ø ºä¿Í º¹ÇÕ ºä ºÐ·ù ¹× ºñ±³
ºä »ý¼º
ºä¿¡¼ µ¥ÀÌÅÍ °Ë»ö
Read-only ºä ¼³¸í
º¹ÇÕ ºäÀÇ DML ¼öÇà ±ÔÄ¢ ³ª¿
½ÃÄö½º »ý¼º
À妽º »ý¼º ½Ã±â¿Í »ý¼ºÇؼ´Â ¾ÈµÉ ½Ã±â¿¡ ´ëÇÑ ±âº» ±ÔÄ¢ ³ª¿
µ¿ÀÇ¾î »ý¼º |
|
µ¥ÀÌÅÍ µñ¼Å³Ê¸® ºä¸¦
»ç¿ëÇÏ¿© °´Ã¼ °ü¸®
|
°¢ µñ¼Å³Ê¸® ºäÀÇ ±¸Á¶ ¼³¸í
°¢ µñ¼Å³Ê¸® ºäÀÇ ¿ëµµ ³ª¿
½ºÅ°¸¶ °´Ã¼ÀÇ µñ¼Å³Ê¸® ºä¿¡¼ Á¤º¸¸¦ °Ë»öÇÏ´Â Query ÀÛ¼º
COMMENT ¸í·ÉÀ» »ç¿ëÇÏ¿© °´Ã¼ ¹®¼È |
|
À¯Àú ¾×¼¼½º Á¦¾î
|
À¯Àú ¾×¼¼½º Á¦¾î
½Ã½ºÅÛ ±ÇÇÑ ¹× °´Ã¼ ±ÇÇÑ ºñ±³
·ÑÀ» »ç¿ëÇÏ¿© À¯Àú ±×·ì Á¤ÀÇ
¾ÏÈ£ º¯°æ
°´Ã¼ ±ÇÇÑ ºÎ¿©
ºÎ¿©µÈ ±ÇÇÑ È®ÀÎ
°´Ã¼ ±ÇÇÑ Ãë¼Ò
µ¥ÀÌÅͺ£À̽º ¸µÅ© »ç¿ë |
|
½ºÅ°¸¶ °´Ã¼ °ü¸®
|
ALTER TABLE ¹® »ç¿ë
¿ Ãß°¡
¿ ¼öÁ¤
¿ »èÁ¦, UNUSED ¿·Î ¼³Á¤
Á¦¾à Á¶°Ç Ãß°¡, È°¼ºÈ ¹× ºñÈ°¼ºÈ
ÇÔ¼ö ±â¹Ý(Function based) À妽º »ý¼º
FLASHBACK ÀÛ¾÷ ¼öÇà
External Table |
|
´ëÇü µ¥ÀÌÅÍ ÁýÇÕ Á¶ÀÛ
|
MERGE ¹® »ç¿ë
Sub query·Î DML ¼öÇà
RETURNING ÀýÀ» »ç¿ëÇÏ¿© DML ¼öÇà
´ÙÁß Å×À̺í I N S E R T ¹® °³¿ä
DML º¯°æ »çÇ× ÃßÀû |
|
°ü·Ã µ¥ÀÌÅ͸¦ ±×·ìÈÇÏ¿©
º¸°í¼ »ý¼º
|
GROUP BY Àý °³¿ä
Having Àý °³¿ä
ROLLUP ¹× CUBE ¿¬»êÀÚ¸¦ »ç¿ëÇÏ¿© µ¥ÀÌÅÍ Áý°è
GROUPING ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ¼Ò°è ±×·ì È®ÀÎ
GROUPING SETS¸¦ »ç¿ëÇÏ¿© ´ÙÁß ±×·ìÈ °è»ê
Á¶ÇÕ ¿À» »ç¿ëÇÏ¿© Áý°è ·¹º§ Á¤ÀÇ
¿¬°áµÈ ±×·ìȸ¦ »ç¿ëÇÏ¿© Á¶ÇÕ »ý¼º |
|
´Ù¸¥ ½Ã°£´ë¿¡¼ µ¥ÀÌÅÍ °ü¸®
|
½Ã°£´ë
³¯Â¥ ¹× ½Ã°£ ÇÔ¼ö »ç¿ë
TIMESTAMP µ¥ÀÌÅÍ À¯Çü ½Äº°
DATE¿Í TIMESTAMPÀÇ Â÷ÀÌÁ¡ ±¸º°
º¯È¯ ÀÛ¾÷ ¼öÇà |
|
°í±Þ Sub query¸¦ »ç¿ëÇÏ¿©
µ¥ÀÌÅÍ °Ë»ö
|
Sub query °³¿ä
Sub query »ç¿ë
´ÙÁß ¿ Sub query¸¦ »ç¿ëÇÏ¿© ¿©·¯ ¿ ºñ±³
FROM Àý¿¡¼ Sub query¸¦ »ç¿ëÇÏ¿© µ¥ÀÌÅÍ ¼Ò½º Á¤ÀÇ
½ºÄ®¶ó Sub query Ç¥Çö½ÄÀ» »ç¿ëÇÏ¿© ÇÑ °³ÀÇ °ª ¹Ýȯ
Correlated Sub query¸¦ »ç¿ëÇÏ¿© Çà ´ÜÀ§ ÇÁ·Î¼¼½Ì ¼öÇà
WITH ÀýÀ» »ç¿ëÇÏ¿© query ºí·Ï Àç»ç¿ë |
|
°èÃþÀû °Ë»ö
|
EMPLOYEES Å×À̺íÀÇ ¿¹Á¦ µ¥ÀÌÅÍ
Æ®¸® ±¸Á¶ÀÇ Employee µ¥ÀÌÅÍ
Hierarchical Query
LEVELÀ» »ç¿ëÇÏ¿© Çà ¼øÀ§ ÁöÁ¤
LEVEL ¹× LPAD¸¦ »ç¿ëÇÏ¿© °èÃþÀû º¸°í¼ ¼½Ä ÁöÁ¤
WHERE ¹× CONNECT BY ÀýÀ» »ç¿ëÇÏ¿© ºÐ±â Á¦°Å |
|
Á¤±Ô½Ä Áö¿ø
|
Á¤±Ô½Ä Áö¿ø °³¿ä
µ¥ÀÌÅÍ °Ë»ö ¹× Á¶ÀÛÀ» À§ÇÑ °£´ÜÇÑ ÆÐÅÏ°ú º¹ÀâÇÑ ÆÐÅÏ ¼³¸í |
|