Страница 1 из 1

IN

Добавлено: 2009-05-03 7:13:23
ProFTP
подскажите как тут надо с пересечением работать?

есть ли толковая статья (жел. на русском, а то и так все запутано) ?
и что такое внешний ключь?

Код: Выделить всё

SELECT Table1.Field1
FROM Table1
where Table1.Field1 not  in
(Select Table2.Field1 from Table2 where  Table2.Field1 is not null);

Код: Выделить всё

SELECT id_tab1 FROM tab2 WHERE id_t2 IN (...) INTERSECT
SELECT id_tab1 FROM tab2 WHERE id_t3 IN (...) INTERSECT
SELECT id_tab1 FROM tab2 WHERE id_t4 IN (...)

Код: Выделить всё

SELECT tab2.id_tab1
FROM tab2,tab3,tab4
WHERE id_t2 IN (...) and id_t3 IN (...) and id_t4 IN (...)
and tab2.id_tab1=tab3.id_tab1
and tab2.id_tab1=tab4.id_tab1
http://www.sql.ru/forum/actualthread.aspx?tid=534129

Re: IN

Добавлено: 2009-05-03 7:31:59
zg
ProFTP писал(а):есть ли толковая статья (жел. на русском, а то и так все запутано) ?
я скоро буду катать в рамках подлготовки к сертификации, но пока ещё нету. Статья будет не про IN, а про подзапросы.
ProFTP писал(а):и что такое внешний ключь?
ссылка на записи в другой таблице
ProFTP писал(а):подскажите как тут надо с пересечением работать?
смотря, что требуется

Re: IN

Добавлено: 2009-05-03 7:33:10
ProFTP
внешний ключи только на INNODB? елси да, то вопрос отпадает, извините, я с ней не работаю, и не работал...

а что такое IN, это равно '='?

в гугле нету
http://www.google.com.ua/search?hl=uk&q ... 0%BA&meta=

Re: IN

Добавлено: 2009-05-03 7:38:13
zg
ProFTP писал(а):а что такое IN, это равно '='?

Код: Выделить всё

SELECT * FROM t WHERE id = 1 OR id = 2
тоже самое

Код: Выделить всё

SELECT * FROM t WHERE id IN (1, 2)