Вопрос по SQL на собеседование на java developer.

max аватар
Спрашивает   max

Год назад мне на собеседовании задали следующий тип вопроса:

Как в SQL выбрать из таблицы все повторяющиеся данные? (Нужно двумя способами).

Один я нашел. Второго так и не придумал.

Есть идеи?

? Laughing

max аватар

Ну это стандартный ответ. Его погуглить несложно. Еще варианты?

Может что-то с самообъединением? Типа такого:

SELECT DISTINCT column FROM table AS t1 JOIN table AS t2 WHERE t1.column = t2.column AND t1.id > t2.id;

Уточню немного

SELECT

    *

FROM

    table AS t1

    JOIN table AS t2 ON t1.column = t2.column AND t1.id <> t2.id;

2й вариант

... not in ( select distinct ... )

Ну тут все просто, таблица это множество соответственно замыкание таблицы само на себя а потом операция пересичения все.

такой вариант select field1 ( select field1, count(field1) count_field1 from t1 ) where count_field1>1