недавно я дал интервью, где вопрос был, предположим, есть две таблицы в базе данных.Таблица T1 имеет столбец с именем «name» и несколько других столбцов Таблица T2 также имеет имя столбца «name» и несколько других столбцов
предположим, что таблица T1 имеет значения в столбце name как [n1, n2, n3, n4, n5] и значения в столбце «имя» таблицы T2 равны [n2, n4], тогда выходные данные должны быть [n1, n3, n5], так как n2 и n4 являются общими в обеих таблицах
нам нужночтобы найти список имен, которые не являются общими в обеих таблицах.
Решение, которое я предоставил ему, заключалось в использовании соединения в приведенной ниже форме
select name from table1 where name not in (select t1.name from table1 t1 join table2 t2 on t1.name=t2.name)
UNION
select name from table2 where name not in (select t1.name from table1 t1 join table2 t2 on t1.name=t2.name)
Но он сказал, что еще естьлучшее решение.Я не смог придумать другого и более эффективного решения.Какой еще эффективный способ получить список имен, если таковые имеются?