Ãâó : http://www.dhtmldot.com
3. SQLÀÇ ±âÃÊ (I)
¿©±â¼´Â SQL¿¡ ´ëÇÑ ±âÃÊ ÀûÀÎ ³»¿ëÀ» ¼Ò°³ÇÕ´Ï´Ù. ¿ì¼± SQLÀÇ Æ¯¼º¿¡ ´ëÇØ¼ °£´ÜÈ÷ ¾Ë¾Æº¸ÁÒ.
1) Å×À̺íÀº Çà°ú ¿ÀÌ ´Ù.
¾Õ¼ ¸»¾¸µå¸° °Í °°ÀÌ °ü °èÇü ÀÌ·ÐÀÇ Á߽ɿ¡´Â Å×À̺íÀ̶õ °³³äÀÌ ÀÖ½À´Ï´Ù. Å×À̺íÀº ÀÏ·ÃÀÇ ¼Ó¼º À̳ª ¿°ú 0°³ ÀÌ»óÀÇ ÇàÀ¸·Î ±¸¼ºµÇ¾î ÀÖÀ¸¸ç, °¢ ÇàÀº ¼Ó¼º °ªÀÇ ÁýÇÕ ÀÔ´Ï´Ù.
°ü°èÇü µ¥ÀÌÅͺ£À̽º°¡ ³ª ¿À±â Àü¿¡´Â °èÃþÀû À¯Çü(Hierarchial) ¶Ç´Â ³×Æ®¿öÅ© À¯Çü(Network)À¸·Î ºÐ·ùµÇ¾ú´ø µ¥ÀÌÅͺ£À̽º °ü¸® ½Ã½ºÅÛ¿¡ ÀÇÁ¸Çß½À´Ï´Ù. ÀÌ µÎ°¡Áö À¯Çü Àº ´ÜÁ¡ÀÌ Çϳª ÀÖ¾ú´Âµ¥, ±âÁ¸ µ¥ÀÌÅÍ ¿ä¼ÒÀÇ ÀϺθ¦ º¯°æÇϰųª »õ·Î ¿î µ¥ÀÌÅÍ ¿ä¼Ò¸¦ Ãß°¡ÇÏ·Á¸é ±âÁ¸ÀÇ ÇÁ·Î±×·¥À» ±¤¹üÀ§ÇÏ°Ô ¼öÁ¤ÇØ¾ß Çß½À´Ï´Ù. ±×·¯³ª °ü°èÇü µ¥ÀÌÅͺ£À̽º¿¡¼´Â µ¥ÀÌÅÍ ¿ä¼Ò(¿)¸¦ º¯°æÇÏ ´Â °ÍÀÇ È¿°ú´Â ¹Ì¼¼ÇÕ´Ï´Ù. °ü°èÇü µ¥ÀÌÅͺ£À̽º¿¡¼, ¿ÀÇ Å©±âÀÇ Áõ°¨Àº Å×ÀÌºí ³»ÀÇ ´Ù¸¥ ¿·ÎºÎÅÍ µ¶¸³ÀûÀ̱⠶§¹®ÀÌÁÒ. ±×¸¸Å ¼ÒÇÁÆ®¿þ ¾î À¯Áö/°ü¸® ºñ¿ëÀÌ °¨¼ÒÇÑ´Ù´Â ¾ê±â°¡ µË´Ï´Ù.
°ü°èÇü ÀÌ·ÐÀÇ ±ÔÄ¢ Áß ÇÏ ³ª´Â ¿ÀÇ ¼ø¼°¡ Áß¿äÇÏÁö ¾Ê´Ù´Â Á¡ÀÔ´Ï´Ù. ÀÌ ¸»Àº »ç½Ç °³³äÀûÀÎ ¼ö ÁØ¿¡¼ Å×À̺íÀÇ ¿ÀÌ ¿©·¯ºÐÀÌ ¿øÇÏ´Â ¼ø¼·Î °Ë»öµÉ ¼ö ÀÖ´Ù´Â °Í À» ÀǹÌÇÕ´Ï´Ù. ¹°·Ð ¹°¸®ÀûÀÎ ¼ø¼´Â Á¸À縦 ÇϰÚÁÒ.
°ü°èÇü ÀÌ·ÐÀÇ ¶Ç´Ù¸¥ ±Ô Ä¢Àº ÇàÀÇ ¼ø¼°¡ Áß¿äÇÏÁö ¾Ê´Ù´Â Á¡ÀÌÁÒ. ÇàÀÌ ¾î¶² ƯÁ¤ ¼ø¼·Î ÀúÀå µÇÁö ¾Ê´Â´Ù´Â ¶æÀÌ ¾Æ´Ï¶ó ÇàÀÌ Å×À̺í·ÎºÎÅÍ °Ë»öµÉ ¹æ½Ä¿¡ ÀÖ¾î¼ ÇÔÃàÀû ÀÎ ¼ø¼°¡ ¾ø´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù. µû¶ó¼ ¾î¶² Å×À̺íÀÇ ÇàÀÌ Æ¯Á¤ ¼ø ¼·Î º¹±ÍµÇ±â¸¦ ¿øÇÑ´Ù¸é, ±× ¼ø¼¸¦ ÁöÁ¤ÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù.
2) µ¥ÀÌÅÍ °Ë»ö ¹× º¯°æ
SQL¹®Àº ´ÙÀ½ ¼¼ °¡Áö ¿µ ¿ªÀ¸·Î Å©°Ô ºÐ·ùÇÒ ¼ö ÀÖ½À´Ï´Ù.
DML¿¡´Â ´ÙÀ½ ³× °¡Áö ±â º» ¹®ÀåÀÌ ÀÖ½À´Ï´Ù.
´ÙÀ½Àº SQLÀÇ Æ¯¼ºÀ̶ó°í ÇÒ ¼ö ÀÖ½À´Ï´Ù.
3) SELECT ¹®ÀÇ ±¸¹®
SELECT¹®Àº ³× °³ÀÇ DML ¹® Áß¿¡¼ °¡Àå ¸¹ÀÌ ¾²ÀÌ´Â ±¸¹®ÀÔ´Ï´Ù. ±×¸®°í UPDATE, INSERT, DELETE ¹® ³»¿¡¼ ¼ºê Äõ¸®·Î½á Á¸ÀçÇÒ ¼ö ÀÖ½À´Ï´Ù. SELECT ¹®Àº ÃÖ¼ÒÇÑ ´ÙÀ½ ÀÇ µÎ ¿ä¼Ò·Î ±¸¼ºµË´Ï´Ù.
±×·³ °£´ÜÇÑ ¿¹¸¦ º¸ÁÒ. ´ÙÀ½Àº Çлý(Student)À̶õ Table¿¡¼ À̸§(name)À» °Ë»öÇÏ´Â Äõ¸®ÀÔ´Ï´Ù.
SELECT name FROM student;
°á°ú´Â ´ÙÀ½°ú °°ÀÌ ³ª¿À °ÚÁÒ.
NAME
----------
¹Ú»ó¿í
¹èÈ¿ÀÏ
ÀÌ¿øÈñ
À±¸é¿ë
ÃÖÀÎÈñ
½Å°üÈ£
...
±¸±³¶ô
ÇлýÀÇ À̸§°ú ³ªÀ̸¦ ¾Ë °í ½ÍÀ¸¸é Èñ¸ÁÇÏ´Â ¼ø¼·Î ¿À» ³ª¿ÇÏ¸é µË´Ï´Ù.
SELECT name, age FROM student;
°á°ú´Â ´ÙÀ½°ú °°ÀÌ ³ª¿É ´Ï´Ù.
NAME
AGE
---------- ----
¹Ú»ó¿í
29
¹èÈ¿ÀÏ 26
ÀÌ¿øÈñ 50
À±¸é¿ë 28
ÃÖÀÎÈñ 27
½Å°üÈ£
28
...
±¸±³¶ô
28
Å×À̺íÀÇ ¸ðµç ¿À» °Ë»ö ÇÏ·Á¸é *À» »ç¿ëÇÏ¸é µË´Ï´Ù.
SELECT * FROM student;
NAME
AGE
ENG_SCORE KOR_SCORE ...
AVR_SCORE
---------- --- ---------- ---------- ... ----
------
¹Ú»ó¿í 29
90
85
...
93
¹èÈ¿ÀÏ 26
70
90
...
80
ÀÌ¿øÈñ 50
30
10
...
15
À±¸é¿ë 28
100
100
... 100
ÃÖÀÎÈñ 27
90
90
...
94
½Å°üÈ£ 28
85
100
...
96
... ...
...
...
... ...
±¸±³¶ô 28
0
10
&nb
sp; 5
Âü! ORACLE¿¡¼´Â DUALÀÌ ¶ó´Â À¯Æ¿¸®Æ¼ TABLEÀ» »ç¿ëÇØ¼ »ê¼ú¿¬»êÀ̳ª ÇöÀç½Ã°£ µîÀ» ¾Ë ¼ö ÀÖ¾î ¿ä.
SELECT 3.14159*20 FROM DUAL;
3.14159*20
----------
62.8318
SELECT SYSDATE FROM DUAL;
SYSDATE
---------
05-JUN-98
¸ðµç SELECT ¹®¿¡ ÀÇÇØ¼ º¹±ÍµÈ °á°ú´Â Àӽà Å×À̺íÀ» ±¸¼ºÇÕ´Ï´Ù. °¢ °Ë»öµÈ ·¹ÄÚµå´Â ÀÌ ÀÓ ½Ã Å×ÀÌºí ³»¿¡¼ ÇϳªÀÇ ÇàÀÌ°í ¼±Åà ¸®½ºÆ®ÀÇ °¢ ¿ä¼Ò´Â ÇϳªÀÇ ¿ÀÔ ´Ï´Ù. ¸¸¾à Äõ¸®°¡ ¾î¶°ÇÑ ·¹Äڵ嵵 º¹±Í½ÃŰÁö ¾Ê´Â´Ù¸é Àӽà Å×À̺íÀº ºó °ÍÀ¸·Î »ý°¢ÇÒ ¼ö ÀÖÁÒ. ÀÌ ±â´ÉÀº °ü°èÇü ¸ðµ¨ÀÇ ±Ùº» ¿øÄ¢ÀÔ´Ï ´Ù.
±×¸®°í À§¿¡¼ ¿À» ÁöÁ¤ ÇÑ °Íó·³ ¼±Åà ¸®½ºÆ® ³×¿¡¼ Ç¥Çö½ÄÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. Ç¥Çö½ÄÀº ¿°ú µ¿ÀÏÇÑ µ¥ÀÌÅÍŸÀÔ (¹®ÀÚ, ¼öÄ¡, ³¯Â¥)¿¡ ¼ÓÇÕ´Ï´Ù. ¿©·¯ºÐÀº ¿¬»ê ÀÚ, ³»ÀåÇÔ¼ö, ±×¸®°í »ó¼ö¸¦ ÀÌ¿ëÇÏ¿© ¿©·¯ºÐÀÇ APPLICATIONÀÇ Çʿ並 ¸¸Á· ½Ãų ¼ö ÀÖ´Â º¹ÀâÇÑ Ç¥Çö½Äµµ ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×¸®°í Ç¥Çö½ÄÀÌ ´Ù¼öÀÇ ¿À» ÂüÁ¶ÇÒ Áö¶óµµ ORACLEÀÌ ¼±Åà ¸®½ºÆ® ³»¿¡ ÀÖ´Â °¢ ¿ä¼Ò ¸¦ µ¶¸³µÈ ¿·Î °£ÁÖÇÑ´Ù´Â °ÍÀ» ±â¾ïÇϼ¼¿ä.
SQL¿¡¼ »ç¿ëµÇ´Â »ê¼ú ¿¬»êÀÚ´Â C ¾ð¾î¿¡¼ »ç¿ëµÇ´Â »ê¼ú ¿¬»êÀÚ¿Í µ¿ÀÏÇÕ´Ï´Ù. ´õÇϱâ(+), »©±â(-), °öÇϱâ(*), ³ª´©±â(/)... ¸ðµÎ ¶È~ °°ÁÒ?
´ÙÀ½Àº ÇлýµéÀÇ ¿µ¾î ¼º Àû°ú ±¹¾î ¼ºÀûÀ» Æò±Õ³»´Â °ÍÀÔ´Ï´Ù.
SELECT name, eng_score, kor_score, (eng_score+kor_score)/2 FROM student ;
NAME
ENG_SCORE
KOR_SCORE
(ENG_SCORE+KOR_SCORE)/2
----------
--------- ---------- ------------------
-----
¹Ú»ó¿í
90
85
&nb
sp; 87.5
¹èÈ¿ÀÏ
70
90
&nb
sp;
80
ÀÌ¿øÈñ
30
10
&nb
sp;
20
À±¸é¿ë
100
100
&nb
sp; 100
ÃÖÀÎÈñ
90
90
&nb
sp;
90
½Å°üÈ£
85
100
&nb
sp; 87.5
...
&nb
sp; ...
...
&nb
sp; ...
±¸±³¶ô
&nb
sp; 0
10
&nb
sp;
5
SQL¿¡¼ »ç¿ëµÇ´Â ¹®ÀÚ¿ ¿¬»êÀÚ(String Operator) Áß °¡Àå Áß¿äÇÑ °ÍÀÌ ¿¬°á ¿¬»êÀÚ(Concatenation Operator) ÀÔ´Ï´Ù. ÀÌ ¿¬»êÀÚ´Â µÑ ÀÌ»óÀÇ ¹®ÀÚ¿À» ÇÔ²² ¿¬°áÇÒ ¼ö ÀÖ°Ô ÇÕ´Ï´Ù.
SELECT name || ', ' || city FROM student;
NAME||','||CITY
-----
-----------
¹Ú»ó¿í, ºÎ»ê
¹èÈ¿ÀÏ, ÁøÁÖ
ÀÌ¿øÈñ, ¼¿ï
À±¸é
¿ë, ¼ö¿ø
ÃÖÀÎÈñ, ¼ö¿ø
½Å°üÈ£, ¼¿ï
...
±¸±³¶ô, ºÎ»ê
¾î¶² °æ¿ì¿¡ ¹®ÀÚ¿À» ¿¬ °áÇÒ±î¿ä?
¿©·¯ºÐÀº µÎ °³ ÀÌ»óÀÇ ¹® ÀÚ¿·Î ¿¬°á ¿¬»êÀÚ¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ', '´Â ¹®ÀÚ¿À» ÄÞ ¸¶(,)¿Í °ø¹éÀ¸·Î ¿¬°áÇÒ ¼ö ÀÖµµ·Ï »ç¿ëµÈ °ÍÀÔ´Ï´Ù.