sql集合运算符使用方法
(1)IN运算符它可以用来匹配一个固定集合中的某一项。比如说一个集合里面的年份有(2001,2003,2005),那么就可以有
SELECT FROM T_Book
WHERE FYearPublished IN(2001,2003,2005)
IN运算符,除了支持从固定的集合里面去匹配,也支持动态的集合方式去匹配。比如如下方式
SELECT FROM T_Reader
WHERE FYearOfJoin IN
(
select FYearPublished FROM T_Book
)
(2)ANY和SOME集合运算符在SQL SERVER里面,ANY和SOME是同义词,二者的用法和功能一样(一样还搞两个,不知道是不是蛋疼)。相比于IN运算符,ANY和SOME需要与其它的比较符(大于(>)、等于(=)、小于(<)、大于等于(>=)、小于等)共同使用,而且比较符需要在它们的前面。
SELECT FROM T_Reader
WHERE FYearOfJoin =ANY
(
select FYearPublished FROM T_Book
)
注意和IN 运算符不同,ANY 和SOME运算符不能与固定的集合相匹配,比如狼蚁网站SEO优化的SQL 语句是错误的
SELECT FROM T_Book
WHERE FYearPublished<ANY(2001,2003,2005)
(3)ALL集合运算符在SQL SERVER里面,ALL运算符也需要与其它的比较符(大于(>)、等于(=)、小于(<)、大于等于(>=)、小于等)共同使用,而且比较符需要在它们的前面。
SELECT FROM T_Book
WHERE FYearPublished<ALL
(
SELECT FYearOfJoin FROM T_Reader
)
注意
I、与ANY和SOME 运算符相同,ALL 运算符同样不能与固定的集合相匹配,比如狼蚁网站SEO优化的SQL 语句是错误的
SELECT FROM T_Book
WHERE FYearPublished<ALL(2001,2003,2005)
II、关于使用ALL运算符,还有一项需要注意,那就是这个ALL子查询结果为空时,匹配的结果并不是以空的方式来处理,而是相当于全部匹配成功。所以在使用ALL运算符的时候,这一个问题很容易在系统中造成BUG,使用时必须注意。比如
SELECT FROM T_Book
WHERE FYearPublished<ALL
(
SELECT FYearOfJoin FROM T_Reader
WHERE FProvince = 'JiangSu'
)
如果ALL子查询的结果为空时,则将会取SELECT FYearOfJoin FROM T_Reader的全部结果来作为成功匹配的结果。
(4)EXISTS集合运算符和IN、ANY、SOME、ALL等运算符不同,EXISTS运算符是单目运算符,它不与列匹配,它也不要求待匹配的集合是单列的。EXISTS运算符用来检查每一行是否匹配子查询,可以认为EXISTS就是用来测试子查询的结果是否为空,如果结果集为空则匹配结果为false,否则匹配结果为true。
SELECT FROM T_Category
WHERE EXISTS
(
SELECT FROM T_Book
WHERE T_Book. FCategoryId = T_Category.FId
AND T_Book. FYearPublished<1950
)
在EXISTS后的子查询中,SQL对T_Category表中的每一行数据到子查询中进行匹配,测试T_Book 表中是否存在FCategoryId 字段值等于当前类别主键值且出版年份在1950 年之前的书籍。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程