|
INNER JOIN
|
|||
---|---|---|---|
#18+
Подскажите, пожалуйста! Вот возник такой банальный вопрос в голове. Есть например одна таблица в которой один столбец, пять строк и в каждой строке цифра 5. И есть вторая точно такая же таблица. Какой результат получится если выполнить INNER JOIN ? Сколько строк получится в результате выполнения запроса? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2021, 17:25 |
|
INNER JOIN
|
|||
---|---|---|---|
#18+
Morskoi_kotik, Код: sql 1. 2. 3.
количество букв в вашем вопросе больше чем сам запрос.... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2021, 17:32 |
|
INNER JOIN
|
|||
---|---|---|---|
#18+
– Любопытно бы знать, – сказал философ, – если бы, примером, эту брику нагрузить каким-нибудь товаром – положим, солью или железными клинами: сколько потребовалось бы тогда коней? – Да, – сказал, помолчав, сидевший на облучке козак, – достаточное бы число потребовалось коней. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2021, 18:32 |
|
INNER JOIN
|
|||
---|---|---|---|
#18+
Oleg_SQL Morskoi_kotik, Код: sql 1. 2. 3.
количество букв в вашем вопросе больше чем сам запрос.... Прикольно) я и не знал, что в переменную можно вложить таблицу) буду знать теперь) Получится 25 строк.... По сути вопроса, я че-то не могу сообразить как это происходит технически внутри СУБД. Вот с LEFT JOIN понятно. К левой таблице присоединяются все строки, которые соответствуют в правой (получается тоже 25 строк). т.е. пять раз по пять. А вот с INNER JOIN че-то непонятно. Это понятно на сухих простых примерах в интернете, что СУБД выведет все строки, которые совпадают. А вот тут, когда равное количество одинаковых строк. Как он начинает соединять. Вот буквально. Берет значение из какой таблицы и как начинает сканировать совпадения? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2021, 09:54 |
|
INNER JOIN
|
|||
---|---|---|---|
#18+
Morskoi_kotik Вот с LEFT JOIN понятно. Вот тут я выпал в осадок, INNER JOIN от LEFT JOIN не отличаются за исключением .... как работает INNER JOIN Morskoi_kotik К левой таблице присоединяются все строки, которые соответствуют в правой (получается тоже 25 строк). т.е. пять раз по пять. ЗЫЖ возможно он поменяет таблицы местами, если в правой будет меньше записей, но смысл от этого не меняется ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2021, 10:22 |
|
INNER JOIN
|
|||
---|---|---|---|
#18+
Morskoi_kotik По сути вопроса, я че-то не могу сообразить как это происходит технически внутри СУБД. Если первое, то это большая тема, и механизм зависит от многих факторов. Например: "Берет значение из первой таблицы и начинает сканировать вторую на совпадения". И много других вариантов. Если интересует второе, то в результате получится от 0 до 25 строк, в зависимости от данных в таблице, и от условий соединения. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2021, 18:50 |
|
INNER JOIN
|
|||
---|---|---|---|
#18+
HandKot INNER JOIN от LEFT JOIN не отличаются Что-то меня тоже на лирику потянуло... INNER JOIN В детском саду мальчики берут за руку девочку фамилия которой совпадает (с учётом рода) с фамилией мальчика. Пускают гулять только полные пары LEFT JOIN В детском саду мальчики берут за руку девочку фамилия которой совпадает с фамилией мальчика. Пускают гулять всех мальчиков, без разницы нашли они себе пару или нет. RIGTH JOIN То же самое, только мальчики и девочки поменялись местами. Пускают гулять всех девочек, без разницы нашли они себе пару или нет. FULL JOIN Пускают гулять вообще всех - мальчиков, и девочек, и пары и одиночек. Возвращаясь к вашей задаче - в садике 5 мальчиков Ивановых и 5 девочек Ивановых. Сколько раз они смогут выйти на прогулку не повторяясь хоть в одной паре? P.S. Для вашей задачи все JOIN равноценны, но это не значит, что они не отличаются. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2021, 17:58 |
|
|
start [/forum/topic.php?fid=46&fpage=9&tid=1684109]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 229ms |
total: | 360ms |
0 / 0 |