sql语句中嵌套时候用in 和=有什么区别

sql语句中嵌套时候用in 和=有什么区别;
还有in 和exists区别,感觉不要这个exists也能查询出来;
我是菜鸟,请高手指教,谢谢!!!

如果子查询只有1条记录,in和=是没有区别,如果子查询有多条记录,用=会出错的,所以in是无论只查询有多少条记录都可以使用,而=只有当子查询只有1条记录的时候才能使用
in和exists理解上其实是差不多,但对数据库而言,in的执行顺序是先执行只查询条件,然后把记录和外查询核对,找符合条件的,
而exists是先执行外查询,再执行子查询,找到外查询记录后和只查询对比符合条件的,
如果外查询和子查询的条目数差异很大,那么效率相差很明显的
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-06-24
比如说,

条件 where A in 结果 (B, A 注:这里的A,B是 SQL 结果); 也就是 A = B
or A = A;

条件 where exist 结果 (B, A 注:这里的A,B是 SQL 结果);
exist 一般都需要和子表进行关联,而且关联时,需要用索引,这样就可以加快速度。

条件 A = 结果 A;

sql语句中嵌套时候用in 和=有什么区别
如果子查询只有1条记录,in和=是没有区别,如果子查询有多条记录,用=会出错的,所以in是无论只查询有多少条记录都可以使用,而=只有当子查询只有1条记录的时候才能使用 in和exists理解上其实是差不多,但对数据库而言,in的执行顺序是先执行只查询条件,然后把记录和外查询核对,找符合条件的,而exists是先...

sql 语句中 = 和 in 的区别
SQL 中,等于就是唯一条件,例如id = 1,那么就查出id 是 1的数据行。而in 或者 not in 就是在某个范围内或者不在某个范围内。当一个查询是另一个查询的条件时,称之为子查询。其实这也就是嵌套查询。例如 selete top 10 from student where age > 10 查找年龄大于10岁的孩子的前十个。whe...

sql中“in” 和“=”问题
在SQL 嵌套查询中 IN是取数据集需要通过查询得到的,而当数据集中数据唯一时可以将 IN 换成‘=’。例中第一个必须为IN 第二个可以是IN也可以是= 。例;SELECT 学号,姓名 FROM 学生 WHERE 学号 IN( SELECT 学号 FROM 选课 WHERE 课程号 =(SELECT课程号 FROM课程 WHERE 课程名=‘高等数学’...

嵌套的格式是怎么样的??
顾名思义,多层的SQL查询的便在于:“在一个SQL语句中可以包含另一个SQL查询语句,形成内部嵌套的查询类型。”comparison[ANY|ALL|SOME](sqlstatement)expression[NOT]IN (sqlstatement)[NOT]EXISTS(sqlstatement)comparison 将表达式与内层查询的结果比较的操作。expression 对内层查询的结果作搜索的表达式。...

sql server 嵌套查询语句中什么时候用in,什么时候又用exists!
sqlserver嵌套查询语句中使用in或者exists的场景和原则如下:如果查询的两个表大小相当,那么用in和exists差别不大。两者都可以使用。in 是把外表和内表作hash 连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询。所以当有多重循环,使用in更合适,效率越高。如果两个表中一个较小,一个...

SQL语言中 执行语句 DESC与DESCRIBE有什么区别?
,是用于查询出结果时候对结果进行排序,是降序排序 SQL语言中“=”和“in"的区别:SQL 中,等于就是唯一条件,例如id = 1,那么就查出id 是 1的数据行。而in 或者 not in 就是在某个范围内或者不在某个范围内。当一个查询是另一个查询的条件时,称之为子查询。其实这也就是嵌套查询。

sql2005语句中in、like、=、exist四个的节省资源方面比较
在这个查询中可能速度差别不大,但是实际中如果数据量大的话,能用EXISTS那就尽量用EXISTS,因为嵌套在IN内的的SQL语句返回的是具体结果,而EXISTS只返回[是]还是[否],一般速度比IN快很多 另外,like就不要和它们做比较了,根本就不是一件事情,功能不同的。IN的本质是N个等于,中间用OR连起来,效率...

sql里的in是什么意思
IN语句常用于子查询中。子查询是一个查询语句嵌套在其他查询语句中的查询语句,IN语句可以从子查询中获取返回值列表,并将其与主查询中的列值进行比较。因为子查询返回的值列表通常比较短,所以IN语句可以帮助优化查询性能。此外,在使用IN语句时,我们应该注意避免列表项过多,因为太多的列表项会影响SQL...

select-sql语句in的用法,在mybatis中sql中in是怎么用的
in是一个双目运算符,其右侧一定是一个集合(或空集)。in一般用于Select嵌套。

SQL里面的嵌套查询语句怎么写?
2,in嵌套查询;select name from person where countryid in (select countryid from country where countryname = '魏国')3,some嵌套查询 select name from person where countryid = some --用等号和以下查询到的值比较,如果与其中一个相等,就返回 (select countryid from country where country...

相似回答