Ver Mensaje Individual
  #5 (permalink)  
Antiguo 24/03/2010, 07:26
Avatar de huesos52
huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Com utiliza INNER JOIN

flpms

suponiendo quetienes estas tablas

Código MySQL:
Ver original
  1. mysql> select *from factura;
  2. +-------------+
  3. | num_factura |
  4. +-------------+
  5. |         123 |
  6. |         456 |
  7. |         889 |
  8. |         998 |
  9. +-------------+
  10. 4 rows in set (0.00 sec)
  11.  
  12. mysql> select *from pedidos;
  13. +-------------+-------------+
  14. | num_factura | valor_total |
  15. +-------------+-------------+
  16. |         123 |      100000 |
  17. |         123 |        5000 |
  18. |         456 |        1000 |
  19. |         456 |       10000 |
  20. |         889 |        4000 |
  21. +-------------+-------------+
  22. 5 rows in set (0.00 sec)

Fijate que la tabla factura tiene los mismos id de la tabla pedidos a diferencia que también tiene el 998.

Si haces un inner join se muestra unicamente los que coinciden.

Código MySQL:
Ver original
  1. mysql> select f.num_factura,p.valor_total from factura f inner join pedidos p using(num_factura);
  2. +-------------+-------------+
  3. | num_factura | valor_total |
  4. +-------------+-------------+
  5. |         123 |      100000 |
  6. |         123 |        5000 |
  7. |         456 |        1000 |
  8. |         456 |       10000 |
  9. |         889 |        4000 |
  10. +-------------+-------------+
  11. 5 rows in set (0.03 sec)

Pero si se hace un left join, incluirá los que tienen en comun y aquellos que también están en la tabla ubicada a la izquierda (En este caso factura),

Código MySQL:
Ver original
  1. mysql> select f.num_factura,p.valor_total from factura f left join pedidos p using(num_factura);
  2. +-------------+-------------+
  3. | num_factura | valor_total |
  4. +-------------+-------------+
  5. |         123 |      100000 |
  6. |         123 |        5000 |
  7. |         456 |        1000 |
  8. |         456 |       10000 |
  9. |         889 |        4000 |
  10. |         998 |        NULL |
  11. +-------------+-------------+
  12. 6 rows in set (0.00 sec)


se entiende?
__________________
Without data, You are another person with an opinion.
W. Edwads Deming