在表连接Mysql上查找非配对值

时间:2014-03-29 19:47:33

标签: mysql

我在emp加入了两个表格。但是我也试图找到连接配对什么时候没有发生。

table: emp
+--------------------+
| emp                |
+--------------------+
| 121211             |
| 121212             |
| 121213             |
| 121214             |
+--------------------+

table: empskills
+--------------------+------------------+
| emp            | skill            |
+--------------------+------------------+
| 121211             | 15               |
| 121212             | 15               |
+--------------------+------------------+

SELECT e.emp, es.skill FROM emp e
    JOIN empskills es
    ON es.emp = e.emp;

所以我试图找到桌面上的员工,他们拥有自己掌握的技能以及表中没有的技能。那些不在表格中的人只会得到一个" null"值es.skill列。

1 个答案:

答案 0 :(得分:2)

使用LEFT JOIN

SELECT e.emp, es.skill 
FROM emp e
LEFT JOIN empskills es ON es.emp = e.emp
WHERE es.skills > 0 
   OR es.skills IS NULL

请参阅this great explanation of joins

相关问题