我最近开始使用 Management Studio 2012。使用 MySQL Workbench 时,一个方便的功能是我可以全部使用小写字母,任何保留字(如SELECT, INSERT)都会自动转换为大写字母。如何在 SSMS 中复制此行为?
以下面的代码示例为例:
SELECT MaritalStatus,
COUNT(*) AS CountResult
COUNT(*) OVER() AS CountOverResult
FROM (schema).(table)
GROUP BY Marital Status
Run Code Online (Sandbox Code Playgroud)
COUNT(*) 返回所有行忽略空值对吗?
有什么作用COUNT(*) OVER()?
这个问题是在练习考试中出现的,所以我没有要查询的数据。我一直在使用 Adventure Works 和这个网站http://www.sqlishard.com/Exercise来练习。
如果我输入一个查询
SELECT ID, COUNT(*) AS 'COUNT(*)' , COUNT(*) OVER() AS 'COUNT(*) OVER()'
FROM Customers
GROUP BY ID
Run Code Online (Sandbox Code Playgroud)
进入练习站点,我得到 3794 行返回,其中一Count(*)列是 1,一Count(*) Over()列是总行数。我不明白这个模式(对不起)所以我来到了这里。
我对 TABLESAMPLE 的使用的理解是它返回结果集中前 n% 的行,其中 TABLESAMPLE(n)
所以我写了以下查询来检查(因为我正在学习 T-SQL)
SELECT FirstName,
MiddleName,
LastName
FROM Person.Person TABLESAMPLE(10)
SELECT FirstName,
MiddleName,
LastName
FROM Person.Person TABLESAMPLE(10 PERCENT)
Run Code Online (Sandbox Code Playgroud)
每次执行查询时,每个查询都会返回不同数量的行。
所以我显然不理解TABLESAMPLE。有人能解释一下吗?
我一直在研究新的 70-461 MCSE 数据考试的考试指南,现在我想练习我的 T-SQL。有没有人知道任何好的资源,其中提出了场景,您必须通过实践创建解决方案。例如,当我学习 C# 时,我会朝着创建某种类型的系统或项目的目标努力,例如 Web 应用程序或执行特定操作的控制台应用程序。我正在努力想出测试场景来改善我的 T-SQL 体验,因为我没有关于 SQL 专业人员在日常工作中做什么的参考框架。