详细解释sql中exists和in的语法和区别
  • 作者:admin
  • 发表时间:2021-03-03 07:52
  • 来源:未知

本文主要介绍了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以前的文章或继续浏览下面的相关文章。希望大家以后多多支持脚本屋!