【问题标题】:Creating a mySQL sub query to list distinct rows from two queries创建一个 mySQL 子查询以列出来自两个查询的不同行
【发布时间】:2015-11-04 14:53:07
【问题描述】:

我有两个疑问:

'SELECT * FROM `table `WHERE weight = 0 OR weight IS NULL'

'SELECT * FROM `table `

第一个查询返回大约 4000 个值,第二个查询返回大约 4100 个。

我正在尝试创建一个查询,该查询将返回两个值之间不同的行,我正在尝试使用嵌套查询或子查询,但我在这里遇到语法问题。之前只处理过非常简单的查询。谁能建议我如何做到这一点。

【问题讨论】:

  • WHERE weight <> 0 AND weight IS NOT NULL使用单个查询

标签: mysql sql


【解决方案1】:

我认为这是你想要的:

SELECT *
FROM `table`
WHERE NOT (weight = 0 OR weight IS NULL);

更简单的写成:

SELECT *
FROM `table`
WHERE weight <> 0;

【讨论】:

  • 太棒了,我尴尬地忽略了 NOT 运算符
【解决方案2】:

如下使用 MINUS 运算符

 SELECT * FROM `table`
 MINUS
 SELECT * FROM `table` WHERE weight = 0 OR weight IS NULL

【讨论】:

    【解决方案3】:
    SELECT * FROM table1 
    WHERE (table1.weight = 0 OR table1.weight IS NULL)
    AND table1.Column not in (SELECT table2.column
                              FROM table2)
    

    【讨论】:

      猜你喜欢
      • 2022-01-09
      • 2013-11-22
      • 2012-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-10
      • 2016-01-10
      • 1970-01-01
      相关资源
      最近更新 更多