sql >> Base de Datos >  >> RDS >> Mysql

Entendiendo el producto cartesiano en SQL

Una unión cartesiana une todos los registros de la primera tabla con todos los registros de la segunda tabla, por lo que dado que su tabla tiene 7 filas y está unida consigo misma, debería devolver 49 registros si no hubiera tenido un where cláusula. Su cláusula where solo permite registros donde a El saldo de es menor que b el saldo. Desde 900 es, como dijiste, el saldo máximo de la tabla, nunca será menor que cualquier otro saldo y, por lo tanto, nunca se devolverá.

Con respecto a las primeras cinco filas, las reglas normales de SQL también se aplican a las uniones. Dado que las tablas SQL no tienen un orden intrínseco, depende completamente de la base de datos decidir cómo devolverlas, a menos que indique explícitamente un orden en el order by cláusula. Los valores que enumeró son valores perfectamente válidos que esperaría que devolviera la consulta.