如何在mysql中使用full join?

mqkwyuun  于 2021-06-17  发布在  Mysql
关注(0)|答案(2)|浏览(322)

我有两张table。

程序

id      | sellDate
1       | 2011-05-30
2       | 2011-09-15
3       | 2016-03-04
4       | 2017-05-06
5       | 2018-04-16

激活

id      | activation   | program_id
1       | 2011-05-30   | 1
2       | 2011-09-15   | 2
3       | 2016-03-04   | 3
4       | 2017-05-06   | 4

这个 programs 表包含当客户购买程序时 activation 包含客户激活它的时间。我想打印客户购买的程序id为5,但不激活它,因此程序id 5不在激活表中。我怎样才能解决这个问题?

yxyvkwin

yxyvkwin1#

SELECT id FROM programs WHERE id NOT IN (SELECT program_id FROM activation);
66bbxpm5

66bbxpm52#

SELECT id FROM programs WHERE id NOT IN (SELECT program_id FROM activation);

如果使用的dbms具有更好的连接性能:

SELECT id FROM programs p LEFT OUTER JOIN activation a ON p.id=a.program_id WHERE a.program_id IS NULL;

相关问题