Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Entendendo o produto cartesiano em SQL


Uma junção cartesiana une todos os registros da primeira tabela com todos os registros da segunda tabela, portanto, como sua tabela tem 7 linhas e está unida a si mesma, ela deve retornar 49 registros se você não tivesse um where cláusula. Sua cláusula where só permite registros onde a o saldo de é menor que b equilíbrio. Desde 900 é, como você disse, o saldo máximo na tabela, ele nunca será menor que qualquer outro saldo e, portanto, nunca será retornado.

Com relação às primeiras cinco linhas, as regras normais do SQL também se aplicam às junções. Como as tabelas SQL não têm ordem intrínseca, cabe ao banco de dados decidir como devolvê-las, a menos que você declare explicitamente uma ordem no order by cláusula. Os valores listados são valores perfeitamente válidos que você espera que a consulta retorne.