Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
01.02.2019, 12:41
|
|||
|---|---|---|---|
|
|||
условия сравнения при JOIN |
|||
|
#18+
Товарищи! ПРиветствую! Объясните пожалуйста логику результирующего множества при джойне 2х таблиц в условии джойна которых использую операторы сравнения > или <. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. С запросами в которых условие ON j1.otdel = j2.otdel все понятно... Однако в запросе плана Код: sql 1. 2. 3. 4. 5. где сравниваю отделы.. Результирующее множество вводит меня в ступор... Прошу вас объяснитью Само множество otdel otdel 20 10 30 10 30 10 30 20 30 20 Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.02.2019, 12:48
|
|||
|---|---|---|---|
|
|||
условия сравнения при JOIN |
|||
|
#18+
dermama, а что не так? условие сравнения выполнено. Для каждой строки из таблицы слева выбрать строки из таблицы справа, для которых значение справа будет меньше, чем слева. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.02.2019, 12:54
|
|||
|---|---|---|---|
|
|||
условия сравнения при JOIN |
|||
|
#18+
Владислав Колосовdermama, а что не так? условие сравнения выполнено. Для каждой строки из таблицы слева выбрать строки из таблицы справа, для которых значение справа будет меньше, чем слева. Спасибо, я разобрался) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.02.2019, 12:59
|
|||
|---|---|---|---|
|
|||
условия сравнения при JOIN |
|||
|
#18+
dermama, У меня еще один вопрос Почему при условии SELECT j1.otdel, j2.otdel FROM joins j1 INNER JOIN joins2 j2 ON j1.otdel < j2.otdel результирующее множество otdel otdel 10 20 10 20 10 30 10 30 20 30 10 40 10 40 20 40 30 40 30 40 10 50 10 50 20 50 30 50 30 50 как при правом соединении? ведь по идее, при внутреннем соединении должны использвоать лишь данные которые есть в обеих таблицах, а тут уже используются отделы 40 и 50 в сравнении.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.02.2019, 13:48
|
|||
|---|---|---|---|
|
|||
условия сравнения при JOIN |
|||
|
#18+
dermama, тебе же написали уже. Или читать уже не модно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.02.2019, 14:00
|
|||
|---|---|---|---|
|
|||
условия сравнения при JOIN |
|||
|
#18+
waszkiewiczdermama, тебе же написали уже. Или читать уже не модно? как при правом соединении? ведь по идее, при внутреннем соединении должны использвоать лишь данные которые есть в обеих таблицах, а тут уже используются отделы 40 и 50 в сравнении.. а ты читать умеешь? я разобрался с прницпом. - у меня вопрос совсем в другом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.02.2019, 14:16
|
|||
|---|---|---|---|
|
|||
условия сравнения при JOIN |
|||
|
#18+
dermama, условие в on истинно? Что ж ты еще хочешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.02.2019, 14:20
|
|||
|---|---|---|---|
|
|||
условия сравнения при JOIN |
|||
|
#18+
waszkiewiczdermama, условие в on истинно? Что ж ты еще хочешь? теперь понятно, спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.02.2019, 14:40
|
|||
|---|---|---|---|
условия сравнения при JOIN |
|||
|
#18+
dermamaя разобрался с прницпомЛогически выполнение запроса выглядит так: для каждой строки j1 перебираем все строки в j2, и выводим те сочетания строк из j1 и 2, для которых выполнено условие после "on". Это как бы два воображаемых "вложенных цикла". То же самое будет, когда в запросе участвуют больше таблиц, только тогда этих воображаемых "вложенных циклов" будет не 2, а больше, по количеству таблиц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.02.2019, 14:45
|
|||
|---|---|---|---|
условия сравнения при JOIN |
|||
|
#18+
alexeyvgdermamaя разобрался с прницпомЛогически выполнение запроса выглядит так: для каждой строки j1 перебираем все строки в j2, и выводим те сочетания строк из j1 и 2, для которых выполнено условие после "on". Это как бы два воображаемых "вложенных цикла". То же самое будет, когда в запросе участвуют больше таблиц, только тогда этих воображаемых "вложенных циклов" будет не 2, а больше, по количеству таблиц.А условие после "on" может быть абсолютно любым. Например: Код: sql 1. 2. 3. 4. Этот запрос до Нового Года выведет 0 строк, а после Нового Года выведет все комбинации строк из joins и joins2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.02.2019, 15:27
|
|||
|---|---|---|---|
|
|||
условия сравнения при JOIN |
|||
|
#18+
alexeyvg, Спасибо за полезную информацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.02.2019, 23:24
|
|||
|---|---|---|---|
|
|||
условия сравнения при JOIN |
|||
|
#18+
alexeyvgdermamaя разобрался с прницпомЛогически выполнение запроса выглядит так: для каждой строки j1 перебираем все строки в j2, и выводим те сочетания строк из j1 и 2, для которых выполнено условие после "on". Это как бы два воображаемых "вложенных цикла". То же самое будет, когда в запросе участвуют больше таблиц, только тогда этих воображаемых "вложенных циклов" будет не 2, а больше, по количеству таблиц. не совсем так репроцессор ервака может ко кешу опередлить наименьшуюю по мощьности(колко строк) и к ней применить условие а к ней уже применить нестет лупс(вложенные циклы)... но а) надо смотреть объем таблиц б) лучшеб он применил мердж смотрите план запроса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.02.2019, 23:28
|
|||
|---|---|---|---|
|
|||
условия сравнения при JOIN |
|||
|
#18+
и да вложенных циклов может быт НАМНОГО больше чем колво таблиц. могу привести пример если интересно. сеек и скан индекса дает 2 ллуп.. при джойне 2х таблиц. и того 2 таблице а цикла 2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.02.2019, 23:43
|
|||
|---|---|---|---|
|
|||
условия сравнения при JOIN |
|||
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. вот так 1 луп. если в 1 таблице колор является кластерныем а в другой просто индексом то добавляется 2 луп. проблемс( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.02.2019, 08:05
|
|||
|---|---|---|---|
условия сравнения при JOIN |
|||
|
#18+
pahanittoalexeyvgЛогически выполнение запроса выглядит так: для каждой строки j1 перебираем все строки в j2, и выводим те сочетания строк из j1 и 2, для которых выполнено условие после "on". Это как бы два воображаемых "вложенных цикла". То же самое будет, когда в запросе участвуют больше таблиц, только тогда этих воображаемых "вложенных циклов" будет не 2, а больше, по количеству таблиц.не совсем так репроцессор ервака может ко кешу опередлить наименьшуюю по мощьности(колко строк) и к ней применить условие а к ней уже применить нестет лупс(вложенные циклы)... но а) надо смотреть объем таблиц б) лучшеб он применил мердж смотрите план запросаНе-не, я же говорю - "логически". Я описываю, не "как исполняется запрос", а "какой будет результат". Потому что большинство начинающих специалистов не понимает, что там накорябано в условиях, что это за "JOIN" такой, вы же видите, как автор недоумевает, что означает условие: "j1.otdel > j2.otdel". Они учат в ВУЗе реляционную алгебру, умные все, но не понимают. А на самом деле, логически это очень просто: "проверка условий для каждого сочетания строк". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.02.2019, 21:39
|
|||
|---|---|---|---|
|
|||
условия сравнения при JOIN |
|||
|
#18+
ну реляционная алгебра ето гут ..я например ее не знаю я двигателист( но вообще тчо тут не понятного? на пальцах можно пояснить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.02.2019, 21:41
|
|||
|---|---|---|---|
|
|||
условия сравнения при JOIN |
|||
|
#18+
пусть почитают умные книги от Ицке Бен Гана... полезно будет там все описано ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.02.2019, 09:29
|
|||
|---|---|---|---|
|
|||
условия сравнения при JOIN |
|||
|
#18+
pahanittoпусть почитают умные книги от Ицке Бен Гана... полезно будет там все описано а название книжки можно полностью? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.02.2019, 10:18
|
|||
|---|---|---|---|
условия сравнения при JOIN |
|||
|
#18+
dermamapahanittoпусть почитают умные книги от Ицке Бен Гана... полезно будет там все описано а название книжки можно полностью? "Microsoft SQL Server 2012. Основы T-SQL" Есть ещё 2: https://www.labirint.ru/authors/127540/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=46&tablet=1&tid=1688352]: |
0ms |
get settings: |
7ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
131ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 242ms |
| total: | 434ms |

| 0 / 0 |
