VALUES

Name

VALUES -- Çà ¼¼Æ®¸¦ °è»êÇÕ´Ï´Ù

Synopsis

VALUES ( 
expression
 [, ...] ) [, ...]
    [ ORDER BY 
sort_expression
 [ ASC | DESC | USING 
operator
 ] [, ...] ]
    [ LIMIT { 
count
 | ALL } ]
    [ OFFSET 
start
 ]

¼³¸í

VALUES ´Â, °ªÀÇ ½Ä¿¡¼­ ÁöÁ¤µÈ Çà °ªÀ̳ª ÇàÀÇ ÁýÇÕÀ» °è»êÇÕ´Ï´Ù. Å« ¸í·É ¾È¿¡¼­"Á¤¼ö Å×À̺í"À» ÀÛ¼ºÇϱâ À§Çؼ­ »ç¿ëÇÏ´Â °æ¿ì°¡ ´ëºÎºÐÀÌÁö¸¸, ±×°Í ´Üµ¶À¸·Î »ç¿ëÇÏ´Â Àϵµ °¡´ÉÇÕ´Ï´Ù.

º¹¼öÇàÀ» ÁöÁ¤ÇßÀ» °æ¿ì´Â, ¸ðµç ÇàÀÇ ¿ä¼Ò¼ö°¡ °°¾Æ¾ß¸¸ ÇÕ´Ï´Ù. Å×À̺íÀÇ Ä÷³ °á°ú°ªÀÇ µ¥ÀÌÅÍÇüÀ» °áÁ¤ÇÏ·Á¸é , ¸í½ÃÀûÀ¸·Î ÁöÁ¤µÇ°í ÀÖ´Â Çüųª ±× Ä÷³¿¡ µîÀåÇÏ´Â ½ÄÀ¸·ÎºÎÅÍ ÃßÃøÇÒ ¼ö ÀÖ´Â ÇüŸ¦ Á¶ÇÕÇØ »ç¿ëÇÕ´Ï´Ù. À̰ÍÀº UNION ¿Í °°Àº ¹æ½ÄÀÔ´Ï´Ù (Section 10.5 ¸¦ ÂüÁ¶ÇØ ÁֽʽÿÀ).

Å« ¸í·É ¾È¿¡¼­ SELECT °¡ ¹®¹ý »ó»çÀå¼Ò¶ó¸é ¾îµð¿¡¼­¶óµµ VALUES¸¦ »ç¿ëÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ¿Ö³ÄÇϸé, À̰ÍÀº ¹®¹ý»óÀº SELECT ¿Í µ¿ÀÏ Ãë±ÞÀ̱⠶§¹®ÀÔ´Ï´Ù. VALUES ¸í·É°ú ÇÔ²² ORDER BY, LIMIT ±×¸®°í OFFSET ±¸¸¦ »ç¿ëÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.

¸Å°³º¯¼ö

expression

»ó¼ö ȤÀº ½ÄÀÔ´Ï´Ù. À̰ÍÀ» °è»êÇÑ °á°ú°¡ Ç¥(Çà ¼¼Æ®) ¾ÈÀÇ ÁöÁ¤ÇÑ Àå¼Ò¿¡ »ðÀԵ˴ϴÙ. VALUES ¸®½ºÆ®¸¦ INSERT ÀÇ ÃÖ»óÁ¤µµ ·¹º§·Î »ç¿ëÇÏ´Â °æ¿ì´Â, expression ¸¦ DEFAULT¿¡ ÀÇÇØ ´ëü µÉ ¼ö ÀÖ½À´Ï´Ù. À̰ÍÀº, ±× Ä÷³ÀÇ ±âº»°ªÀ» »ðÀÔÇÏ´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù. ´Ù¸¥ Àå¼Ò¿¡¼­ VALUES ¸¦ »ç¿ëÇÏ´Â °æ¿ì¿¡´Â DEFAULT ´Â »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.

sort_expression

½Ä ȤÀº Á¤¼öÀÇ Á¤¼ö·Î, °á°úÀÇ ÇàÀ» Á¤·ÄÇÏ´Â ¹æ¹ýÀ» ³ªÅ¸³À´Ï´Ù. ÀÌ ½ÄÀº VALUES ÀÇ °á°úÀÇ Ä÷³À» column1,column2µî°ú °°ÀÌ ÂüÁ¶ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀº ORDER BYÀý À» ÂüÁ¶ÇØ ÁֽʽÿÀ.

operator

Á¤·Ä¿ëÀÇ ¿¬»êÀÚÀÔ´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀº ORDER BYÀý (À»)¸¦ ÂüÁ¶ÇØ ÁֽʽÿÀ.

count

µ¹·ÁÁÖ´Â ÇàÀÇ ÃÖ´ë¼öÀÔ´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀº LIMIT±¸ (À»)¸¦ ÂüÁ¶ÇØ ÁֽʽÿÀ.

start

ÇàÀ» µÇµ¹·ÁÁÖ´Â °ÍÀ» ½ÃÀÛÇϱâ Àü¿¡ ÇàÀÇ ¼ýÀÚ¸¦ °Ç³Ê ¶Ý´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀº LIMIT±¸ (À»)¸¦ ÂüÁ¶ÇØ ÁֽʽÿÀ.

ÁÖ¼®

¸Þ¸ð¸® ºÎÁ·À̳ª ¼º´ÉÀÇ ¿­È­¸¦ ÀÏÀ¸Å°°Ô ÇÒ °¡´É¼ºÀÌ Àֱ⠶§¹®¿¡ ¸Å¿ì ¸¹Àº ÇàÀ» °¡Áö´Â VALUES ¸®½ºÆ®¸¦ Ãë±ÞÇÏ´Â °ÍÀº ÇÇÇØ¾ß ÇÕ´Ï´Ù. INSERT ¿¡¼­ ³ªÅ¸³ª´Â VALUESÀº Ưº°ÇÑ °æ¿ìÀÔ´Ï´Ù. (Ä÷³ÀÇ ÇüÅ´ INSERTÀÇ ´ë»ó Å×ÀÌºí¿¡¼­ ¾Ë·ÁÁö°í VALUES ÀÇ ¸®½ºÆ®¸¦ Á¶»çÇØ ÇüŸ¦ ÃßÃøÇÒ Çʿ䰡 ¾ø±â ¶§¹®ÀÔ´Ï´Ù.) ±× ¶§¹®¿¡ ´Ù¸¥ Àå¸é¿¡ ºñÇØ Å« ¸®½ºÆ®¸¦ Ãë±ÞÇÒ ¼ö ÀÖ½À´Ï´Ù.

¿¹Á¦

ÇÊ¿ä ÃÖ¼ÒÇÑÀÇ VALUES ¸í·ÉÀº ÀÌ¿Í °°½À´Ï´Ù.

VALUES (1, 'one'), (2, 'two'), (3, 'three');

À̰ÍÀº 2°³ÀÇ Ä÷³°ú 3 ÇàÀÌ 3Å×À̺íÀ» µ¹·ÁÁÝ´Ï´Ù. »ç½Ç»ó, À̰ÍÀº ´ÙÀ½°ú °°Àº °ÍÀÔ´Ï´Ù.

SELECT 1 AS column1, 'one' AS column2
UNION ALL
SELECT 2, 'two'
UNION ALL
SELECT 3, 'three';

Åë»óÀº VALUES ´Â Å« SQL ¸í·ÉÀÇ ³»ºÎ¿¡¼­ »ç¿ëÇÕ´Ï´Ù. °¡Àå ÀϹÝÀûÀ¸·Î »ç¿ëµÇ´Â °ÍÀº INSERT ÀÔ´Ï´Ù.

INSERT INTO films (code, title, did, date_prod, kind)
    VALUES ('T_601', 'Yojimbo', 106, '1961-06-16', 'Drama');

INSERT ³»¿¡¼­ »ç¿ëÇÏ´Â °æ¿ì¿¡´Â VALUES ÀÇ ¸®½ºÆ®ÀÇ Ç׸ñ¿¡ DEFAULT ¸¦ ÁöÁ¤ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. À̰ÍÀº °ªÀ» ±¸Ã¼ÀûÀ¸·Î ÁöÁ¤ÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó ±× Ä÷³ÀÇ ±âº»°ªÀ» »ç¿ëÇÏ´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù.

INSERT INTO films VALUES
    ('UA502', 'Bananas', 105, DEFAULT, 'Comedy', '82 minutes'),
    ('T_601', 'Yojimbo', 106, DEFAULT, 'Drama', DEFAULT);

VALUES ´Â, ºÎSELECT ¸¦ ¾µ ¼ö ÀÖ´Â Àå¼Ò¶ó¸é ¾îµð¿¡¼­¶óµµ »ç¿ëÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¸é FROM ±¸·Îµµ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

SELECT f.*
  FROM films f, (VALUES('MGM', 'Horror'), ('UA', 'Sci-Fi')) AS t (studio, kind)
  WHERE f.studio = t.studio AND f.kind = t.kind;

UPDATE employees SET salary = salary * v.increase
  FROM (VALUES(1, 200000, 1.2), (2, 400000, 1.4)) AS v (depno, target, increase)
  WHERE employees.depno = v.depno AND employees.sales >= v.target;

VALUES ¸¦ FROM ±¸ ¾È¿¡¼­ »ç¿ëÇÏ´Â °æ¿ì¿¡´Â, AS ±¸°¡ Çʼö°¡ µÇ´Â °Í¿¡ ÁÖÀÇÇսôÙ. À̰ÍÀº SELECT ÀÇ °æ¿ì¿Í °°½À´Ï´Ù. AS ±¸·Î ¸ðµç Ä÷³ÀÇ À̸§À» ÁöÁ¤ÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù¸¸, ÁöÁ¤ÇØ µÎ´Â °ÍÀ» ÃßõÇÕ´Ï´Ù (VALUES ÀÇ ±âº»°ªÀÇ Ä÷³¸íÀº PostgreSQL ¾È¿¡¼­ column1,column2 ¿Í °°ÀÌ µË´Ï´Ù. ±×·¯³ª, ´Ù¸¥ µ¥ÀÌÅͺ£À̽º ½Ã½ºÅÛ¿¡¼­´Â ´Ù¸¦Áöµµ ¸ð¸¨´Ï´Ù).

VALUES ¸¦ INSERT Áß(¾È)¿¡¼­ »ç¿ëÇÏ´Â °æ¿ì´Â, °ªÀÇ ÇüŰ¡ »ðÀÔó Ä÷³ÀÇ µ¥ÀÌÅÍ Å¸ÀÔ¿¡ ÀÚµ¿º¯¿ªµË´Ï´Ù. ±× ÀÌ¿ÜÀÇ ¹®¸Æ¿¡¼­ »ç¿ëÇÏ·Á¸é , ¿Ã¹Ù¸¥ µ¥ÀÌÅÍÇüÀ» ÁöÁ¤ÇÒ Çʿ䰡 ÀÖÀ»Áöµµ ¸ð¸¨´Ï´Ù. ±× Ç׸ñÀÌ ¸ðµÎ ¸®ÅÍ·² »ó¼öÀÎ ÀοëµÇ¾ú´Ù¸é, ÃÖÃÊÀÇ °ª¿¡¸¸ ÇüŸ¦ ÁöÁ¤ÇØ µÎ¸é ÃæºÐÇÕ´Ï´Ù.

SELECT * FROM machines
WHERE ip_address IN (VALUES('192.168.0.1'::inet), ('192.168.0.10'), ('192.168.1.43'));

Tip: IN ¸¦ ½ÃÇèÇÏ°í ½Í´Ù¸é, À§¿Í °°Àº VALUES Äõ¸®¹®À» »ç¿ëÇÏ´Â °Íº¸´Ùµµ IN ÀÇ ½ºÄ®¶ó(scalar) ¸®½ºÆ® Çü½ÄÀ» »ç¿ëÇÏ´Â ÆíÀÌ ÁÁÀ» °ÍÀÔ´Ï´Ù. ½ºÄ®¶ó(scalar) ¸Þ¼ÒµåÀÇ ¸®½ºÆ® ÂÊÀÌ ±â¼ú·®ÀÌ ÁÙ¾îµé°í, ´ëºÎºÐÀº º¸´Ù È¿À²ÀûÀÌ µË´Ï´Ù.

ȣȯ¼º

VALUES conforms to the SQL standard, except that LIMIT and OFFSET are PostgreSQL extensions. --> LIMIT ¹× OFFSET (Àº)´Â PostgreSQL ÀÇ È®ÀåÀÔ´Ï´Ù. À̰ÍÀ» Á¦¿ÜÇϰí VALUES ´Â SQL Ç¥ÁØ¿¡ µû¸¨´Ï´Ù.

°ü·Ã Ç׸ñ

INSERT , SELECT