a,b没有直接关系。
a,b与结果有什么关系?
select * from a,b where b.id in (1,2,3)
你能解释一下sql吗?
答案 0 :(得分:1)
由于您尚未指定a
和b
之间的关系,因此会产生叉积。等效于:
SELECT *
FROM a
CROSS JOIN b
WHERE b.id IN (1, 2, 3)
它将a
中的每一行与b
中的三行合并。如果a
有100行,结果将是300行。
答案 1 :(得分:1)
您使用的是Multitable SELECT
。
Multitable SELECT (M-SELECT)
与加入操作相似。您 从不同的表中选择值,请使用WHERE
子句来限制 返回的行,并将生成的单个表发送回给 查询的发起者。与
M-SELECT
的区别在于它将返回乘法表 作为结果集。
有关更多详情,请访问https://dev.mysql.com/worklog/task/?id=358
换句话说,您查询的是:
SELECT *
FROM a
CROSS JOIN b
WHERE b.id in (1,2,3)