快速业务通道

SQL语法总结

作者 佚名技术 来源 数据库编程 浏览 发布时间 2012-03-21
SQL语法总结
1.按条件读取字段, 定义某个字段只取规定的几个值,或一个值

select os.* from  blis_order o,blis_orderservice os where o.orderid=os.orderid and o.ordertypeid not in (4, 8, 10, 11) and o.status in (''New'',''Accepted'',''Pending-apPRoval'',''Pending-effective'',''Pending-correction'') and snp.status=''Active'' and b.entityid=1

2.去掉重复(互异)的字段distinct

select distinct op.name,op. from blis_chargeactivation ca,blis_orderparameter op where op.mastertype=''charge'' and ca.chargeactivationid=op.masterid and ca.parentcode like ''%NBR Storage Charge%''


3.某个字段不可为null

select os.orderserviceid,os.orderofferid,o.ordertypeid,o.status from  Blis_Order o,  Blis_Orderservice os where o.orderid=os.orderid and os.orderofferid is not null

4.删除满足某个条件的记录

delete  from blis_bstoffermigplan bsf where bsf.keyid=''110206''

5.取name_a字段,放入字段别名name_b

select bsf.keyid subcode,bsf.bstoffermigplanid from blis_bstoffermigplan bsf

这里取的是keyid字段, 显示的为subcode字段。


6.connection rollback commit
rollback 就是把在内存中做的行为取消,不持久化到数据库中,commit就是把内存中做的行为持久化到数据库中。

7. 在Oracle中使用Dual, Dual是Oracle一个特有的虚拟表, Oracle中很多系统的sequence(序列),sequence一般和表建立了一一对应关系,但是要编程插入的话,必须手工指定,比如增加条account数据,相应的值插入SEQ_ACCOUNT.nextval,变量和函数都可以通过Dual中获得
S: select getdate();
O: select sysdate from dual;


select SEQ_INTEGRATIONTASK.NEXTVAL from DUAL

8.(PK)主键(PK) (for database)

9.排序(数字,字母由大到小)

select bsf.* from blis_bstoffermigplan bsf order by bsf.ordertypeid desc

10.插入一条记录

insert into blis_bstoffermigplan (bstoffermigplanid, entityid, keyid, subioncode, ordertypeid, type, templatecode, currencycode, exceptioncount, lastexception, att1, att2, att3,att4,att5,offercode, status, createdby, creationdate, lastmodifiedby, lastmodifieddate) values (seq_bstoffermigplan.nextval, ?, ?, ?, ?, ?,?, ?, ?,?, ?, ?, ?, ?, ?, ?, ?, ?,sysdate, ?, sysdate)

11,更新一条记录

update offermigplan.db_table_name set entityid=?,keyid=?,subioncode=?,ordertypeid=?,type=?,templatecode=?,currencycode=?,exceptioncount=?,lastexception=?,att1=?,att2=?,att3=?,att4=?,att5=?,offercode=?,status=?,createdby=?,lastmodifiedby=?,lastmodifieddate=sysdate where bstoffermigplanid=?



12.插入数据量比较大的类型clob

13.查询日期

下列两条语句功能相同

select * from blis_account acc where  to_char(acc.lastmodifieddate,''YYYYMMDD'')>''20050101''

select * from blis_account acc where  acc.lastmodifieddate>to_date(''2005-01-01'',''yyyy-mm-dd'')

14找出根据某个字段中的值重复的记录

比如找出chargeactivationid 有相同值的blis_usageaccess记录

select * from blis_usageaccess where chargeactivationid in (select chargeactivationid from blis_usageaccess group by chargeactivationid having count(*) >1)

USAGEACCESSID CHARGEACTIVATIONID  SERVICEACCESSCODE
292518 148701  AUDIO-BROADC

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号