72 похожих чатов

@MasterZiv У меня новый вопрос появился, можешь пояснить в чем

разница между ними ?

вот смотри есть запрос который ты мне сегодня помог составить

SELECT u1.*, ua1.*
FROM users u1
join users_auth ua1 ON ua1.user_id = u1.id
join users u2 ON u2.id != u1.id
join users_auth ua2 ON ua2.user_id = u2.id
WHERE ua1.user_agent = ua2.user_agent
AND ua1.langs = ua2.langs
GROUP BY u1.id ORDER BY ua1.user_agent, ua1.langs

И есть другой запрос который подсказали

SELECT u0.username, u1.*
FROM users_auth AS u1, users_auth AS u2
LEFT join users AS u0
on u0.id = u2.user_id
WHERE u1.user_agent = u2.user_agent
AND u1.langs = u2.langs
AND u1.id != u2.id
ORDER BY u2.user_agent,u2.langs;

Попытаюсь объяснить в чем разница между ними.

Пример 1.
Как я думал до этого
1 запрос берет все записи FROM users u1
Далее берет уже и добавляет данные по joinам, не просто все записи а которые поподают под ON в join
join users_auth ua1 ON ua1.user_id = u1.id
join users u2 ON u2.id != u1.id
join users_auth ua2 ON ua2.user_id = u2.id
после чего через where отсекаем не нужное.
Далее сортируем


Пример 2.
2 запрос работает так
Берем все записи из таблицы FROM users_auth AS u1
Далее берем все записи users_auth AS u2 и подгоняем к ним через left join
LEFT join users AS u0
on u0.id = u2.user_id
Далее через where отсекаем не нужно и сортируем.

Может я вообще не верно рассуждаю, если не верно то в чем не верно и как это работает и какой запрос лучше и в чем отличие ???

Что это вообще такое FROM users_auth AS u1, users_auth AS u2 через запятую таблицы пречислять или это тот же самый join в движке как мне подсказали, тогда в чем между ними разница ?


Очень благодарен заранее.

3 ответов

5 просмотров

Второй запрос просто не совсем корректный, но не сильно, и записан не в канонической форме, так можно сказать. Там перемешаны ANSI и non-ANSI JOIN-ы. И LEFT JOIN тут не нужен, его не должно быть (но с ним тоже будет работать)

Что это вообще такое FROM users_auth AS u1, users_auth AS u2 через запятую таблицы пречислять или это тот же самый join в движке как мне подсказали, тогда в чем между ними разница ? Это и есть non-ANSI JOIN. Устаревшая конструкция, которую не нужно применять и тем более мешать с ANSI JOIN в одном запросе...

Все размышления о том, как какой запрос работает, бредовые, ибо не верны в корне. Ты не можешь вообще сказать, как он работает.

Похожие вопросы

Обсуждают сегодня

А как лучше конвертировать физический адрес в виртуальный при маппинге? В случае ядра у меня, например, direct mapping, первые 768МБ я как есть мапплю в higher half, а остальн...
Evg Resh
26
Всем привет. Нужна платная консультация от тех, кто сталкивался с октябрём в кластере или шарит оч хорошо в цмс. Проблема следующая: после переноса в кластер октябрь начал ...
wl
8
Коллеги, доброе утро. Запустил на удаленном хосте приложение (ручками зашел туда по ssh и запустил, не командой удаленно). Создал потом ssh-туннель, и с моей машины приложение...
Δημήτηρ
9
Добрый день, не подскажите, если в OC-V3 поменять страндартную директорию /storage/ на /storage2/ - не будет сильно много проблем ?
Max Dubovsky
32
'frakturBold' => ['𝖆', '𝖇', '𝖈', '𝖉', '𝖊', '𝖋', '𝖌', '𝖍', '𝖎', '𝖏', '𝖐', '𝖑', '𝖒', '𝖓', '𝖔', '𝖕', '𝖖', '𝖗', '𝖘', '𝖙', '𝖚', '𝖛', '𝖜', '𝖝', '𝖞', '𝖟', '𝕬', '𝕭', '𝕮', '𝕯'...
Roma
4
а я честно сказать не понимаю - нахуя идти учиться на вышку или еще куда-либо и при этом нихуя не делать, типа зачем ? просто корку получить, а нахуй она нужна тогда ?
Eugene Неелов
7
Каким то образом можно определить ширину экрана пользователя перед загрузкой partial-а? Надо рассчитать ширину кадров слайдера для ресайза картинок для container-fluid.
Point 111
22
> Примечательно, что новый владелец удаляет из GitHub любые жалобы, указывающие на подозрительную активность или смену владельца, и, видимо, рассчитывает на то, что пользовате...
Alex Sherbakov
2
Which companies do you think are innovating best in web design and design practices?
✌️(´ヮ`)
6
я часов 15 назад начал пытаться написать хоть что-то напоминающее ос и у меня есть проблема, которую я пытаюсь решить последние часов 5: есть крч 2 исходника с минимальным код...
Al1to
17
Карта сайта