«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Руководство по таблице предварительного фильтра SQL

Руководство по таблице предварительного фильтра SQL

Опубликовано в 2025-04-21
Просматривать:737

How to Perform a Left Join with a Pre-Filtered Table in SQL?

эффективно выполнять 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