non-joins with data.tables

I have a question on the data.table idiom for “non-joins”, inspired from Iterator’s question. Here is an example:

library(data.table)

dt1 <- data.table(A1=letters[1:10], B1=sample(1:5,10, replace=...