Я думаю, что это обычная проблема, ответила несколько раз, но я просто не знаю, как задать вопрос правильно = (
в MySQL:
У меня есть 2 таблицы с некоторыми строками внутри, теперь я хочу:
1. данные, которые встречаются в обеих таблицах
2. данные из a, которые не указаны в таблице b
то же самое в R:
У меня 2 R data.frame s, и я хочу:
1. данные, которые встречаются в и b
2. данные, которые происходят в a, но не в b
В R
:
a <- data.frame(V1=sample(letters[1:3],20,TRUE),V2=rnorm(20))
b <- data.frame(V1=sample(letters[2:4],20,TRUE),V2=rnorm(20))
# the data that occur in a and b
(ab <- merge(a,b,by="V1"))
# the data that occur in a but not in b
aNOTb <- merge(a,b,by="V1",all=TRUE)
(aNOTb <- aNOTb[is.na(aNOTb$V2.y),])
в mysql вы можете сделать это, чтобы получить данные в обеих таблицах
SELECT * FROM table1 t1 INNER JOIN table2 t2 ON t1.id = t2.id
и сделайте это, чтобы получить таду от той, которая не находится в таблице b
SELECT * FROM table1 t1 LEFT JOIN table2 t2 ON t1.id = t2.id
WHERE t2.id IS NULL