3 ÓÃÓÚ SELECT ºÍ WHERE ×Ó¾äµÄº¯Êý
Ò»¸ö SQL Óï¾äÖÐµÄ select_expression »ò where_definition ¿ÉÓÉÈκÎʹÓÃÁËÏÂÃæËùÃèÊöº¯ÊýµÄ±í´ïʽ×é³É¡£
°üº¬ NULL µÄ±í´ïʽ×ÜÊǵóöÒ»¸ö NULL Öµ½á¹û£¬³ý·Ç±í´ïʽÖеIJÙ×÷ºÍº¯ÊýÔÚÎĵµÖÐÓÐÁíÍâµÄ˵Ã÷¡£
×¢Ò⣺ÔÚÒ»¸öº¯ÊýÃûºÍ¸úËæËüµÄÀ¨ºÅÖ®¼ä±ØÐë²»´æÔÚ¿Õ¸ñ¡£ÕâÓÐÖúÓÚ MySQL Óï·¨·ÖÎö³ÌÐòÇø·Öº¯Êýµ÷ÓúͶÔÇ¡ÇÉÓ뺯ÊýͬÃû±í»òÁеÄÒýÓá£È»¶ø£¬²ÎÊý×óÓÒÁ½±ßµÄ¿Õ¸ñÈ´ÊÇÔÊÐíµÄ¡£
Äã¿ÉÒÔÇ¿ÖÆ MySQL ½ÓÊܺ¯ÊýÃûºó´æÔÚ¿Õ¸ñµÄÐÎʽ£¬ÕâÐèҪͨ¹ýÒÔ --ansi Ñ¡ÏîÆô¶¯ mysqld£¬»òÔÚ mysql_connect() ÖÐʹÓà CLIENT_IGNORE_SPACE£¬µ«ÊÇ£¬ÔÚÕâÖÖÇé¿öÏ£¬ËùÓеĺ¯ÊýÃû¾ù½«³ÉΪ±£Áô×Ö¡£²é¿´ÕÂ½Ú 1.8.2 ÒÔ ANSI ģʽÔËÐÐ MySQL.
ΪÁ˼ò½à£¬´Ó mysql ³ÌÐòÊä³öµÄÀý×ÓÒÔËõдµÄÐÎʽÏÔʾ¡£Òò´Ë£º
mysql> SELECT MOD(29,9);
1 rows in set (0.00 sec)
+-----------+
| mod(29,9) |
+-----------+
| 2 |
+-----------+
½«±»ÏÔʾΪÕâÑù£º
mysql> SELECT MOD(29,9);
-> 2
3.1 ÎÞÀàÐ͵ÄÌØÊâÔËËã·ûºÍº¯Êý
3.1.1 Ô²À¨ºÅ
( ... )
À¨ºÅ£¬Ê¹ÓÃËüÀ´Ç¿ÖÆÒ»¸ö±í´ïʽµÄ¼ÆËã˳Ðò¡£
mysql> SELECT 1+2*3;
-> 7
mysql> SELECT (1+2)*3;
-> 9
3.1.2 ±È½ÏÔËËã·û
±È½ÏÔËËã·ûµÄ½á¹ûÊÇ 1 (TRUE)¡¢0 (FALSE) »ò NULL¡£ÕâЩº¯Êý¿É¹¤×÷ÓÚÊý×ÖºÍ×Ö·û´®ÉÏ¡£¸ù¾ÝÐèÒª£¬×Ö·û´®½«»á×Ô¶¯µØ±»×ª»»µ½Êý×Ö£¬ÒÔ¼°Êý×Ö±»×ª»»³É×Ö·û´®(±ÈÈçÔÚ Perl ÖÐ)¡£
MySQL ʹÓÃÏÂÁйæÔò½øÐбȽϣº
- Èç¹ûÒ»¸ö»òÁ½¸ö²ÎÊýÊÇ
NULL£¬±È½ÏµÄ½á¹ûÊÇ NULL£¬³ýÁË <=> ÔËËã·û¡£
- Èç¹ûÔÚÒ»¸ö±È½Ï²Ù×÷ÖÐÁ½¸ö²ÎÊý¾ùÊÇ×Ö·û´®£¬ËûÃǽ«×÷Ϊ×Ö·û´®±»±È½Ï¡£
- Èç¹ûÁ½¸ö²ÎÊý¾ùÊÇÕûÊý£¬ËûÃÇ×÷ΪÕûÊý±»±È½Ï¡£
- Ê®Áù½øÖÆÖµÈç¹û²»ÓëÒ»¸öÊý×Ö½øÐбȽϣ¬ÄÇôËü½«µ±×÷Ò»¸ö¶þ½øÖÆ×Ö·û´®¡£
- Èç¹û²ÎÊýÖ®Ò»ÊÇÒ»¸ö
TIMESTAMP »ò DATETIME ÁУ¬¶øÁíÒ»²ÎÊýÊÇÒ»¸ö³£Êý£¬ÔڱȽÏÖ´ÐÐ֮ǰ£¬Õâ¸ö³£Êý±»×ª»»ÎªÒ»¸öʱ¼ä´Á¡£ÕâÑù×öÊÇΪÁË¶Ô ODBC ¸üÓѺá£
- ÔÚËùÓÐÆäËüÇé¿öÏ£¬²ÎÊý×÷Ϊ¸¡µã(real)Êý×Ö±»±È½Ï¡£
ȱʡµØ£¬×Ö·û´®Ê¹Óõ±Ç°×Ö·û¼¯ÒÔºöÂÔ×Öĸ´óСдµÄ·½Ê½½øÐбȽÏ(ȱʡµÄ×Ö·û¼¯Îª ISO-8859-1 Latin1£¬Ëü¶ÔÓ¢Óï´¦ÀíµÃºÜ³öÉ«)¡£
ÏÂÃæµÄÀý×ÓÑÝʾÁ˶ÔÓڱȽϲÙ×÷×Ö·û´®µ½Êý×ÖµÄת»»£º
mysql> SELECT 1 > '6x';
-> 0
mysql> SELECT 7 > '6x';
-> 1
mysql> SELECT 0 > 'x6';
-> 0
mysql> SELECT 0 = 'x6';
-> 1
=
- µÈÓÚ£º
mysql> SELECT 1 = 0;
-> 0
mysql> SELECT '0' = 0;
-> 1
mysql> SELECT '0.0' = 0;
-> 1
mysql> SELECT '0.01' = 0;
-> 0
mysql> SELECT '.01' = 0.01;
-> 1
<>
-
!=
- ²»µÈÓÚ£º
mysql> SELECT '.01' <> '0.01';
-> 1
mysql> SELECT .01 <> '0.01';
-> 0
mysql> SELECT 'zapp' <> 'zappp';
-> 1
<=
- СÓÚ»òµÈÓÚ£º
mysql> SELECT 0.1 <= 2;
-> 1
<
- СÓÚ£º
mysql> SELECT 2 < 2;
-> 0
>=
- ´óÓÚ»òµÈÓÚ£º
mysql> SELECT 2 >= 2;
-> 1
>
- ´óÓÚ£º
mysql> SELECT 2 > 2;
-> 0
<=>
- NULL Öµ°²È«µÈÓÚ£º
mysql> SELECT 1 <=> 1, NULL <=> NULL, 1 <=> NULL;
-> 1 1 0
IS NULL
-
IS NOT NULL
- ²âÊÔÒ»¸öÖµÊÇ»ò²»ÊÇ
NULL: mysql> SELECT 1 IS NULL, 0 IS NULL, NULL IS NULL;
-> 0 0 1
mysql> SELECT 1 IS NOT NULL, 0 IS NOT NULL, NULL IS NOT NULL;
-> 1 1 0
ΪÁËÄܹ»ÓëÆäËü³ÌÐò¸üºÃµÄ¹¤×÷£¬ÔÚʹÓà IS NULL ÊÇ MySQL Ö§³ÖÏÂÁжîÍâÑ¡ÔñÐÔ£º
expr BETWEEN min AND max
- Èç¹û
expr ´óÓÚ»òµÈÓÚ min £¬²¢ÇÒ expr СÓÚ»òµÈÓÚ max£¬BETWEEN ·µ»Ø 1£¬·ñÔò·µ»Ø 0¡£ËüµÈ¼ÛÓÚ±í´ïʽ (min <= expr AND expr <= max) £¬Ö»ÒªËùÓеIJÎÊý¾ùÊÇÏàͬµÄÀàÐÍ¡£ ·ñÔòÀàÐÍ»áÒÀÕÕÉÏÃæµÄ¹æÔò·¢Éúת»»£¬µ«ÊÇÓ¦ÓÃÓÚËùÓÐÈý¸ö²ÎÊý¡£×¢Ò⣬ÔÚ MySQL 4.0.5 ֮ǰ£¬²ÎÊý±»×ª»»µ½ expr µÄÀàÐÍ¡£ mysql> SELECT 1 BETWEEN 2 AND 3;
-> 0
mysql> SELECT 'b' BETWEEN 'a' AND 'c';
-> 1
mysql> SELECT 2 BETWEEN 2 AND '3';
-> 1
mysql> SELECT 2 BETWEEN 2 AND 'x-3';
-> 0
expr NOT BETWEEN min AND max
- µÈͬÓÚ
NOT (expr BETWEEN min AND max)¡£
expr IN (value,...)
- Èç¹û
expr ÊÇ IN ÁбíÖеÄ×÷Ò»Öµ£¬Ëü½«·µ»Ø 1£¬·ñÔò·µ»Ø 0¡£Èç¹ûËùÓеÄÖµ¾ùÊdz£Êý£¬ÄÇôËùÓеÄÖµ±»ÒÀÕÕ expr µÄÀàÐͽøÐмÆËãºÍÅÅÐò¡£È»ºóÒÔÒ»¸ö¶þ½øÖÆËÑË÷·½Ê½Íê³ÉÏîÄ¿µÄËÑË÷¡£Õâ¾ÍÒâζ×Å£¬Èç¹û IN ÁбíÍêÈ«Óɳ£Êý×é³É£¬IN ½«ÊǷdz£¿ìµÄ¡£Èç¹û expr ÊÇÒ»¸ö×Öĸ´óСдÃô¸ÐµÄ×Ö·û´®±í´ïʽ£¬×Ö·û´®±È½Ï½«ÒÔ´óСдÃô¸Ð·½Ê½Ö´ÐУº mysql> SELECT 2 IN (0,3,5,'wefwf');
-> 0
mysql> SELECT 'wefwf' IN (0,3,5,'wefwf');
-> 1
´Ó MySQL 4.1 ¿ªÊ¼(·ûºÏ SQL-99 ±ê×¼)£¬Èç¹û×óÊֱߵıí´ïʽÊÇ NULL£¬»òÕßÔÚÁбíÖÐûÓз¢ÏÖÏàÆ¥ÅäµÄÖµ²¢ÇÒÁбíÖеÄÒ»¸ö±í´ïʽÊÇ NULL£¬IN ¾ù·µ»Ø NULL¡£
expr NOT IN (value,...)
- µÈͬÓÚ
NOT (expr IN (value,...))¡£
ISNULL(expr)
- Èç¹û
expr ÊÇ NULL£¬ISNULL() ·µ»Ø 1£¬·ñÔò·µ»Ø 0£º mysql> SELECT ISNULL(1+1);
-> 0
mysql> SELECT ISNULL(1/0);
-> 1
×¢Ò⣬¶Ô NULL ֵʹÓà = ½øÐбȽÏ×ÜÊÇΪ false £¡
COALESCE(list)
- ·µ»ØÁбíÖеÚÒ»¸ö·Ç
NULL µÄÔªËØ£º mysql> SELECT COALESCE(NULL,1);
-> 1
mysql> SELECT COALESCE(NULL,NULL,NULL);
-> NULL
INTERVAL(N,N1,N2,N3,...)
- Returns Èç¹û
N < N1 ·µ»Ø 0£¬Èç¹û N < N2 ·µ»Ø 1£¬µÈµÈ¡£ËùÓеIJÎÊý¾ù±»µ±×÷ÕûÊý¡
LinuxÁªÃËÊÕ¼¯ÕûÀí ,תÌùÇë±êÃ÷ÔʼÁ´½Ó,ÈçÓÐÈκÎÒÉÎÊ»¶ÓÀ´±¾Õ¾LinuxÂÛ̳ÌÖÂÛ