尽管使用了连接,为什么这被认为是一个简单的选择?

时间:2016-10-17 23:26:28

标签: mysql sql database join

如果我将此查询运行到我的MySQL数据库中:

EXPLAIN EXTENDED
SELECT
    *
FROM
    Orders
    NATURAL JOIN Order_Details
WHERE
    QuotedPrice > 1000
    AND
    OrderDate BETWEEN '2012-10-01' AND '2012-10-31';

它说两个数据库的select_type都是“SIMPLE”。

据我所知,SIMPLE select_type表示没有使用任何连接,但当然,该语句中存在自然连接。

有人可以向我解释一下这可能的原因吗?

1 个答案:

答案 0 :(得分:4)

SIMPLE只表示表访问不使用任何UNION操作而不使用任何子查询。

只要放下你认为SIMPLE建议的任何东西。并参考MySQL参考手册所说的内容。 select_type列中显示的值的简要说明:

http://dev.mysql.com/doc/refman/5.7/en/explain-output.html