1. 首页
  2. 数据库运维
  3. PostgreSQL

postgreSQL中not exists语句错误的问题

来自搜搜问问中的一个提问:

问题标题:为什么这个SQL语句在postgresql没有效果

问题内容:

SELECT name FROM table1
WHERE NOT EXISTS
(SELECT name FROM table2)

我就是想比对一下两个表中的数据 实现查询出在一个表中存在但是在另外一个表中不存在的数据 我用的上面那个语句查询应该是没有问题的呀 在SQL2000中都能正常使用 为什么 在postgresql中就查询不出结果了呢 那请问在postgresql中那么怎么查询呢?

问题回答:

语法错误:

SELECT name FROM table1
WHERE NOT EXISTS (SELECT name FROM table2 where 这里写table1和table2的约束关键才行)

如果不写约束 NOT EXISTS (..)每次都不成立 因为table2中有数据

继续追问:where 后面的约束怎么写 本来table2中就有数据嘛 不然怎么做比对呢?

补充回答: SELECT name FROM table1 WHERE NOT EXISTS (SELECT * FROM table2 where name=table1.name)
问题总结:在使用postgresql的时候我们总是会碰到一些语法错误,还需要多学习sql标准。

联系我们

0574-55011290

QQ:248687950

邮件:admin@nbhao.org

工作时间:周一至周五,9:00-18:00,节假日休息

QR code