2.5. Å×ÀÌºí¿¡ÀÇ Äõ¸®

Å×ÀÌºí¿¡¼­ µ¥ÀÌÅ͸¦ ²ø¾î¿À±â À§Çؼ­, Å×ÀÌºí¿¡ Äõ¸®¸¦ ÇÕ´Ï´Ù. ÀÌ ¶§¹®¿¡ 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;

Notes

[1]

SELECT *´Â ÁïÈïÀûÀÎ Äõ¸®·Î À¯¿ëÇÕ´Ï´Ù¸¸, Á¦Ç° ·¹º§ÀÇ Äڵ忡¼­´Â, Å×ÀÌºí¿¡ ¿­À» Ãß°¡ÇÏ´Â °ÍÀ¸·Î °á°ú°¡ ´Þ¶óÁö±â ¶§¹®¿¡, ÀϹÝÀûÀ¸·Î ¼±È£ÇÏÁö ¾Ê½À´Ï´Ù.

[2]

PostgreSQLÀÇ ³°Àº ¹öÁ¯À» Æ÷ÇÔÇÑ ÀϺÎÀÇ µ¥ÀÌÅͺ£À̽º ½Ã½ºÅÛ¿¡¼­´Â, DISTINCTÀÇ ±¸Çö¿¡ ÀÚµ¿ÀûÀ¸·Î ÇàÀÇ ¼ø¼­ºÎ°¡ Æ÷ÇÔµÅ, ORDER BY°¡ ºÒÇÊ¿äÇÕ´Ï´Ù. ±×·¯³ª, À̰ÍÀº Ç¥ÁØ SQL¿¡ ÀÇÇÑ ¿äûÀÌ ¾Æ´Ï°í, ÇöÀçÀÇ PostgreSQL¿¡¼­ DISTINCT±¸°¡ ÇàÀÇ ¼ø¼­ºÎ¸¦ ½Ç½ÃÇÏ´Â °ÍÀ» º¸ÁõÇϰí ÀÖ½À´Ï´Ù.