我看到过很多这样的问题。
Select 1
From table
这个1是什么意思,它将如何执行,它将返回什么?
另外,在什么类型的场景中可以使用它?
我看到过很多这样的问题。
Select 1
From table
这个1是什么意思,它将如何执行,它将返回什么?
另外,在什么类型的场景中可以使用它?
当前回答
这意味着你想要一个值“1”作为输出,或者大部分时间用作内部查询,因为出于某种原因,你想要根据内部查询的结果计算外部查询。不是所有的时候你都用1,但是你有一些特定的值…
这将静态地为您提供值1的输出。
其他回答
一个查询可以有一个HAVING子句而没有GROUP BY子句,尽管这一点并不广为人知。
在这种情况下,HAVING子句应用于整个集合。显然,SELECT子句不能引用任何列,否则您将(纠正)得到错误,“列在SELECT中无效,因为它不包含在GROUP BY中”等。
因此,必须使用文字值(因为SQL不允许结果集为零列——为什么?!),通常使用文字值1 (INTEGER):如果HAVING子句的值为TRUE,则结果集将是一行,其中一列显示值1,否则您将得到空集。
示例:查找一个列是否有多个不同的值:
SELECT 1
FROM tableA
HAVING MIN(colA) < MAX(colA);
这意味着你想要一个值“1”作为输出,或者大部分时间用作内部查询,因为出于某种原因,你想要根据内部查询的结果计算外部查询。不是所有的时候你都用1,但是你有一些特定的值…
这将静态地为您提供值1的输出。
它简单地表示您正在从表,,,,中检索数字第一列 select empl_num,Empl_no From Employees; 这里你使用select 1 from Employees; 这意味着您正在检索Emply_num列。 谢谢
我看到它总是用于SQL注入,例如:
www.urlxxxxx.com/xxxx.asp?id=99 union select 1、2、3、4、5、6、7、8、9 from database;
这些数字可用于猜测数据库存在的位置,并猜测您指定的数据库的列名。以及表的值。
它做了它所说的——它总是返回整数1。它用于检查是否存在与where子句匹配的记录。