SQL语句中 IN 的用法

来源:互联网 发布:淘宝热搜关键词 编辑:程序博客网 时间:2024/04/26 05:45

具体的逻辑是:

文件分不同的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'

原创粉丝点击