"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Guía de la mesa pre-filtrada de unión a la izquierda SQL

Guía de la mesa pre-filtrada de unión a la izquierda SQL

Publicado el 2025-04-21
Navegar:132

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

realiza eficientemente sql a la izquierda, una tabla pre-filtro datos

]

Al procesar múltiples tablas, generalmente es necesario filtrar una de las tablas antes de unirlas. Este ejemplo involucra dos tablas: tabla de clientes y tabla de entrada.

El objetivo es filtrar la tabla de entrada en función de la categoría específica 'D' antes de realizar una unión izquierda entre estas dos tablas. El resultado esperado es: todos los registros en la tabla del cliente se recuperan independientemente de si existen registros relevantes en la tabla de entrada; Y al mismo tiempo, se excluyen los registros que no cumplen con los criterios de categoría en la tabla de entrada.

La siguiente consulta SQL demuestra cómo lograr esto:

SELECT c.Customer, c.State, e.Entry
FROM Customer c
LEFT JOIN Entry e
   ON c.Customer=e.Customer
   AND e.Category='D'

moviendo la condición de filtro Where a la condición de unión, podemos aplicar filtros de categoría a la tabla de entrada antes de unirse. Esto asegura que solo los registros de entrada que cumplan con los criterios de categoría se incluyan en el resultado de la conexión.

Tabla de muestra

]
客户表 (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        ║
╚══════════╩═══════╩══════════╝

resultado

╔══════════╦═══════╦═══════╗
║ Customer ║ State ║ Entry ║
╠══════════╬═══════╬═══════╣
║ A        ║ S     ║  5575 ║
║ A        ║ S     ║  3215 ║
║ B        ║ V     ║  4445 ║
║ C        ║ L     ║  NULL ║
╚══════════╩═══════╩═══════╝

Resumen, al usar la cláusula y en la condición de unión, podemos filtrar la tabla antes de unirla, de modo que los datos se recuperen con mayor precisión en función de las condiciones especificadas.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3