sql-两者的区别

三葉Leaves Author

在刚才的例子中,

使用 SET

1
2
DECLARE @A_price FLOAT;
SET @A_price = (SELECT AVG(price) FROM Product);

使用 SELECT

1
2
DECLARE @A_price FLOAT;
SELECT @A_price = AVG(price) FROM Product;

原理

select 的原理是先执行查询,如

1
SELECT AVG(price) FROM Product;

然后把查询的结果赋值给前面的变量

区别

SETSELECT 的区别

  1. 单一赋值 vs. 多值赋值:
    • SET 是 ANSI 标准,用于单一赋值语句。
    • SELECT 一次为多个变量赋值
  2. 性能:
    • 对于复杂查询情况,SELECT 更高效
  3. 语义差异:
    • 如果查询返回多行结果,SET 会引发错误,因为它只期望单行结果。
    • SELECT 在这种情况下会将最后一行的值赋给变量。
  • 标题: sql-两者的区别
  • 作者: 三葉Leaves
  • 创建于 : 2024-06-07 00:00:00
  • 更新于 : 2024-11-21 16:56:20
  • 链接: https://leavesblog.netlify.app/9427748b3053/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论
目录
sql-两者的区别