MySQL - IN 子查询无法与 INT 000 正常工作

标签 mysql subquery

我遇到以下 MySQL 请求问题:

    SELECT u.id 
    FROM users u
    WHERE users.job_id IN ( SELECT id FROM jobs )

我的两张 table 是这样的:

用户

id     | job_id
------ | ------
1      | 000350
2      | 000600
3      | 000000

职位

id       | job
-------  | ---------
000350   | engineer 
000600   | sales

我的请求结果是:

id  
----
1   
2    
3  

job_id 000000(它是一个有六个零的 INT)并未从我的结果中排除。但我不想要这一行 id = 3 和 job_id = 000000。

有什么想法吗?可能是mysql的设置?

感谢您的帮助

最佳答案

使用 JOIN 获取结果:

SELECT u.id 
    FROM users u
    JOIN jobs j
    ON u.job_id = j.id

关于MySQL - IN 子查询无法与 INT 000 正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43374088/

相关文章:

mysql - 如何将以下循环转换为 SQL 语句以在 MySQL 数据库上运行

MYSQL:LIKE(子查询)返回多行

php - MySQL/PHP : Using multiple sub-queries in a query selecing multiple results, 这是一个坏主意吗?

cfquery INSERT INTO 中的 cflooping 时出现 sql 语法错误

mysql - 我怎样才能使这个查询更快?我尝试过子选择和内部联接

arrays - postgresql:任何子查询返回数组

Hadoop - Hive 子查询 - Not In Clause

MySQL 错误 1093 - 无法在 FROM 子句中指定要更新的目标表

java - 在 Java 中检测 MySQL BLOB 的 mime 类型

php - mySQL 数据库 : Making simultaneous entries?