MySQL是否按照编写的顺序执行查询?
我注意到有时别名(例如下面的客户AS c)在使用别名后排成一行。通常在其他编程中,您在使用之前首先声明变量。但是在Mysql中我看到过这样的事情:
SELECT SUM(balance) AS Total,
COUNT(account_id) AS Number,
CONCAT(c.last_name, ', ', c.first_name) AS Name
FROM accounts AS a
INNER JOIN customers AS c
USING (customer_id)
GROUP BY (a.customer_id) ORDER BY Name;
当 客户AS c 不发生 CONCAT(c.last_name, ', ', c.first_name)
时,如何执行 val strings = arrayOf("1", "2", "3")
val ints = ints.map { it.toInt() }.toTypedArray()
直到最后一行?并且它不会导致错误。
答案 0 :(得分:0)
我认为你的问题实际上非常好。
以这种方式思考: 一旦知道从哪里选择,就无法选择任何内容。 同样,在选择之前你不能订购任何东西。
因此,当您在表名上创建别名时,mysql可以在选择部分中使用它。 当您在选择部分中创建别名时,mysql可以在订单部分中使用它。
我希望这能为你澄清一下。如果能为您解答,请告诉我。
答案 1 :(得分:0)
在sql中,代码按特定顺序进行评估:
因此,表别名在选择时是完全已知的。