DROP TABLE IF EXISTS "test"."course";
CREATE TABLE "test"."course" (
"cno" varchar(50) NOT NULL,
PRIMARY KEY ("cno")
) ENGINE=InnoDB DEFAULT CHARSET=latin1;//课程表
DROP TABLE IF EXISTS "test"."sc";
CREATE TABLE "test"."sc" (
"sno" varchar(50) NOT NULL,
"cno" varchar(45) NOT NULL,
PRIMARY KEY ("sno","cno")
) ENGINE=InnoDB DEFAULT CHARSET=latin1;//选课表
DROP TABLE IF EXISTS "test"."student";
CREATE TABLE "test"."student" (
"sno" varchar(50) NOT NULL,
PRIMARY KEY ("sno")
) ENGINE=InnoDB DEFAULT CHARSET=latin1;//学生表
//所有 没选择全部课程的学生
select * from student where exists(select * from course where not exists(
select * from sc where student.sno=sc.sno and course.cno=sc.cno
))
//所有 选择全部课程的学生
select * from student where not exists(select * from course where not exists(
select * from sc where student.sno=sc.sno and course.cno=sc.cno
))
//...
参考http://wenku.baidu.com/view/567b4a4333687e21af45a93c.html,但是里面的解释有误,故mark在此
但是文章中对于in和exists的适用范围的描述还是比较有说服力的
分享到:
相关推荐
关于Exists,not Exists.in ,not in效率的说明。关于Exists,not Exists.in ,not in效率的说明。关于Exists,not Exists.in ,not in效率的说明。关于Exists,not Exists.in ,not in效率的说明。关于Exists,not Exists.in...
not exists:与exists相反,括号内子查询sql语句返回结果为空(即:sql不返回的结果为真),子查询的结果为空则条件成立,执行主slq,否则不执行。 总结:exists 和not exists语句强调是否返回结果集,不要求知道返回...
SQL语句优化——in,not in,exists,not exists, left join...on博客所需SQL语句.txt欢迎下载!
里面自己根据网上的资源整理出来的一份sql中in,exists,not in,not exists的使用方法以及注意事项等,有助于初学的朋友们借鉴。
exists 和 not exists的详细解释
使用EXISTS(或NOT EXISTS)关键字引入一个子查询时,子查询实际上不产生任何数据;它只返回TRUE或FALS值。 指定一个子查询,检测行的存在。 如果子查询包含行,则返回 TRUE IN效率要差(返回子查询)
NULL 博文链接:https://576017120.iteye.com/blog/1624774
sql语句优化之用EXISTS替代IN、用NOT EXISTS替代NOT IN的语句
exists,not exists的使用方法示例,需要的朋友可以参考下。
not exists则相反 它所在的查询属于相关子查询,即子查询的查询条件依赖于外层父查询的某个属性值,处理过程一般为: 取外层查询的第一个元组,根据它与内层查询相关的属性值处理内层查询,若where子句返回true,则...
基本数据插入 except和intersect和exists和not exists和union和union all sql server
sql server中exists的用法简介
not exists的子查询,对于子查询不返回行和子查询返回行的查询结果是有区别的 这些细小的差别千万不要被我们所忽视,一旦项目庞大了,想跟踪到具体的错误所花费的时间也是可观的。尽量把这些不必要的错误扼杀在摇篮...
SQL语句优化——in,not in,exists,not exists, left join...on博客所需SQL语句2.txt,欢迎下载!
在SQL查询语句中,Exists语句的使用方式
系统要求进行SQL优化,对效率比较低的SQL进行优化,使其运行效率更高,其中要求对SQL中的部分in/not in修改为exists/not
浅析SQL中WHERE EXISTS子查询.pdf
一次SQL Tuning引出来的not in , not exists 语句的N种写法2