使用not exists时报错ORA-00920:无效的关系运算符

select s_no,s_name,s_sex,s_age,s_dept from student
where s_name not in(select s_name from student group by s_name having count(s_name)>1 )
上面这条语句可以正确的查出结果,但是我把in关键字换乘exists后,就报"ORA-00920:无效的关系运算符"的错求解...

select s_no,s_name,s_sex,s_age,s_dept from student 
where  not exists (select 1 from (select s_name from student group by s_name having count(s_name)>1) a
where a.s_name=student.s_name)

语法有误,这样试试

追问

你好,上面写得语句可以. 那是不是in和exists 有语法上的区别呢?

追答

肯定是有区别的,这个地方
where s_name not in
where not exists

exists时不用加字段名字的

还有exists是一个需要关联才能判断的,其实exists的返回值是真或者假,是真的就输出,而不是in的那种模式

追问

哦! 所以exists里面的语句只能返回null或者一条结果吧?

追答

主要是靠
(select 1 from (select s_name from student group by s_name having count(s_name)>1) a
where a.s_name=student.s_name)
这个来判断,true或者false,true的显示结果,false的屏蔽掉

温馨提示:内容为网友见解,仅供参考
无其他回答

使用not exists时报错ORA-00920:无效的关系运算符
select s_no,s_name,s_sex,s_age,s_dept from student where not exists (select 1 from (select s_name from student group by s_name having count(s_name)>1) awhere a.s_name=student.s_name)语法有误,这样试试

oracle错误: ORA-00920:无效的关系运算符,怎么回事?
oracle错误:ORA-00920: 无效的关系运算符是运算符使用错误造成的,解决方法为:1、双击plsql developer软件,进行连接数据库。2、在命令窗口中先进行简单查询,并不进行限定查询,如下图。3、限定查询其实就是where子句,逻辑运算符就是and or not,在查询的时候对输出结果进行定制查询,因为当表的数据量...

oracle错误:ORA-00920:无效的关系运算符,请问应该怎么解决?
当在Oracle数据库中遇到ORA-00920:无效的关系运算符的错误时,可能是因为运算符使用不当。以下是针对这个问题的解决步骤:首先,打开PL\/SQLDeveloper软件,连接到你的数据库(双击plsqldeveloper软件,进行连接数据库。)。在命令行中,尝试进行一个简单的查询,不使用任何限定条件,以确保基础连接和环境没有...

oracle错误:ORA-00920: 无效的关系运算符,请问应该怎么解决?
应该是 WHERE 列名 = 数据的吧。例如:SQL> select from test_main where id;select from test_main where id ERROR 位于第 1 行:ORA-00920:无效的关系运算符 SQL> select from test_main where id = 1;未选定行

求助一条SQL,报ORA-00920错误 无效的关系运算符
一般是sql语句不完整造成的。

ORA-00920:invalid relational operator的翻译是:什么意思
ORA-00920:invalid relational operator的翻译是:ORA-00920:无效的关系运算符

ORA-00920:无效的关系运算符是怎么回事?
oracle错误:ORA-00920: 无效的关系运算符是运算符使用错误造成的,解决方法为:1、双击plsql developer软件,进行连接数据库。2、在命令窗口中先进行简单查询,并不进行限定查询,如下图。3、限定查询其实就是where子句,逻辑运算符就是and or not,在查询的时候对输出结果进行定制查询,因为当表的数据量...

oracle错误: ORA-00920:无效的关系运算符
oracle错误:ORA-00920: 无效的关系运算符是运算符使用错误造成的,解决方法为:1、双击plsql developer软件,进行连接数据库。2、在命令窗口中先进行简单查询,并不进行限定查询,如下图。3、限定查询其实就是where子句,逻辑运算符就是and or not,在查询的时候对输出结果进行定制查询,因为当表的数据量...

ORACLE错误: ORA-00920:无效的关系运算符。
oracle错误:ORA-00920: 无效的关系运算符是运算符使用错误造成的,解决方法为:1、双击plsql developer软件,进行连接数据库。2、在命令窗口中先进行简单查询,并不进行限定查询,如下图。3、限定查询其实就是where子句,逻辑运算符就是and or not,在查询的时候对输出结果进行定制查询,因为当表的数据量...

ORA-00920:无效的关系运算符如何解决?
oracle错误:ORA-00920: 无效的关系运算符是运算符使用错误造成的,解决方法为:1、双击plsql developer软件,进行连接数据库。2、在命令窗口中先进行简单查询,并不进行限定查询,如下图。3、限定查询其实就是where子句,逻辑运算符就是and or not,在查询的时候对输出结果进行定制查询,因为当表的数据量...

相似回答