Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Пересечение, вычитание и объединение множеств 
V
    Опции темы
TNT86
Дата 8.3.2007, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 178
Регистрация: 14.8.2006
Где: Одесса

Репутация: нет
Всего: нет



Имеется две таблицы с одним полем number (bigint 20), как получить наиболее быстро 

1) number's входящие в одну и другую таблицу
2) number's входящие в одну таблицу, но не входящие в другую
3) number's входящие в обе таблицы, но в результате они не должны дублироваться
--------------------
виртуальныe MYSQL и  PHP эксперты
PM MAIL WWW   Вверх
Glip
Дата 8.3.2007, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 473
Регистрация: 30.12.2006

Репутация: 1
Всего: 18



наверное как-то так

1) 
Код
select table1.number from table1 join table2 on (table1.number=table2.number)

2) 
Код
select table1.number from table1 left join table2 on (table1.number=table2.number) where table2.number is null

3) 
Код
select distincr number from table1 union table2




--------------------
user posted image
PM MAIL   Вверх
TNT86
Дата 9.3.2007, 02:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 178
Регистрация: 14.8.2006
Где: Одесса

Репутация: нет
Всего: нет



to Glip : number должно быть по умолчанию NULL?
--------------------
виртуальныe MYSQL и  PHP эксперты
PM MAIL WWW   Вверх
Glip
Дата 9.3.2007, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 473
Регистрация: 30.12.2006

Репутация: 1
Всего: 18



по моему не обязательно


--------------------
user posted image
PM MAIL   Вверх
TNT86
Дата 10.3.2007, 01:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 178
Регистрация: 14.8.2006
Где: Одесса

Репутация: нет
Всего: нет



ок спасибо - все работает и действительно быстрее чем многими другими вариантами, которые я пробовал
--------------------
виртуальныe MYSQL и  PHP эксперты
PM MAIL WWW   Вверх
TNT86
Дата 10.3.2007, 01:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 178
Регистрация: 14.8.2006
Где: Одесса

Репутация: нет
Всего: нет



Вообще я тут еще попроверял - подзапросами получается быстрее, что вообще говоря странно
--------------------
виртуальныe MYSQL и  PHP эксперты
PM MAIL WWW   Вверх
Всемогущий
Дата 10.3.2007, 10:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 440
Регистрация: 25.6.2006
Где: Челябинск

Репутация: 2
Всего: 13



Цитата(TNT86 @  10.3.2007,  03:45 Найти цитируемый пост)
Вообще я тут еще попроверял - подзапросами получается быстрее, что вообще говоря странно

можно пример?



--------------------
Цитата(smartov @  16.1.2007,  13:26 Найти цитируемый пост)
Видел я PHP код, который пишут наСильники, никогда на php не писавшие  :D  То еще зрелище. Все пытаются сделать руками и через ж (как в С привыкли). Все пытаются память освобождать итд итп. 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0451 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.