sql join输出空字段

pu82cl6c  于 2021-06-23  发布在  Mysql
关注(0)|答案(3)|浏览(293)

我需要生成一个查询,从两个表中提取列,并输出每个作业的id、谁处理了它以及花费了多少小时。t1.c1=员工姓名,t2.c1=工作ID,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留空

5n0oy7gb

5n0oy7gb1#

您的问题不太清楚,但我想您需要以下内容(正如您所说的“这正确地输出了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
wmvff8tz

wmvff8tz2#

也可以不使用任何连接来执行此操作

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

zazmityj3#

如果需要t1.c1 not null值,应该使用left join

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;

相关问题