Query ¸í·É


Äõ¸®(queries)´Â µ¥ÀÌŸº£À̽º¿¡¼­ ƯÁ¤ÇÑ µ¥ÀÌŸ¸¦ º¸°í ½ÍÀ» ¶§ »ç¿ëÇÏ´Â sql¸í·É¾îÀÔ´Ï´Ù. ±âº»ÀûÀ¸·Î select¹®À» °¡Àå ¸¹ÀÌ »ç¿ëÇÕ´Ï´Ù.

select º¯¼ö1,º¯¼ö2,..... from tableÀ̸§ [whereÀý];
ÀÌ °æ¿ìÀÇ whereÀý ¿ª½Ã Á¶°Ç¹®À̶ó°í º¸½Ã¸é µË´Ï´Ù.

* Á¶°Ç¹®ÀÇ ¿¹½Ã
where a='dog' and b='f';
where a='dog' or b='f';
where (a='dog' and b='f') or (a='cat' and b='m');
where birth>'1996-01-11';
where score>=90;

¸¸¾à Á¶¿ëÇÊÀÇ ±â¸»ÆòÁ¡À» ¾Ë°í ½Í´Ù¸é ´ÙÀ½°ú °°Àº Äõ¸®¸¦ ½ÇÇà½Ãŵ´Ï´Ù.
mysql>
select fgrade
            ->
from grad where name='Á¶¿ëÇÊ';(charÀÌ¶ó¼­ ' ')

table¿¡ ´ëÇÑ ¸ðµç µ¥ÀÌŸ¸¦ º¸°í ½Í´Ù¸é, ´Ù¸§°ú °°Àº Äõ¸®¸¦ ½ÇÇà½ÃŰ¸é µË´Ï´Ù.
mysql>
select * from grad;
name    number r1      r2      mid     mgrade r3      r4      final    ab     fgrade
Á¤Ã¢¿µ  200273  3       4       30      a+      3       5       32      10      a+
Á¶¿ëÇÊ  200274  4       5       27      a0      4       3       28      8       b0
ÀÌ»ó¿ø  200275  5       4       25      c+      3       3       26      5       c-

select¹®¿¡ ¿©·¯ °¡Áö Á¶°ÇÀýÀ» ¸¸µé ¼ö ÀÖ½À´Ï´Ù.

finalÀÇ ¿Ã¸²Â÷¼øÀ¸·Î óÀ½ 2¸íÀÇ À̸§À» º¸¿©ÁÝ´Ï´Ù.
mysql>
select name from grad order by final [limit 2];

¸¸ÀÏ º¯¼ö°ªÀÌ Áߺ¹µÈ ·¹ÄÚµåµéÀ» Çϳª·Î ÅëÀϽÃÄѼ­ º¸·Á¸é
mysql>
select distinct name from grad;

¶Ç select¹®¿¡¼­ desc¸¦ ¾²¸é ³»¸²Â÷¼øÀ¸·Î Á¤·Ä½Ãŵ´Ï´Ù(default=¿Ã¸²Â÷¼ø).
mysql>
select name from grad order by final desc;

ÀÏ´Ü finalÀÇ ¿Ã¸²Â÷¼øÀ¸·Î Á¤¸®Çϰí midÀÇ ³»¸²Â÷¼ø, ¸¶Áö¸·À¸·Î abÀÇ ¿Ã¸²Â÷¼øÀ¸·Î Á¤¸®ÇÏ¿© º¸·Á¸é(desc´Â ÇØ´çº¯¼ö¿¡¸¸ Àû¿ëµÊ)
mysql>
select name, mid, final, ab from grad order by final, mid desc, ab;

ÀÌ ¿Ü¿¡ ÆÐÅÏÀ» °Ë»öÇÏ´Â Á¶°Ç¹®Àº like³ª regexp¸¦ »ç¿ëÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

grad¶ó´Â table¿¡¼­ finalÀÇ ÃÖ´ë°ªÀ» ±¸ÇØ year¶ó´Â º¯¼ö·Î º¸·Á¸é
mysql>
select max(final) as year from grad;

group by: À§ÀÇ ¸í·ÉÀ» ±×·ìº°·Î ½Ç½ÃÇÒ ¶§
mysql>
select max(final) as year from grad group by Çаú;

°è»ê½ÄÀ» Àû¿ëÇÑ °á°ú¸¦ »õ·Î¿î º¯¼ö·Î º¼ ¼öµµ ÀÖ½À´Ï´Ù.
mysql>
select name, (mid+final)/2 as average from grad
¡æ
where mid is not null order by average;