Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

SQLÖÐCaseµÄʹÓ÷½·¨(ÏÂÆª)

½ÓÉÏÆª
ËÄ£¬¸ù¾ÝÌõ¼þÓÐÑ¡ÔñµÄUPDATE¡£
Àý£¬ÓÐÈçϸüÐÂÌõ¼þ
¹¤×Ê5000ÒÔÉϵÄÖ°Ô±£¬¹¤×ʼõÉÙ10%
¹¤×ÊÔÚ2000µ½4600Ö®¼äµÄÖ°Ô±£¬¹¤×ÊÔö¼Ó15%
ºÜÈÝÒ׿¼ÂǵÄÊÇÑ¡ÔñÖ´ÐÐÁ½´ÎUPDATEÓï¾ä£¬ÈçÏÂËùʾ
--Ìõ¼þ1
UPDATE Personnel
SET salary = salary * 0.9
WHERE salary >= 5000;
--Ìõ¼þ2
UPDATE Personnel
SET salary = salary * 1.15
WHERE salary >= 2000 AND salary < 4600;
µ«ÊÇÊÂÇéûÓÐÏëÏóµÃÄÇô¼òµ¥£¬¼ÙÉèÓиöÈ˹¤×Ê5000¿é¡£Ê×ÏÈ£¬°´ÕÕÌõ¼þ1£¬¹¤×ʼõÉÙ10%£¬±ä³É¹¤×Ê4500¡£½ÓÏÂÀ´ÔËÐеڶþ¸öSQLʱºò£¬ÒòΪÕâ¸öÈ˵Ť×ÊÊÇ4500ÔÚ2000µ½4600µÄ·¶Î§Ö®ÄÚ£¬ ÐèÔö¼Ó15%£¬×îºóÕâ¸öÈ˵Ť×ʽá¹ûÊÇ5175,²»µ«Ã»ÓмõÉÙ£¬·´¶øÔö¼ÓÁË¡£Èç¹ûÒªÊÇ·´¹ýÀ´Ö´ÐУ¬ÄÇô¹¤×Ê4600µÄÈËÏà·´»á±ä³É¼õÉÙ¹¤×Ê¡£ÔÝÇÒ²»¹ÜÕâ¸ö¹æÕÂÊǶàô»Äµ®£¬Èç¹ûÏëÒªÒ»¸öSQL Óï¾äʵÏÖÕâ¸ö¹¦Äܵϰ£¬ÎÒÃÇÐèÒªÓõ½Caseº¯Êý¡£´úÂëÈçÏÂ:
UPDATE Personnel
SET salary = CASE WHEN salary >= 5000
¡¡ THEN salary * 0.9
WHEN salary >= 2000 AND salary < 4600
THEN salary * 1.15
ELSE salary END;
ÕâÀïҪעÒâÒ»µã£¬×îºóÒ»ÐеÄELSE salaryÊDZØÐèµÄ£¬ÒªÊÇûÓÐÕâÐУ¬²»·ûºÏÕâÁ½¸öÌõ¼þµÄÈ˵Ť×ʽ«»á±»Ð´³ÉNUll,Äǿɾʹóʲ»ÃîÁË¡£ÔÚCaseº¯ÊýÖÐElse²¿·ÖµÄĬÈÏÖµÊÇNULL£¬ÕâµãÊÇÐèҪעÒâµÄµØ·½¡£
ÕâÖÖ·½·¨»¹¿ÉÒÔÔÚºÜ¶àµØ·½Ê¹Ó㬱ÈÈç˵±ä¸üÖ÷¼üÕâÖÖÀۻ
Ò»°ãÇé¿öÏ£¬ÒªÏë°ÑÁ½ÌõÊý¾ÝµÄPrimary key,aºÍb½»»»£¬ÐèÒª¾­¹ýÁÙʱ´æ´¢£¬¿½±´£¬¶Á»ØÊý¾ÝµÄÈý¸ö¹ý³Ì£¬ÒªÊÇʹÓÃCaseº¯ÊýµÄ»°£¬Ò»Çж¼±äµÃ¼òµ¥¶àÁË¡£
p_key
col_1
col_2
a
1
ÕÅÈý
b
2
ÀîËÄ
c
3
ÍõÎå
¼ÙÉèÓÐÈçÉÏÊý¾Ý£¬ÐèÒª°ÑÖ÷¼üaºÍbÏ໥½»»»¡£ÓÃCaseº¯ÊýÀ´ÊµÏֵϰ£¬´úÂëÈçÏÂ
UPDATE SomeTable
SET p_key = CASE WHEN p_key = 'a'
THEN 'b'
WHEN p_key = 'b'
THEN 'a'
ELSE p_key END
WHERE p_key IN ('a', 'b');
ͬÑùµÄÒ²¿ÉÒÔ½»»»Á½¸öUnique key¡£ÐèҪעÒâµÄÊÇ£¬Èç¹ûÓÐÐèÒª½»»»Ö÷¼üµÄÇé¿ö·¢Éú£¬¶à°ëÊǵ±³õ¶ÔÕâ¸ö±íµÄÉè¼Æ½øÐеò»¹»µ½Î»£¬½¨Òé¼ì²é±íµÄÉè¼ÆÊÇ·ñÍ×µ±¡£
Î壬Á½¸ö±íÊý¾ÝÊÇ·ñÒ»Öµļì²é¡£
Caseº¯Êý²»Í¬ÓÚDECODEº¯Êý¡£ÔÚCaseº¯ÊýÖУ¬¿ÉÒÔʹÓÃBETWEEN,LIKE,IS NULL,IN,EXISTSµÈµÈ¡£±ÈÈç˵ʹÓÃIN,EXISTS£¬¿ÉÒÔ½øÐÐ×Ó²éѯ£¬´Ó¶ø ʵÏÖ¸ü¶àµÄ¹¦ÄÜ¡£
ÏÂÃæ¾ß¸öÀý×ÓÀ´ËµÃ÷£¬ÓÐÁ½¸ö±í£¬tbl_A,tbl_B£¬Á½¸ö±íÖж¼ÓÐkeyColÁС£ÏÖÔÚÎÒÃǶÔÁ½¸ö±í½øÐбȽϣ¬tbl_AÖеÄkeyColÁе


Ïà¹ØÎĵµ£º

Interbase/FirebirdµÄSQLÓï·¨(ÊÕ²Ø)


Ò»¡¢·Öҳд·¨Ð¡Àý£º
SELECT FIRST 10 templateid,code,name from template ;
SELECT FIRST 10 SKIP 10 templateid,code,name from template ;
SELECT * from shop ROWS 1 TO 10;   –firebird2.0Ö§³ÖÕâÖÖд·¨
 
¶þ¡¢ÏÔʾ±íÃûºÍ±í½á¹¹
SHOW TABLES;
SHOW TABLE tablename;
ËÄ¡¢¸üÐÂ×Ö¶Î×¢ÊÍ
......

OracleÈçºÎÖ´ÐÐÅúÁ¿sqlÓï¾ä

Òª´´½¨Á½¸öÎļþ
1: runBatch.bat
2: sql.txt
runBatch.bat ÄÚÈÝÈçÏ£º
sqlplus username/password @sql.txt
pause
sql.txtÄÚÈÝÈçÏ£º
spool sql.log
create table t1(cname char(20));
insert into t1(cname) values('test');
select * from t1;
spool off
exit
Ë«»÷runBatch.bat¾Í¿ÉÒÔÅúÁ¿Ö´ÐÐsql.txtÖÐ ......

sqlÖ®left join¡¢right join¡¢inner joinµÄÇø±ð


sqlÖ®left join¡¢right join¡¢inner joinµÄÇø±ð
left join(×óÁª½Ó) ·µ»Ø°üÀ¨×ó±íÖеÄËùÓмǼºÍÓÒ±íÖÐÁª½á×Ö¶ÎÏàµÈµÄ¼Ç¼
right join(ÓÒÁª½Ó) ·µ»Ø°üÀ¨ÓÒ±íÖеÄËùÓмǼºÍ×ó±íÖÐÁª½á×Ö¶ÎÏàµÈµÄ¼Ç¼
inner join(µÈÖµÁ¬½Ó) Ö»·µ»ØÁ½¸ö±íÖÐÁª½á×Ö¶ÎÏàµÈµÄÐÐ
¾ÙÀýÈçÏ£º
-------------------------------------------- ......

SQL ServerµÄ¶¨Ðò(Collation)

ʹÓÃSQL ServerµÄÅóÓÑ們應該¶¼ÖªµÀSQL ServerµÄ資ÁÏ庫ÓÐÒ»個設¶¨½Ð×ö¶¨Ðò(Collation)£¬½ñÌìÎÒ們¾Í來¿´¿´¶¨Ðò這東Î÷ÊÇʲ麼£¬Ê×ÏÈÎÒ們¿´Ò»ÏÂWikiÉÏ對¶¨ÐòµÄ說Ã÷£º
Collation is the assembly of written information into a sta ......

JDBCµ÷ÓÃSql server 2005 ´æ´¢¹ý³Ì³öÏÖµÄÎÊÌâ

»·¾³£ºJDK1.5
Êý¾Ý¿â£ºSql server 2005 +sp2
JDBCÇý¶¯£ºsqljdbc.jar
²âÊÔÀà´úÂëÈçÏ£º
import java.sql.*;
public class test {
 /**
  * @param args
  * @throws SQLException
  * @throws ClassNotFoundException
  */
 public static void main(String[] args) throws SQL ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ