Python MySQL Unir
- Página Anterior Límite MySQL
- Página Siguiente Introducción a MongoDB
Combinar dos o más tablas
Puedes usar la cláusula JOIN para combinar filas de dos o más tablas basadas en columnas relacionadas.
Supongamos que tienes las tablas "users" y "products":
users
{ id: 1, nombre: 'John', fav: 154}, { id: 2, nombre: 'Peter', fav: 154}, { id: 3, nombre: 'Amy', fav: 155}, { id: 4, nombre: 'Hannah', fav:}, { id: 5, nombre: 'Michael', fav:}
products
{ id: 154, nombre: 'Paraiso de Chocolate' }, { id: 155, nombre: 'Limones Deliciosos' }, { id: 156, nombre: 'Sueños de Vanilla' }
Se puede usar el campo de users fav
campo y los de products id
campo para combinar estas dos tablas.
Ejemplo
Combinar usuarios y productos para ver el nombre del producto favorito del usuario:
importar mysql.connector mi_db = mysql.connector.connect( anfitrión="localhost", usuario="tu_usuario", contraseña="tu_contraseña", base_de_datos="mi_base_de_datos" ) mi_cursor = mi_db.cursor() sql = "SELECT \ users.name COMO usuario, \ products.name COMO favorite \ FROM users \ UNION INTERNA products ON users.fav = products.id" mycursor.execute(sql) myresult = mycursor.fetchall() for x in myresult: print(x)
Notas:Puede usar JOIN en lugar de INNER JOIN. Obtendrá el mismo resultado.
UNION IZQUIERDA
En el ejemplo anterior, Hannah y Michael se excluyen de los resultados porque el INNER JOIN solo muestra los registros coincidentes.
Si desea mostrar todos los usuarios, incluso si no tienen productos favoritos, utilice la sentencia UNION IZQUIERDA:
Ejemplo
Seleccionar todos los usuarios y sus productos favoritos:
sql = "SELECT \ users.name COMO usuario, \ products.name COMO favorite \ FROM users \ UNION IZQUIERDA products ON users.fav = products.id"
UNION DERECHA
Si desea devolver todos los productos y los usuarios que los aman, incluso si no hay usuarios que amen estos productos, utilice la sentencia UNION DERECHA:
Ejemplo
Seleccionar todos los productos y los usuarios que los aman:
sql = "SELECT \ users.name COMO usuario, \ products.name COMO favorite \ FROM users \ UNION DERECHA products ON users.fav = products.id"
Notas:Hannah y Michael, que no están interesados en ningún producto, no se incluyen en los resultados.
- Página Anterior Límite MySQL
- Página Siguiente Introducción a MongoDB