SQL连接输出空字段

时间:2018-08-11 05:25:59

标签: mysql sql ms-access join select

我需要生成一个查询,该查询从两个表中提取列并输出每个工作的ID,每个工作的人花费了很多小时。 t1.c1 =员工姓名,t2.c1 = JobId,t2.c2 =工作小时数。

SELECT t2.c1, t1.c1, t2.c2
FROM t1
RIGHT JOIN t2 ON t1.c1 = t2.c1;

这将正确输出t2.c1和t2.c2,但将t1.c1留空

3 个答案:

答案 0 :(得分:0)

如果需要t1.c1不为空值,则应使用左连接

SELECT t2.c1, t1.c1, t2.c2
FROM t1
LEFT JOIN t2 ON t1.c1 = t2.c1;

或者,如果您仅查找完全匹配,则应使用内部联接

SELECT t2.c1, t1.c1, t2.c2
FROM t1
INNER JOIN t2 ON t1.c1 = t2.c1;

答案 1 :(得分:0)

您也可以在不使用任何联接的情况下执行此操作

select T2.JobId,T1.Employeename,T2.HoursWorked from T1,T2;

答案 2 :(得分:0)

您的问题不是很清楚,但我想您需要在下面做一些事情(如您所说的“这将正确输出t2.c1和t2.c2,但将t1.c1留空”)

SELECT t2.c1, t1.c1, t2.c2
FROM t1
RIGHT JOIN t2 ON t1.c1 = t2.c1
union
SELECT t2.c1, t1.c1, t2.c2
FROM t1
left JOIN t2 ON t1.c1 = t2.c1