除了不在mysql中工作?
Posted
技术标签:
【中文标题】除了不在mysql中工作?【英文标题】:Except not working in mysql? 【发布时间】:2015-03-23 12:08:09 【问题描述】:我正在尝试从特定表中获取 id,但从另一个表中的那些 id 除外,但它不起作用:
SELECT id FROM table1
EXCEPT
SELECT id FROM table2
【问题讨论】:
没错。 mysql 不支持except
。
功能请求除外:bugs.mysql.com/bug.php?id=1309
Error when using except in a query的可能重复
【参考方案1】:
你可以试试这个:
SELECT id FROM table1
where id not in (SELECT id FROM table2)
MYSQL 不支持EXCEPT
【讨论】:
【参考方案2】:我认为 mysql 不支持 EXCEPT。而是尝试这种方式:
SELECT t1.id
FROM table1 t1
WHERE NOT EXISTS
( SELECT 0
FROM table2 t2
WHERE t2.id = t1.id )
【讨论】:
【参考方案3】:使用Not IN
SELECT `id` FROM `table1`
WHERE `id` NOT IN (SELECT `id` FROM `table2`);
有关更多信息,您可以查看 MySQL NOT IN() function。
您也可以使用Left Join
。
【讨论】:
【参考方案4】:在mysql中没有关键字'except'。
见:Error when using except in a query
对于使用not in
和exists
的替代方式
【讨论】:
【参考方案5】:您可以使用Left Join
,如下:
SELECT t1.id
FROM table1 AS t1 LEFT JOIN table2 AS t2
ON t1.id = t2.id
WHERE t2.id IS NULL
更多信息,你可以去MySQL MINUS (or Except)
【讨论】:
以上是关于除了不在mysql中工作?的主要内容,如果未能解决你的问题,请参考以下文章
Flutter(Web)提供程序不在发布模式下工作,但在调试中工作
SSE 2005 存储过程在管理工作室中工作,但不在 C# DAL 中