SQL语句中IN的用法

  • Post author:
  • Post category:其他


具体的逻辑是:文件分不同的


DocTypeID


即文件的类型 如果对文件进行处理比如说 银行等部门对单据先要进行扫描然后录入 校对等处理,那么就要分为不同的批次即不同的


BatchNum


在这

BatchNum

还可能有多个

JobNum

而在每个


JobNum


里存放着文件,有时文件分多页 也就是

PageNum

而进行到最后是将这些单据存到数据库中,只能一页一页的存,问题就出现了 在我们进行扫描 录入 校对 入库时

JobState

随之改变     当入库过程中,网络发生中断时, 一个

JobNum

里的

PageNum





JobState

就不相同了我们把已入库的设置为“6“未入库的设置为“2”      要进行事务回滚必须要找到出现异常的文件      在这里就要用的

关键字

“IN”SQL语句如下:


select DocTypeID,BatchNum,JobNum from JobQueue where JobState=’2′ and BatchNum in(select BatchNum from JobQueue where JobState=’6′ ) group by DocTypeID,BatchNum,JobNum”




IN的作用就是将两条select语句的结果取并集




这样 一个

JobNum

里如果既有”2″又有”6”就可以查出来

In:等值连接,用来查找多表相同字段的记录

Not In:非等值连接,用来查找不存在的记录

Inner join:内连接,主要用来查找都符合条件的记录

Left join:左连接,主要用来查找左边有,右边没有的用空值表达

Right join:右连接,主要用来查找右边有,左边没有的用空值表达

Order By:升序 Asc 降序 Desc

Group By:分组排序 按字段分组(如按班级分),使用的都要有集合函数存在

Having :对分组条件进行判断,使用都要确保每个字段都要用集合函数

COMPUTE BY:子句使您得以用同一 SELECT 语句既查看明细行,又查看汇总行。可以计算子组的汇总值,也可以计算整个结果集的汇总值。

行聚合函数名称;例如,SUM、AVG、MIN、MAX 或 COUNT

insert into:主要把查询的语句插入到新表。

in的用法是where xx in (‘aa’,’bb’,’cc’)

相当于 where xx=’aa’ or xx=’bb’ or xx=’cc’