![]() |
|
Модераторы: Poseidon |
![]()
|
|
| devyshko |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 2.12.2007 Репутация: нет Всего: нет |
Оч прошу объяснить мне как работает left join
желательно на примере |
|||
|
||||
| Akina |
|
||||||||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 17 Всего: 454 |
Допустим, есть таблицы:
t1
t2
результат:
т.е. взята ВСЯ таблица, которая слева (t1), и к тем записям, для которых есть соответствие, добавлены соответствующие строки второй таблицы. Если надо наоборот - то следует либо поменять местами таблицы (t2 left join t1), либо оставить, но использовать right join. Если надо, чтобы были выбраны только пары, встречающиеся в обеих таблицах, используется inner join, а если нужны все записи из обеих таблиц, в т.ч. соотвестсвующие - вместе, то используется full join. Какой именно (inner или full) используется, если написано просто join, без указания модификатора - зависит от конкретного сервера БД, стандарта нет. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||||||
|
|||||||||
| devyshko |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 2.12.2007 Репутация: нет Всего: нет |
Akina, спасибо большое.
Скажите, а почему 'on' а не 'where'? |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 5 Всего: 260 |
devyshko, where - это список условия фильтрации конечного результата.
on - это условия связывания. т.е. если надо будет соединить между собой 3 таблицы по каким-то условиям, то каждое связывание(join) будет сопровождаться секцией on, где будет указано, как присоединить очередную таблицу. секция where же может быть только одна и фильтровать будет уже результат соединения таблиц. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 17 Всего: 454 |
дополнение - если есть join, то ОБЯЗАН быть on - причем ровно столько раз, сколько join. А where может быть только один либо ни одного.
При наличии подзапросов - один where на каждый подзапрос и один where - на основной запрос. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| devyshko |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 2.12.2007 Репутация: нет Всего: нет |
ясно! спасибо)
|
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |