首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >SQL隐藏技术?

SQL隐藏技术?
EN

Stack Overflow用户
提问于 2010-05-29 00:08:29
回答 14查看 2K关注 0票数 15

可能重复:

Hidden Features of SQL Server

SQL提供的那些亲/微妙的技术是什么,而且不是很多人知道的,它们还可以减少代码和提高性能?

我刚刚学习了如何在聚合函数中使用CASE语句,它完全改变了我处理事情的方法。

还有其他的吗?

更新:基本上是任何供应商。但是PostgreSQL如果你只想关注一个:D

EN

回答 14

Stack Overflow用户

发布于 2010-05-29 00:10:35

SQL GROUP BY - CUBE, ROLLUP clauses

分析(又称排名,又称窗口)函数 IE:

  • ROW_NUMBER
  • RANK
  • DENSE_RANK
  • NTILE
  • OVER

视图:普通和物化

如果不引用特定于供应商的语法,就很难说太多

票数 6
EN

Stack Overflow用户

发布于 2010-05-29 00:13:16

OVER Clause (SQL Server)也称为Window functions (PostgreSQL)或analytic functions (Oracle)

这对我来说是非常好的。你可以做各种方便的事情,比如计数,分区,排名等等。

票数 6
EN

Stack Overflow用户

发布于 2010-05-29 00:30:15

EXISTS。我很惊讶有多少人在检查存在或IN (SELECT...)时仍在使用COUNT(*)子句在存在时可以更快地完成这项工作。

您最常看到的可能是:

代码语言:javascript
复制
SELECT @MyVar = Count(*) FROM Table1 WHERE....
If @MyVar <> 0
BEGIN
   --do something
END

什么时候

代码语言:javascript
复制
IF EXISTS(SELECT 1 FROM Table1 WHERE...)
BEGIN
    --don something
END

总是更好。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2930609

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档