У меня есть две таблицы:Объединение двух таблиц в выбранном
TABLE 1
ID VALUE
1 ABC
2 DEF
3 GHI
4 JKL
5 XYZ
TABLE 2
ID T1_ID VALUE
1 1 A
2 1 B
3 2 A
4 3 A
5 3 B
6 4 B
Я хочу, чтобы выбрать все строки из таблицы 1, которые имеют ряд Таблица 2 для значений А и В. Это было бы строки 1 и 3 (не 2, потому что он имеет только A, а не 4, потому что он имеет только B). Могу ли я сделать это без подзапроса?
(Примечание: Я также должен запросить от значений в таблице 1, так что я не могу просто запросить таблицу 2.)
Почему вы должны сделать это без подзапроса? – GolezTrol
Производительность подзапроса может быть плохим, потому что таблица 2 огромна. –
Без подзапроса вам понадобится соединение, что может быть так же плохо. Лучшая идея - попробовать различные решения и проверить производительность. Также зависит от базы данных. MySQL очень хорош с левыми соединениями и плохо с подзапросами и фильтрами IN, а в Oracle - наоборот. Какую БД вы используете? – GolezTrol