我正在使用mysql server for sql。 Select * from products some_garbage_value; 以及
Select * from products some_garbage_value;
Select * from products;
得到相同的值。为什么?在某个\u垃圾\u值处输入任何内容,仍然会得到相同的查询结果。我已经创建了一个表单来输入查询,该表单由servlet处理,在创建连接之后,我在该servlet上生成查询结果。这对我的状态不好吗?如果是的话,告诉我,如何摆脱这个错误?这是虫子吗?这会是sql注入的例子吗?
eni9jsuy1#
在
这个 some_garbage_value 不是垃圾,是别名。从技术上讲,这意味着对于查询范围,您已经“重命名”了 products 表到 some_garbage_value . 如果您需要消除同一个表的两个匹配项之间的歧义(例如在self join中),或者使查询更可读/更具自解释性(或者更简短),那么这将非常有用。相当于
some_garbage_value
products
Select * from products as some_garbage_value;
另请参阅mysql参考以了解更多信息 select :这个 FROM table_references 子句指示要从中检索行的一个或多个表。如果命名了多个表,则执行的是联接。有关连接语法的信息,请参阅第13.2.9.2节“连接语法”。对于指定的每个表,可以选择指定别名。
select
FROM table_references
tbl_name [[AS] alias] [index_hint]
这不适用于任何值:它必须是语法上有效的标识符。
1条答案
按热度按时间eni9jsuy1#
在
这个
some_garbage_value
不是垃圾,是别名。从技术上讲,这意味着对于查询范围,您已经“重命名”了products
表到some_garbage_value
. 如果您需要消除同一个表的两个匹配项之间的歧义(例如在self join中),或者使查询更可读/更具自解释性(或者更简短),那么这将非常有用。相当于
另请参阅mysql参考以了解更多信息
select
:这个
FROM table_references
子句指示要从中检索行的一个或多个表。如果命名了多个表,则执行的是联接。有关连接语法的信息,请参阅第13.2.9.2节“连接语法”。对于指定的每个表,可以选择指定别名。这不适用于任何值:它必须是语法上有效的标识符。