Вопрос по SQL на который я не смог ответить🤦♂️
На собеседованиях по SQL любят задавать вопросы про количество строк, которое получится при разных видах join
Я на такие вопросы всегда отвечал легко, но один раз меня завалили подобным вопросом. Но не на собесах, а в комментариях в Linkedin
Спрашивают: "Может ли при cross join, получиться меньше строк, чем при left join" Чувствую подвох, но отвечаю: "Неа"
Всё же логично, при кросс джойне к каждой строке первой таблицы прицепляются все строки из второй. При лефт джойне такое, конечно, тоже может быть, но всё равно больше строк не будет. Изи) Но это только при условии, наличия строк в таблице🤯. Если строк в присоединяемой таблице нет, то результат кросс джойна - пустая таблица, а лефт джойна - все строки из первой таблицы. А значит ответ - да, cross join может дать меньше строк, чем left