0
A
回答
1
CREATE TABLE `example` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`)
) ENGINE=InnoDB;
INSERT INTO example VALUES (1),(2),(3),(5),(6),(7);
SELECT t2.id FROM example AS t1
RIGHT JOIN (
SELECT 1 AS id UNION
SELECT 2 AS id UNION
SELECT 3 AS id UNION
SELECT 4 AS id
) AS t2
ON t1.id = t2.id
WHERE t1.id IS NULL;
+----+
| id |
+----+
| 4 |
+----+
或者使用临时表:
CREATE TEMPORARY TABLE `tmp` (
`id` int(11) DEFAULT NULL
) ENGINE=InnoDB;
INSERT INTO tmp VALUES (4);
SELECT t2.id FROM example AS t1
RIGHT JOIN tmp AS t2
ON t1.id = t2.id
WHERE t1.id IS NULL;
要看到发生了什么,转了一下周围的东西:
SELECT t1.id, t2.id FROM example AS t1
RIGHT JOIN (
SELECT 1 AS id UNION
SELECT 2 AS id UNION
SELECT 3 AS id UNION
SELECT 4 AS id
) AS t2
ON t1.id = t2.id;
+------+----+
| id | id |
+------+----+
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
| NULL | 4 |
+------+----+
1
SELECT id FROM
(SELECT 1 AS id UNION
SELECT 2 UNION
SELECT 3 UNION
SELECT 4
) AS TBL1
WHERE id NOT IN (SELECT id FROM thetable)
+0
@ypercube谢谢... – tamilnad
相关问题
- 1. MySQL中的MySQL查询不返回值?
- 2. PHP MySQL的PDO查询返回的列名,而不是价值
- 3. MySQL多查询返回空值查询
- 4. MySQL查询到的值返回“男”不存在
- 5. 查询Mysql - 为两个表中不存在的值返回0
- 6. PDO MySQL如查询不返回值
- 7. MySQL查询虽然PHP不返回值
- 8. mysql查询不返回预期值
- 9. SQL查询返回基于价值层
- 10. 回声计数返回值(*)mysql查询
- 11. 当空值存在时,Mysql不返回任何值在子查询
- 12. 子查询返回在MySQL
- 13. SQL查询不返回值
- 14. MySQL查询获得价值
- 15. MySQL查询返回不在一组行
- 16. MySQL查询没有返回值,但数据库中已存在
- 17. MYSQL:查询更新增量值并存储返回值
- 18. 回声价值观查询
- 19. MySQL查询执行返回值?
- 20. MySQL查询返回未知值
- 21. MySQL查询返回json名称值
- 22. Mysql SELECT查询返回双精度值
- 23. MySQL查询计数返回错误值
- 24. MYSQL查询返回更多的值
- 25. MySQL查询返回错误值
- 26. MySQL查询总是返回空值
- 27. MySQL查询返回不在数据库中的值
- 28. 为什么mysql查询在返回null时不返回0
- 29. 子查询在不存在值的情况下返回行
- 30. 子查询返回多个值。存储
呃,'选择4 FROM [TableName]'?! – Widor
这可能是你需要的:http://stackoverflow.com/questions/2886797/select-back-things-that-dont-exist – Mike
谢谢你Mike。 – Wara