|   |   | 
| 
 | В чём разница между ПО и ГДЕ в запросе | ☑ | ||
|---|---|---|---|---|
| 0
    
        repin_mike 10.03.23✎ 09:01 | 
        В чём разница между конструкциями
 ВЫБРАТЬ * ИЗ А ЛЕВОЕ СОЕДИНЕНИЕ Б ГДЕ УСЛОВИЕ ВЫБРАТЬ * ИЗ А ЛЕВОЕ СОЕДИНЕНИЕ Б ПО УСЛОВИЕ По идее второе работает быстрее, но это не точно | |||
| 1
    
        Asmody 10.03.23✎ 09:02 | 
        У вас точно 8 лет стажа на форуме?     | |||
| 2
    
        Mort 10.03.23✎ 09:05 | 
        Если бы внутреннее соединение было, тогда можно было бы поразмышлять о переносе условий из ГДЕ в ПО для оптимизации, а так тупо разные результаты будут.     | |||
| 3
    
        butterbean 10.03.23✎ 09:39 | 
        что-то я видимо подзабыл синтаксис, но разве возможно СОЕДИНЕНИЕ без ПО?     | |||
| 4
    
        Fedor-1971 10.03.23✎ 09:41 | 
        (0) так то нет
 ВЫБРАТЬ * ИЗ А ЛЕВОЕ СОЕДИНЕНИЕ Б ГДЕ УСЛОВИЕ = ВЫБРАТЬ * ИЗ А ЛЕВОЕ СОЕДИНЕНИЕ Б по истина ГДЕ УСЛОВИЕ - т.е. к каждой записи таблицы А приклеивается вся таблица Б ВЫБРАТЬ * ИЗ А ЛЕВОЕ СОЕДИНЕНИЕ Б ПО УСЛОВИЕ - к записи таблицы А соответствующей Условие приклеиваются записи из таблицы Б соответствующие тому же Условие (в результате прилепляем 0 или больше записей) ВЫБРАТЬ * ИЗ А внутреннее СОЕДИНЕНИЕ Б ПО УСЛОВИЕ - вот это имеет смысл сравнивать по быстродействию с условием заданным в ГДЕ. Быстродействие будет очень зависеть от объёма данных в выборках А и Б до определённого объёма может быстрее работать ВНУТРЕННЕЕ СОЕДИНЕНИЕ чем ГДЕ, а возможен и обратный результат | |||
| 5
    
        Fedor-1971 10.03.23✎ 09:42 | 
        4+ только замер покажет что быстрее на твоих данных     | |||
| 6
    
        Asmody 10.03.23✎ 09:59 | 
        (3) полное соединение получится.     | |||
| 7
    
        exwill 10.03.23✎ 10:07 | 
        (6) Получится произведение таблиц, а не полное соединение. Это разные вещи. При полном соединении NULL может появиться и "справа" и "слева". При левом только "слева". При внутреннем, а также при произведении NULL нигде не появляется     | |||
| 8
    
        mikecool 10.03.23✎ 10:14 | 
        (1) лучше поздо, чем никогда     | |||
| 9
    
        АгентБезопасной Нацио 10.03.23✎ 10:42 | 
        (0) Это не предел
 (8) иногда лучше никогда. | |||
| 10
    
        PR 10.03.23✎ 10:54 | 
        (0) В чём разница между конструкциями
 Мне привезли будку для собаки, которую зовут Шарик Я пошел погулять с собакой, которую зовут Шарик По идее второе работает быстрее, но это не точно | |||
| 11
    
        exwill 10.03.23✎ 11:01 | 
        (0)
 Первая конструкция - это внутреннее соединение по заданному условию. NULL тут появиться не может. Вторая - это левое соединение по заданному условию. Тут может быть NULL "справа". | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |