本文主要介绍了sql中exists和in的语法与唐山网站制作公司的区别。本文非常详细,对大家的学习或工作都有一定的参考价值。需要的朋友可以参考一下
exists和in几乎没有区别,几乎是等价的,但是效率在sql优化中经常被强调。今天我们来说说存在和在的区别。
exists语法:
从存在的表中选择(子查询)
将主查询的结果放入子查询结果中进行验证。如果子查询中有数据,则验证成功。如果符合验证,保留数据。
创建表格教师
(
tid int(3),
tname varchar(20),
tcid int(3)
);
插入教师价值观(1,' tz ',1);
插入教师价值观(2,' tw ',2);
插入教师价值观(3,' tl ',3);
例如:
从教师中选择tname存在(从教师中选择*);
这个sql语句相当于从老师那里选择tname
(如果子查询中存在主查询数据,则查询成功(验证成功))
此sql返回null,因为子查询中不存在此类数据。
in语法:
从字段所在的表中选择(子查询)
选择.从tid在(1,3,5)的表中;
从A中选择*其中id在(从B中选择id);
区别:
如果主查询的数据集很大,请在中使用;
如果子查询的数据集很大,则使用存在;
例如:
从存在的教师中选择tname(从教师中选择*);
这里显而易见的是子查询全部,数据集大,存在使用效率高。
从教师中选择*其中tname为(从教师中选择tname,其中tid=3);
这里显而易见的是,主查询数据集很大,并且在使用中效率很高。
本文介绍了sql中exists和in的语法和区别。有关sql中exists和in之间语法差异的更多信息,请搜索Script House以前的文章或继续浏览下面的相关文章。希望大家以后多多支持脚本屋!