| PostgreSQL 8.3.3¹®¼ | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Chapter 2. SQL¾ð¾î | Fast Forward | Next |
Å×ÀÌºí¿¡¼ µ¥ÀÌÅ͸¦ ²ø¾î¿À±â À§Çؼ, Å×ÀÌºí¿¡ Äõ¸®¸¦ ÇÕ´Ï´Ù.
ÀÌ ¶§¹®¿¡ SQLÀÇ SELECT¹®ÀÌ »ç¿ëµË´Ï´Ù.
ÀÌ ¹®ÀåÀº ¼±Åà ¸®½ºÆ®(µ¹·Á¹Þ´Â ¿ÀÇ ¸®½ºÆ® ºÎºÐ)¿Í Å×ÀÌºí ¸®½ºÆ®(µ¥ÀÌÅ͸¦ »Ì±â ½ÃÀÛÇÏ´Â Å×À̺íÀÇ ¸®½ºÆ® ºÎºÐ),
¹×, »ý·« °¡´ÉÇÑ Á¶°Ç(Á¦ÇÑÀ» ÁöÁ¤ÇÏ´Â ºÎºÐ)À¸·Î ³ª´ ¼ö°¡ ÀÖ½À´Ï´Ù.
¿¹¸¦ µé¾î, weatherÀÇ ¸ðµç ÇàÀ» ²¨³»·Á¸é,ÀÌÇϸ¦ ÀÔ·ÂÇÕ´Ï´Ù.
SELECT * FROM weather;
¿©±â¼ *´Â "¸ðµç ¿"ÀÇ »ý·«ÇüÀÔ´Ï´Ù. [1] µû¶ó¼, ÀÌÇÏ¿Í °°ÀÌ ÇØµµ °°Àº °á°ú°¡ µË´Ï´Ù.
SELECT city, temp_lo, temp_hi, prcp, date FROM weather;
Ãâ·ÂÀº, ÀÌÇÏ¿Í °°ÀÌ µË´Ï´Ù.
city | temp_lo | temp_hi | prcp | date ---------------+---------+---------+------+------------ San Francisco | 46 | 50 | 0.25 | 1994-11-27 San Francisco | 43 | 57 | 0 | 1994-11-29 Hayward | 37 | 54 | | 1994-11-29 (3 rows)
¼±Åà ¸®½ºÆ®¿¡´Â, ´Ü¼øÇÑ ¿ ÂüÁ¶ ¸¸ÀÌ ¾Æ´Ñ, ÀÓÀÇÀÇ ½ÄÀ» ÁöÁ¤ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¸é, ÀÌÇϸ¦ ½Ç½ÃÇÒ ¼ö ÀÖ½À´Ï´Ù.
SELECT city, (temp_hi+temp_lo)/2 AS temp_avg, date FROM weather;
ÀÌ °á°ú´Â ´ÙÀ½°ú °°ÀÌ µË´Ï´Ù.
city | temp_avg | date ---------------+----------+------------ San Francisco | 48 | 1994-11-27 San Francisco | 50 | 1994-11-29 Hayward | 45 | 1994-11-29 (3 rows)
AS±¸¸¦ »ç¿ëÇÑ Ãâ·Â ¿ÀÇ ¶óº§À» ´Ù½Ã ºÙÀÎ ºÎºÐ¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä (AS±¸´Â »ý·« ÇÒ ¼ö ÀÖ½À´Ï´Ù).
ÇÊ¿äÇÑ ÇàÀÌ ¹«¾ùÀΰ¡¸¦ ÁöÁ¤ÇÏ´Â WHERE±¸¸¦ Ãß°¡ÇØ Äõ¸®¿¡ "Á¶°ÇºÎ"ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. WHERE±¸´Â ³í¸®(Âü °ª) ½ÄÀ» °¡Á®, ÀÌ ³í¸®½ÄÀÌ ÂüÀÌ µÇ´Â ÇุÀ» µ¹·ÁÁÝ´Ï´Ù. ÀÚÁÖ »ç¿ëµÇ´Â ³í¸® ¿¬»êÀÚ(AND, OR, NOT)¸¦ Á¶°ÇºÎ¿¡ »ç¿ëÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¸é ÀÌÇÏ´Â, San FranciscoÀÇ ¿ìõ½ÃÀÇ ±â»ó µ¥ÀÌÅ͸¦ »Ì±â ½ÃÀÛÇÕ´Ï´Ù.
SELECT * FROM weather
WHERE city = 'San Francisco' AND prcp > 0.0;
°á°ú´Â ´ÙÀ½°ú °°ÀÌ µË´Ï´Ù.
city | temp_lo | temp_hi | prcp | date ---------------+---------+---------+------+------------ San Francisco | 46 | 50 | 0.25 | 1994-11-27 (1 row)
¹®ÀÇÀÇ °á°ú¸¦ Á¤·ÄÇØ µ¹·ÁÁÖµµ·Ï ÁöÁ¤ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.
SELECT * FROM weather
ORDER BY city;
city | temp_lo | temp_hi | prcp | date ---------------+---------+---------+------+------------ Hayward | 37 | 54 | | 1994-11-29 San Francisco | 43 | 57 | 0 | 1994-11-29 San Francisco | 46 | 50 | 0.25 | 1994-11-27
ÀÌ ¿¹¿¡¼, Á¤·Ä¼ø¼´Â ÃæºÐÈ÷ ÁöÁ¤µÇ°í ÀÖÁö ¾Ê½À´Ï´Ù. ±×·¯¹Ç·Î, San FranciscoÀÇ ÇàÀÇ ¼ø¼°¡ ´Ù¸¦Áöµµ ¸ð¸¨´Ï´Ù. ±×·¯³ª, ´ÙÀ½°ú °°ÀÌ Çϸé Ç×»ó À§¿Í °°Àº °á°ú°¡ µË´Ï´Ù.
SELECT * FROM weather
ORDER BY city, temp_lo;
¹®ÀÇÀÇ °á°ú·ÎºÎÅÍ Áߺ¹ ÇàÀ» Á¦¿ÜÇϵµ·Ï ÁöÁ¤ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.
SELECT DISTINCT city
FROM weather;
city --------------- Hayward San Francisco (2 rows)
¿©±â¼ ´Ù½Ã, °á°ú ÇàÀÇ ¼ø¼´Â º¯µ¿ÇÒÁöµµ ¸ð¸¨´Ï´Ù. DISTINCT¿Í ORDER BY¸¦ ÇÔ²² »ç¿ëÇÏ´Â °ÍÀ¸·Î È®½ÇÈ÷ ÀϰüµÈ °á°ú¸¦ ¾òÀ» ¼ö ÀÖ½À´Ï´Ù. [2]
SELECT DISTINCT city
FROM weather
ORDER BY city;
| [1] |
SELECT *´Â ÁïÈïÀûÀÎ Äõ¸®·Î À¯¿ëÇÕ´Ï´Ù¸¸, Á¦Ç° ·¹º§ÀÇ Äڵ忡¼´Â, Å×ÀÌºí¿¡ ¿À» Ãß°¡ÇÏ´Â °ÍÀ¸·Î °á°ú°¡ ´Þ¶óÁö±â ¶§¹®¿¡, ÀϹÝÀûÀ¸·Î ¼±È£ÇÏÁö ¾Ê½À´Ï´Ù. |
| [2] |
PostgreSQLÀÇ ³°Àº ¹öÁ¯À» Æ÷ÇÔÇÑ ÀϺÎÀÇ µ¥ÀÌÅͺ£À̽º ½Ã½ºÅÛ¿¡¼´Â, DISTINCTÀÇ ±¸Çö¿¡ ÀÚµ¿ÀûÀ¸·Î ÇàÀÇ ¼ø¼ºÎ°¡ Æ÷ÇÔµÅ, ORDER BY°¡ ºÒÇÊ¿äÇÕ´Ï´Ù. ±×·¯³ª, À̰ÍÀº Ç¥ÁØ SQL¿¡ ÀÇÇÑ ¿äûÀÌ ¾Æ´Ï°í, ÇöÀçÀÇ PostgreSQL¿¡¼ DISTINCT±¸°¡ ÇàÀÇ ¼ø¼ºÎ¸¦ ½Ç½ÃÇÏ´Â °ÍÀ» º¸ÁõÇϰí ÀÖ½À´Ï´Ù. |