IN 运算符

在前面已经介绍了IN运算符的简单使用,使用IN运算符可以用来匹配一个固定集合中的某一项。比如下面的SQL语句检索在2001、2003和2005年出版的所有图书:


SELECT * FROM T_Book WHERE FYearPublished IN(2001,2003,2005) 

执行完毕我们就能在输出结果中看到下面的执行结果:


FId FName FYearPublished FCategoryId

1 About J2EE 2005 4

2 Learning Hibernate 2003 4

4 Jane Eyre 2001 1

15 DaoDeJing 2001 6

这里进行匹配的集合是已经确定的集合“2001,2003,2005”,如果要匹配的集合是动态的则无法用这种方式来进行匹配了。比如,需要检索所有图书出版年份内入会的读者信息,可以使用简单的SQL语句检索出所有的图书的出版年份:


select FYearPublished FROM T_Book

执行完毕我们就能在输出结果中看到下面的执行结果:


FYearPublished

2005

2003

1999

2001

2002

1982

1860

1700

2008

1930

1945

1970

1971

1771

2001

1995

这个查询结果是多行单列的,因此可以将其用来与IN 运算符进行匹配运算,SQL语句如下:


SELECT * FROM T_Reader WHERE FYearOfJoin IN(select FYearPublished FROM T_Book) 

执行完毕我们就能在输出结果中看到下面的执行结果:


FId FName FYearOfBirth FCity FProvince FYearOfJoin

1 Tom 1979 TangShan Hebei 2003

2 Sam 1981 LangFang Hebei 2001 3 Jerry 1966 DongGuan GuangDong 1995 4 Lily 1972 JiaXing ZheJiang 2005 5 Marry 1985 BeiJing BeiJing 1999 6 Kelly 1977 ZhuZhou HuNan 1995 7 Tim 1982 YongZhou HuNan 2001 9 John 1979 QingDao ShanDong 2003 11 July 1983 ZhuMaDian HeNan 1999 12 Fige 1981 JinCheng ShanXi 2003

转载于:https://www.cnblogs.com/yuyu666/p/9814101.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值