giả sử các thẻ của bạn ('c', 'cg', 'rx') nằm trong một bảng được gọi là tags_match với cấu trúc tương tự như trên
thì bạn có thể làm điều này:
select tr.name
from tags as tl
right join tags_match as tr
on tl.name = tr.name
where tl.name is null
Điều này sẽ tìm thấy tất cả các mục trong tags_match không có trong thẻ, vì vậy điều này sẽ cung cấp cho bạn kết quả mong muốn, nhưng tiếc là các thẻ của bạn ('c', 'cg', 'rx') không có trong bảng :(
Không có vấn đề gì, chúng tôi có thể sử dụng một truy vấn con để 'giả mạo' bảng
select tr.name
from tags as tl
right join (select 'cg' as name
union select 'c' as name
union select 'rx' as name) as tr
on tl.name = tr.name
where tl.name is null
Mặc dù nó có một chút xấu xí, nhưng điều này sẽ hiệu quả. Nếu bạn có nhiều mục muốn kiểm tra, bạn có thể cân nhắc việc tạo một bảng tạm thời thực sự.