欢迎来到天天文库
浏览记录
ID:24348479
大小:50.50 KB
页数:3页
时间:2018-11-13
《sql语句中的in怎么用》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、★sql语句中的in怎么用OracleSQLIN用法OracleSQLIN用法查找名字为张海、王涛、王家一之一的教师姓名和工资。SELECTtname,salFROMTEACHERemployee_infoD001FROMBOMMDD001NOTIN(SELECTMC001FROMBOMMC)NOTEXISTS,exists的用法跟in不一样,一般都需要和子表进行关联,而且关联时,需要用索引,这样就可以加快速度selectDISTINCTMD001fromBOMMDC001FROMBOMMCAB)效率低,用到了A
2、表上cc列的索引;select*fromABBA)效率高,用到了B表上cc列的索引;select*fromBAefromstudentein('zhang','efromstudente='zhang'orname='li'orname='e='zhao'的结果是相同的。例子如下(即exists返回eFROMpublisherstitlespublisherstitlesaryland州的所有的姓名和州的列表时,就需要下列查询:SEL
3、ECTProductID,ProductNameFROMNortheFROMNorthe,au_fnameFROMauthorstitleauthorpublisherstitlespublisherstitlespublisherstitlestitlesIN:后面只能是对单列:SELECTpub_idFROMtitles[四]NOTEXISTS:例如,要查找不出版商业书籍的出版商的名称:SELECTpub_nameFROMpublisherstitlestitlessalesanyvalues,也就是说in与
4、notin最大的数据容量是1000,有兴趣的朋友可以试下!in不行的时候最好用exists.自己的实用的一个例子,一个消费表中,要查询当前月的用户不在前当年前几个月中存在,也就是说净增长多少个消费。SQL如下:selectcont(t.customerid),count(distinctt.customerid)fromconsumelogte>date'2009-09-01'andt.storetime<date'2009-10-01'andnotexists(sel
5、ect*fromconsumelogserid=t.customeridands.storetime>date'2009-01-01'ands.storetime<date'2009-09-01')方法有些笨,一个一个的修改月份。朋友们有好的方法推荐下~~
此文档下载收益归作者所有