Forum Webscript.Ru

Общие => Базы данных => Тема начата: Evgeny от 12 Ноября 2002, 16:58:15

Название: Знатокам SQL
Отправлено: Evgeny от 12 Ноября 2002, 16:58:15
Привет всем!
Простите за глупый вопрос.
Задачка вроде простая, но бьюсь уже долго, никак не пойму.
Есть две таблицы:

Table1:
Name1
Key1 (ключевое поле)

Table2:
Name2
Key2 (ключевое поле)

Логически связаны таблицы по полям Key1 - Key2.

Как построить запрос, выдающий все записи таблицы Table1, у которых значения поля Key1 не встречаются в поле Table2.Key2 ?
(т.е. если можно так выразиться разность Table1 - Table2).
Большое спасибо.
Название: Знатокам SQL
Отправлено: Evgeny от 12 Ноября 2002, 18:08:13
Сорри, сам уже нашёл:

SELECT *
FROM Tabelle1
where (Key1 not in (SELECT Key2
FROM Tabelle2))
;
Название: Знатокам SQL
Отправлено: Maniac от 12 Ноября 2002, 19:22:56
Кстати, MySQL вложенные запросы не поддерживает
Название: Знатокам SQL
Отправлено: AlieN от 12 Ноября 2002, 19:43:07
Вроде все просто:
select table1.*,table2.* from table1 left join table2 on table1.key=table2.key where table2.key is null