使用EXISTS语句注意点

Posted 美好的明天

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用EXISTS语句注意点相关的知识,希望对你有一定的参考价值。

1.使用EXISTS语句,其目标列一般用“*”,因为带EXISTS的子查询只返回真值或假值,给出列名无实际意义

2.使用EXISTS语句一定要注意上下两个表之间要建立联系。

例如,查询所有选修了1号课程的学生姓名。

错误做法是:

select Sname
From student
where Exists
        (
              select *
              from SC
              WHERE Cno=1;
        )        

因为二者之间没有建立联系。所有查询失败。

正确做法是

select Sname
From student
where Exists
        (
              select *
              from SC
              WHERE Sno=student.Sno  AND Cno=1;
        )        

2,使用NOT EXISTS 表示不存在。

例2:查询没有选修1号课程的学生名称。

select Sname
From student
where NOT Exists
        (
              select *
              from SC
              WHERE Sno=student.Sno  AND Cno=1;
        )    

 

以上是关于使用EXISTS语句注意点的主要内容,如果未能解决你的问题,请参考以下文章

sql语句原则

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

在sql语句多表连接中,in、exists、join哪个效率更高一点?

MySQL数据库代码中,两个exists语句同时出现同一查询语句中时,怎么理解,,越详细越好。,

SQL语句exists用法

在 SQL 语句中使用 'If Exists' 两次