我正在浏览这些问题,并注意到了这一点:

SELECT prodid, issue
FROM Sales 
WHERE custid = @custid 
AND datesold = SELECT MAX(datesold) 
             FROM Sales s 
             WHERE s.prodid = Sales.prodid
                  AND s.issue = Sales.issue
                  AND s.custid = @custid

我想知道"@“在Custid面前做什么?这只是从选定表中参考CUSTID的一种方式吗?

答案

@custid表示这是一个参数,您将为以后的代码提供值。这是防止SQL注入的最佳方法。使用参数创建查询,而不是串联字符串和变量。数据库引擎将参数值放入占位符所在的位置,而SQL注入的机会为零。

来自: stackoverflow.com