|
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
SELECT ¹® ÀÛ¼º |
ÇÁ·ÎÁ§¼Ç,
½Ç·º¼Ç, Á¶ÀÎ ¿ë¾î Á¤ÀÇ ±âº»
SQL SELECT ¹® ±¸¹® °ËÅä ´ëü
¹®ÀÚ Ç¥±â¹ýÀ» »ç¿ëÇÏ¿© Å×À̺íÀÇ ¸ðµç ¿ ¼±Åà SQL
¹® ÀÛ¼ºÀ» À§ÇÑ °£´ÜÇÑ ±ÔÄ¢ ¹× Áöħ ¼³¸í »ê¼ú
¿¬»êÀÚ¸¦ Æ÷ÇÔÇÏ´Â Query ÀÛ¼º ¿¬°á
¿¬»êÀÚ¸¦ »ç¿ëÇÏ¿© ¹®ÀÚ½Ä »ý¼º iSQL*Plus
ȯ°æ »ç¿ë SQL
¹®°ú iSQL*Plus ¸í·É ºñ±³ |
|
µ¥ÀÌÅÍ
Á¦ÇÑ ¹× Á¤·Ä |
½Ç·º¼ÇÀ»
»ç¿ëÇÏ¿© Çà Á¦ÇÑ WHERE
ÀýÀ» »ç¿ëÇÏ¿© ƯÁ¤ Çà °Ë»ö WHERE
Àý¿¡ ºñ±³ Á¶°Ç »ç¿ë LIKE
Á¶°ÇÀ» »ç¿ëÇÏ¿© ¸®ÅÍ·² °ª ºñ±³ AND,
OR, NOT µî ³í¸® Á¶°Ç ³ª¿ Á¶°ÇÀÇ
¿ì¼± ¼øÀ§ ±ÔÄ¢ ¼³¸í ORDER
BY ÀýÀ» »ç¿ëÇÏ¿© Çà Á¤·Ä iSQL*Plus¿¡¼
¾ÚÆÛ»÷µå ġȯÀ» »ç¿ëÇÏ¿© ·±Å¸ÀÓ ½Ã Ãâ·Â Á¦ÇÑ ¹× Á¤·Ä |
|
´ÜÀÏ
Çà ÇÔ¼ö¸¦ »ç¿ëÇÏ¿©
Ãâ·Â Ä¿½ºÅ͸¶ÀÌÁî |
´ÜÀÏ
Çà SQL ÇÔ¼ö¿Í ´ÙÁß Çà SQL ÇÔ¼ö °£ÀÇ Â÷ÀÌÁ¡ Ç¥½Ã ¹®ÀÚ
ÇÔ¼ö¸¦ ´ë¼Ò¹®ÀÚ Á¶ÀÛ À¯Çü ¹× ¹®ÀÚ Á¶ÀÛ À¯ÇüÀ¸·Î ºÐ·ù SELECT
¹× WHERE Àý¿¡ ¹®ÀÚ Á¶ÀÛ ÇÔ¼ö »ç¿ë DATE
ÇÔ¼ö¿Í ¼ýÀÚ ÇÔ¼ö ¼³¸í ¹× »ç¿ë SYSDATE
ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ÇöÀç ³¯Â¥¸¦ ±âº» Çü½ÄÀ¸·Î °Ë»ö ÇÔ¼ö
°á°ú Ç¥½Ã ¼ö´ÜÀ¸·Î¼ DUAL Å×ÀÌºí ¼Ò°³ ³¯Â¥¿¡
»ê¼ú ¿¬»êÀÚ¸¦ Àû¿ëÇÏ´Â ±ÔÄ¢ ³ª¿ SELECT
Àý¿¡¼ »ê¼ú ¿¬»êÀÚ¿Í ³¯Â¥ »ç¿ë |
|
±×·ì
ÇÔ¼ö¸¦ »ç¿ëÇÏ¿©
Áý°è µ¥ÀÌÅÍ º¸°í |
±×·ì
ÇÔ¼ö ¼³¸í ¹× ºÐ·ù ±×·ì
ÇÔ¼ö »ç¿ë ±×·ì
ÇÔ¼ö¿Í DISTINCT Å°¿öµå È°¿ë ±×·ì
ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© NullÀ» ó¸®ÇÏ´Â ¹æ½Ä ¼³¸í GROUP
BY ÀýÀ» »ç¿ëÇÏ¿© µ¥ÀÌÅÍ ±×·ì »ý¼º µÑ
ÀÌ»óÀÇ ¿·Î µ¥ÀÌÅÍ ±×·ìÈ ±×·ì
ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ºÎÀûÇÕÇÑ Query ¹æÁö HAVING
ÀýÀ» »ç¿ëÇÏ¿© µ¥ÀÌÅÍ ±×·ì Á¦¿Ü |
|
´ÙÁß
Å×ÀÌºí µ¥ÀÌÅÍ Ç¥½Ã |
Á¶ÀÎ
À¯Çü ½Äº° Natural
JoinÀ¸·Î ·¹ÄÚµå °Ë»ö Å×À̺í
Alias¸¦ »ç¿ëÇÏ¿© °£´ÜÇÑ ÄÚµå ÀÛ¼º ¹× ´ÙÁß Å×ÀÌºí ¿ÀÇ ¸í½ÃÀû ½Äº° USING
ÀýÀ» »ç¿ëÇÏ¿© Á¶ÀÎÀ» »ý¼ºÇÑ ÈÄ Å×ÀÌºí °£ÀÇ Æ¯Á¤ ¿ ½Äº° ON
ÀýÀ» »ç¿ëÇÏ¿© ÀÓÀÇ Á¶°Ç ¶Ç´Â Á¶ÀÎÇÒ ¿ ÁöÁ¤ ON
ÀýÀ» »ç¿ëÇÏ¿© 3-way Á¶ÀÎÀ» »ý¼ºÇÑ ÈÄ ¼¼ °³ÀÇ Å×ÀÌºí¿¡¼ Á¤º¸ °Ë»ö LEFT,
RIGHT ¹× FULL µî Outer Join À¯Çü ³ª¿ Cartesian
Product »ý¼º |
|
Sub
query¸¦ »ç¿ëÇÏ¿©
Query ÇØ°á |
SELECT
¹®ÀÇ 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
¿¬»êÀÚ »ç¿ë ½Ã °á°ú Á¤·Ä |
|
µ¥ÀÌÅÍ
Á¶ÀÛ |
Å×ÀÌºí¿¡
ÇàÀ» Ãß°¡ÇÏ´Â INSERT ¹® ÀÛ¼º ´Ù¸¥
Å×ÀÌºí¿¡¼ Çà º¹»ç Å×À̺í
µ¥ÀÌÅ͸¦ º¯°æÇÏ´Â UPDATE ¹® »ý¼º Å×ÀÌºí¿¡¼
ÇàÀ» Á¦°ÅÇÏ´Â 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 ¼öÇà ´ÙÁß
Å×À̺í INSERT ¹® °³¿ä 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 ÀýÀ» »ç¿ëÇÏ¿© ºÐ±â Á¦°Å |
|
Á¤±Ô½Ä
Áö¿ø |
Á¤±Ô½Ä
Áö¿ø °³¿ä µ¥ÀÌÅÍ
°Ë»ö ¹× Á¶ÀÛÀ» À§ÇÑ °£´ÜÇÑ ÆÐÅÏ°ú º¹ÀâÇÑ ÆÐÅÏ ¼³¸í |
|