SQL如何有效地使用wheresomething!=something?

标签 sql oracle select join where-clause

所以我有 3 张 table ,

Companies (company_id, company_name)
Stock_Exchanges(stock_exchange_id, stock_exchange_name, stock_exchange_manager)
Stock_Exchanges_Companies(stock_exchange_id, company_id)

我正在尝试选择不在特定 stock_exchange 上的所有公司。

到目前为止我有这个:

SELECT COMPANY_NAME
  FROM COMPANIES c
  LEFT OUTER JOIN STOCK_EXCHANGES_COMPANIES sec 
    ON c.COMPANY_ID = sec.COMPANY_ID
  LEFT OUTER JOIN STOCK_EXCHANGES se 
    ON sec.STOCK_EXCHANGE_ID = se.STOCK_EXCHANGE_ID
 WHERE sec.COMPANY_ID != se.COMPANY_ID;

当我使用 WHERE 子句时,它返回零行。任何帮助将不胜感激!

最佳答案

嘿伙计们,我成功解决了这个问题!

我添加了一个额外的 AND 子句:

SELECT COMPANY_NAME
FROM COMPANIES c
LEFT OUTER JOIN STOCK_EXCHANGES_COMPANIES sec ON c.COMPANY_ID = sec.COMPANY_ID
LEFT OUTER JOIN STOCK_EXCHANGES se ON sec.STOCK_EXCHANGE_ID = se.STOCK_EXCHANGE_ID
WHERE sec.COMPANY_ID != se.COMPANY_ID
    AND sec.stock_exchange_id != idhere;

关于SQL如何有效地使用wheresomething!=something?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18334081/

相关文章:

MySQL 查询帮助按 ID 查找排名

php - INSERT INTO 数据库表,从表单不起作用。数据库

mysql - WHERE 子句的第二个参数不起作用

sql - Oracle 数据库 View /系统表检查包的给定部分是过程还是函数

sql - 如果存在多个表的记录,如何返回 bool 值

MySQL - 左连接或嵌套选择用于过滤不存在​​的行?

java - 如何将java列表传递给coldfusion cfselect?

sql - 将所有表放入一个数据库 - 好还是坏

Mysql:每行中一个值出现多少次

mysql - 为什么加法需要检查null而sum不需要检查null?