эффективно выполнять SQL Left-Joining, Data Prefilter Data
]]]При обработке нескольких таблиц обычно необходимо отфильтровать одну из таблиц перед тем, как присоединиться к ним. Этот пример включает в себя две таблицы: таблица клиентов и таблица записи.
]Цель состоит в том, чтобы отфильтровать таблицу записей на основе конкретной категории «D», прежде чем выполнить левое соединение между этими двумя таблицами. Ожидаемый результат: все записи в таблице клиентов извлекаются независимо от того, есть ли соответствующие записи в таблице записи; И в то же время записи, которые не соответствуют критериям категории в таблице входа, исключены.
]] Следующий запрос SQL демонстрирует, как это достичь:
]SELECT c.Customer, c.State, e.Entry
FROM Customer c
LEFT JOIN Entry e
ON c.Customer=e.Customer
AND e.Category='D'
]
, перемещая условие фильтра в условие соединения, мы можем применить фильтры категории к входной таблице перед присоединением. Это гарантирует, что только записи о входах, которые соответствуют критериям категории, включены в результат соединения.
]пример таблицы
]]客户表 (Customer):
╔══════════╦═══════╗
║ Customer ║ State ║
╠══════════╬═══════╣
║ A ║ S ║
║ B ║ V ║
║ C ║ L ║
╚══════════╩═══════╝
条目表 (Entry):
╔══════════╦═══════╦══════════╗
║ Customer ║ Entry ║ Category ║
╠══════════╬═══════╬══════════╣
║ A ║ 5575 ║ D ║
║ A ║ 6532 ║ C ║
║ A ║ 3215 ║ D ║
║ A ║ 5645 ║ M ║
║ B ║ 3331 ║ A ║
║ B ║ 4445 ║ D ║
╚══════════╩═══════╩══════════╝
результат
╔══════════╦═══════╦═══════╗
║ Customer ║ State ║ Entry ║
╠══════════╬═══════╬═══════╣
║ A ║ S ║ 5575 ║
║ A ║ S ║ 3215 ║
║ B ║ V ║ 4445 ║
║ C ║ L ║ NULL ║
╚══════════╩═══════╩═══════╝
Аннотация, используя и предложение и пункт в условиях соединения, мы можем отфильтровать таблицу перед тем, как присоединиться к ней, чтобы данные были получены более точно на основе указанных условий.
]Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3