【notexists】EXISTSNOTEXISTS问题?请给个简单EXISTS和NOTEXISTS讲..._数学_骑の
编辑: admin 2017-15-06
-
4
以select * from A where exists(select * from B where A.a=B.a)为例,
exists表示,对于A中的每一个记录,如果,在表B中有记录,其属性a的值与表A这个记录的属性a的值相同,则表A的这个记录是符合条件的记录,
如果是NOT exists,则表示如果表B中没有记录能与表A这个记录连接,则表A的这个记录是符合条件的记录
互助这道作业题的同学还参与了下面的作业题
题1: 数据库中双重否定notexists怎么运行的
如果是指not exists用法,看下面例子:
insert into Dept select 50,'Produce','hrb',null from dual
where not exists (select * from dept where deptno=50);
题2: notexists应该怎么用?select*fromproductwhereproductCodenotin(selectproductCodefromsomainwherestatus='已了结')这样可以查出来,但是换成notexists就查不出来了,但是据说notin查的比较慢啊
select * from product where not exists (select productCode from somain where status != '已了结')
not exists :当 (select productCode from somain where status != '已了结') 查询不出任何结果的时候前面的select 语句才能继续执行查询
not in :查询出不存在在 (select productCode from somain where status != '已了结') 的资料
题3: 【notexists的问题SELECTSnameFROMStudentWHERENOTEXISTS(SELECT*FROMCourseWHERENOTEXISTS(SELECT*FROMSCWHERESC.Sno=Student.SnoANDSC.Cno=Course.Cno))】
这个语句使用的是嵌套查询
SELECT Sname 从表Student 查询Sname 字段的内容
FROM Student
WHERE NOT EXISTS 条件为不存在下列子查询1中的内容
(SELECT * 子查询1 :查询表Course 中不存在于子查询2的内容
FROM Course
WHERE NOT EXISTS
(SELECT * 子查询2:查询表SC中Sno与表Student的Sno相同,Cno与表
FROM SC Course相同的内容
WHERE SC.Sno= Student.Sno
AND SC.Cno= Course.Cno))
题4: NOTEXISTS的用法数据库里的NOTEXISTS的具体用法是什么,如何理解[英语科目]
就是不存在的条件,譬如
SELECT * FROM TABLE where not exists (select 1 from table a)
括号里面的肯定存在,那么这条语句select的结果就没有任何数据