77 你有一个名为 ProductCounts 的表,包含 1000 个产品,以及已为每个产品销售的联合批号。你需要编写一个查询,显示已售出最多的 5%的产品。你应该使用哪个 T-SQL 代码段? A. WITH Percentages AS (
SELECT *, NTILE(5) OVER (ORDER BY UnitsSold) AS groupingColumn FROM SELECT * ProductCounts) select * FROM percentages WHERE groupingColumn =1;
B. WITH Percentages AS (
SELECT *, NTILE(5) OVER (ORDER BY UnitsSold) AS groupingColumn FROM ProductCounts )
SELECT * FROM Percentages WHERE groupingColumn = 5;
C. WITH Percentages AS (
SELECT *, NTILE(20) OVER (ORDER BY UnitsSold) AS groupingColumn FROM ProductCounts)
SELECT * FROM Percentages WHERE groupingColumn = 1;
D. WITH Percentages AS (
SELECT *, NTILE(20) OVER (ORDER BY UnitsSold) AS groupingColumn FROM ProductCounts)
SELECT * FROM Percentages WHERE groupingColumn = 20; 答案:D
78 你为国际慈善组织工作。你正在编写一个查询来列出最高 100 个不同的的
捐赠数额。你写了下面的代码段(包括的行号仅作为参考):
01 SELECT *
02 FROM (SELECT Customer.CustomerID, SUM(TotalDue) AS TotalGiven, 03
04 FROM Customer 05 JOIN SalesOrder
06 ON Customer.CustomerID = SalesOrder.CustomerID
07 GROUP BY Customer.CustomerID) AS DonationsToFilter 08 WHERE FilterCriteria <= 100
你需要在第 03 行插入一个 T-SQL 子句完成这个查询。你应该插入哪个 T-SQL 子句?A. RANK() OVER (ORDER BY SUM(TotalDue) DESC) AS FilterCriteria B. NTILE(100) OVER (ORDER BY SUM(TotalDue) DESC) AS FilterCriteria
C. ROW_NUMBER() OVER (ORDER BY SUM(TotalDue) DESC) AS FilterCriteria D. DENSE_RANK() OVER (ORDER BY SUM(TotalDue) DESC) AS FilterCriteria 答案:D
7 9 . 你 的 数 据 库 服 务 器 是 四 核 处 理 器 , 现 在 要 执 行 复 杂 的 查 询 语 句 产 生 报 表 。 你 需 要 强制 查 询 仅 仅 使 用 一 个 处 理 器 核 , 不 影 响 其 他 查 询 。 你 应 该 使 用 哪 个 选 项 ? A . O P T I O N ( F A S T 1 )
第 31 页
B . O P T I O N ( M A X D O P 1 ) C . O P T I O N ( R E C O M P I L E )
D . O P T I O N ( M A X R E C U R S I O N 1 ) A n s w e r : B
8 0 . 你 发 现 对 于 特 定 的 参 数 值 下 面 的 查 询 有 时 候 运 行 得 很 快 , 有 时 候 运 行 得 很 慢 。 你 还发 现 A d d r e s s 表 中 9 0 % 的 行 有 相 同 的 c i t y 值 。
S E L E C T A d d r e s s I d , A d d r e s s L i n e 1 , C i t y , P o s t a l C o d e F R O M P e r s o n . A d d r e s s
W H E R E C i t y = @ c i t y _ n a m e
A N D P o s t a l C o d e = @ p o s t a l _ c o d e
你 需 要 使 用 一 个 查 询 提 示 , 对 于 特 定 的 参 数 值 , 查 询 执 行 时 时 间 上 将 保 持 一 致 性 。 你 应 该使 用 什 么 提 示 ? A . F A S T B . M A X D O P
C . O P T I M I Z E F O R D . P A R A M E T E R I Z A T I O N F O R C E D A n s w e r : C
8 1 . 你 的 任 务 是 写 一 个 要 选 择 1 0 0 万 行 的 查 询 语 句 , 你 必 须 要 优 化 这 个 查 询 语 句 , 尽 可 能快 地 返 回 最 前 面 的 5 0 行 。 你 应 该 使 用 什 么 查 询 提 示 ? A . F A S T 5 0 B . M A X D O P 5 0 C . O P T I M I Z E F O R @ R O W S = 5 0
D . T A B L E H I N T ( t a b l e , I N D E X ( 5 0 ) ) A n s w e r : A
8 2 . 你 有 以 下 的 查 询 :
S E L E C T E m p l o y e e I D , M a n a g e r I D , L o g i n I D F R O M d b o . E m p l o y e e s
W H E R E M a n a g e r I D = 1 5 0 0 O R D E R B Y M a n a g e r I D ;
你 的 任 务 是 强 制 这 个 查 询 使 用 如 图 所 示 的 执 行 计 划 ,你 需 要 使 用 合 适 的 提 示 来 完 成 这 个任 务 , 你 应 该 使 用 什 么 提 示 ?
A .I N D E X ( 0 ) B . I N D E X ( 1 )
C . I N D E X ( P K _ E m p l o y e e s ) D . I N D E X ( I X _ E m p l o y e e s ) A n s w e r : D
8 3 . 你 工 作 的 S Q L S e r v e r 2 0 0 8 服 务 器 实 例 配 置 的 是 L a t i n 1 _ G e n e r a l _
第 32 页
C S _ A S 排 序 规 则 , 数 据库 创 建 语 句 如 下 :.
CREATE DATABASE TestDB COLLATE Estonian_CS_AS; GO
USE TestDB; GO
CREATE TABLE TestPermTab (PrimaryKey int PRIMARY KEY, Col1 nchar ); 以 下 的 代 码 使 用 了 一 个 临 时 表 # T e s t T e m p T a b u s e T e s t D B ; G O
CREATE TABLE #TestTempTab (PrimaryKey int PRIMARY KEY, Col1 nchar );
INSERT INTO #TestTempTab SELECT * FROM TestPermTab;
你 需 要 辨 别 出 临 时 表 # T e s t T e m p T a b 上 使 用 的 是 哪 种 排 序 规 则 ? A . 没 有 排 序 规 则 B . E s t o n i a n _ C S _ A S C . L a t i n 1 _ G e n e r a l _ C S _ A S
D . 由 服 务 器 本 地 W i n d o w s 系 统 选 择 的 排 序 规 则 A n s w e r : C
8 4 . 你 有 一 个 表 P e r s o n , 其 中 有 一 个 n v a r c h a r 型 的 列 S u r n a m e 。当 前 P e r s o n 表 在 P e r s o n I D 上 有一 个 聚 集 索 引 。S u r n a m e 含 有 R u s s i a n 和 J a p a n e s e 字 符 。下 面 的 代 码 片 段 用 来 检 索 S u r n a m e 。 I F @ l a n g = ' R u s s i a n '
S E L E C T P e r s o n I D , S u r n a m e F R O M P e r s o n
W H E R E S u r n a m e = @ S e a r c h N a m e C O L L A T E C y r i l l i c _ G e n e r a l _ C I _ A S
i f @ l a n g = ' J a p a n e s e '
S E L E C T P e r s o n I D , S u r n a m e F R O M P e r s o n
W H E R E S u r n a m e = @ S e a r c h N a m e C O L L A T E J a p a n e s e _ C I _ A S _ K S 对 于 上 面 的 查 询 , 你 需 要 使 S Q L S e r v e r 能 够 执 行 索 引 检 索 , 你 应 该 怎 么 做 ?
A . 在 S u r n a m e 列 上 创 建 索 引
B . 为 每 个 排 序 规 则 创 建 计 算 列 。 在 S u r n a m e 列 上 创 建 索 引 。 C . 为 每 个 排 序 规 则 创 建 计 算 列 。 在 计 算 列 上 创 建 索 引 。
D . 为 每 个 排 序 规 则 创 建 新 列 , 并 且 从 S u r n a m e 拷 贝 数 据 。 为 每 个 新 列 创 建 索 引 。 A n s w e r : C
8 5 . 你 有 一 个 应 用 程 序 ,用 户 遍 布 世 界 各 地 。所 有 的 用 户 都 使 用 W i n d o w s 身 份 验 证 连 接 。对 用 户 来 讲 , 你 需 要 确 保 系 统 和 用 户 自 定 义 的 错 误 信 息 是 用 本 地 化 的 语 言 显 示 。 你 应 该如 何 做 ? 选 择 两 项 。 A . 使 用 @ @ L A N G U A G E 函 数 。 B . 对 于 每 个 登 录 使 用 默 认 语 言 。
C. 对 s p _ a d d m e s s a g e 使 用 @ l a n g 参 数
D . 对 s p _ c o n f i g u r e 使 用 \l a n g u a g e \选 项 。 A n s w e r : B C
8 6 . 你 的 服 务 器 排 序 规 则 是 S Q L _ L a t i n 1 _ G e n e r a l _ C P 1 _ C I _ A S 。 你 的 数 据 库 C o n t o s o 设 置 的 排 序 规 则 是 S Q L _ S c a n d i n a v i a n _ C p 8 5 0 _ C
第 33 页
I _ A S 。 你 使 用 下 面 的语 句 创 建 了 一 个 临 时 表 # P e r s o n , 并 把 C o n t o s o 数 据 库 中 d b o . P e r s o n 表 的 数 据 填 充 到# P e r s o n 。 u s e M y D B ;
C R E A T E T A B L E # P e r s o n ( L a s t N a m e n c h a r ( 1 2 8 ) ) ;
I N S E R T I N T O # P e r s o n S E L E C T L a s t N a m e F R O M d b o . P e r s o n ; 然 后 你 运 行 以 下 的 命 令 :
S E L E C T * F R O M d b o . P e r s o n a J O I N # P e r s o n b O N a . L a s t N a m e = b . L a s t N a m e ; 这 个 命 令 返 回 以 下 的 错 误 :
不 能 解 决 排 序 规 则 \_ L a t i n 1 _ G e n e r a l _ C P 1 _ C I _ A S \和 \_ S c a n d i n a v i a n _ C p 8 5 0 _ C I _ A S \之 间 的 等 于 操 作 冲 突
你 需 要 解 决 这 个 排 序 规 则 冲 突 。 你 应 该 使 用 哪 个 T - S Q L 语 句 ? A . C R E A T E T A B L E # P e r s o n ( L a s t N a m e n v a r c h a r ( 1 2 8 ) S P A R S E ) ; B . C R E A T E T A B L E # P e r s o n ( L a s t N a m e n v a r c h a r ( 1 2 8 ) C O L L A T E d a t a b a s e _ d e f a u l t ) ;
C . C R E A T E T A B L E # P e r s o n ( L a s t N a m e n v a r c h a r ( 1 2 8 ) C O L L A T E S Q L _ L a t i n 1 _ G e n e r a l _ C P 1 _ C I _ A S ) ;
D . C R E A T E T A B L E t m p P e r s o n ( L a s t N a m e n v a r c h a r ( 1 2 8 )
C O L L A T E S Q L _ L a t i n 1 _ G e n e r a l _ C P 1 _ C I _ A S ) ; A n s w e r : B
8 7 . 你 有 一 个 S Q L S e r v e r 2 0 0 8 数 据 库 。 你 还 没 有 安 装 M A P I 客 户 端 。 你 需 要 从 存 储 过 程中 发 送 邮 件 。 你 应 该 使 用 哪 个 系 统 存 储 过 程 ?
A . x p _ s e n d m a i l B . x p _ s t a r t m a i l C . s p _ s e n d _ d b m a i l D . s y s m a i l _ s t a r t _ s p A n s w e r : C
8 8 . 你 使 用 数 据 库 邮 件 来 发 送 邮 件 , 但 是 有 一 个 公 司 员 工 并 没 有 收 到 邮 件 。 你 需 要 知 道数 据 库 邮 件 发 送 的 邮 件 是 否 发 送 成 功 , 你 应 该 使 用 m s d b 数 据 库 的 哪 个 对 象 ? A . m s d b . d b o . s y s m a i l _ e v e n t _ l o g B . m s d b . d b o . s y s m a i l _ s e n t i t e m s C . m s d b . d b o . s y s m a i l _ u n s e n t i t e m s D . m s d b . d b o . s y s m a i l _ f a i l e d i t e m s A n s w e r : D
8 9 . 你 任 务 的 是 删 除 大 量 的 已 经 发 送 的 数 据 库 邮 件 。 你 需 要 删 除 所 有 发 送 超 过 一 个 月 的 邮 件 。 你 应 该 运 行 哪 个 T - S Q L 语 句 ? A . D E C L A R E @ O n e M o n t h A g o d a t e t i m e = D A T E A D D ( m m , - 1 , G E T D A T E ( ) ) E X E C m s d b . d b o . s y s m a i l _ d e l e t e _ l o g _ s p @ O n e M o n t h A g o
B . D E C L A R E @ O n e M o n t h A g o d a t e t i m e = D A T E A D D ( m m , - 1 , G E T D A T E ( ) ) E X E C m s d b . d b o . s y s m a i l _ d e l e t e _ m a i l i t e m s _ s p @ O n e M o n t h A g o
C . D E C L A R E @ O n e M o n t h A g o d a t e t i m e = D A T E A D D ( m m , - 1 , G E T D A T E ( ) ) E X E C m s d b . d b o . s y s m a i l _ d e l e t e _ l o g _ s p @ O n e M o n t h A g o , ' S u c c e s s '
D . D E C L A R E @ O n e M o n t h A g o d a t e t i m e = D A T E A D D ( m m , - 1 , G E T D A T E ( ) ) E X E C m s d b . d b o . s y s m a i l _ d e l e
第 34 页
t e _ m a i l i t e m s _ s p @ O n e M o n t h A g o , ' S e n t ' A n s w e r : D
9 0 . 你 有 一 个 表 B o o k s , 表 里 有 B o o k T i t l e 和 D e s c r i p t i o n 列 。 在 这 两 列 上 有 全 文 索 引 。 你需 要 返 回 所 有 B o o k s 表 中 在 这 两 列 上 含 有 单 词 ' c o m p u t e r ' 的 行 。 你 应 该 使 用 什 么 代 码 段 ?
A . S E L E C T * F R O M B o o k s W H E R E F R E E T E X T ( * , ' c o m p u t e r ' ) B . S E L E C T * F R O M B o o k s
W H E R E B o o k T i t l e L I K E ' % c o m p u t e r % ' C . S E L E C T * F R O M B o o k s
W H E R E B o o k T i t l e = ' % c o m p u t e r % ' O R D e s c r i p t i o n = ' % c o m p u t e r % ' D . S E L E C T * F R O M B o o k s
W H E R E F R E E T E X T ( B o o k T i t l e , ' c o m p u t e r ' ) A n s w e r : A
9 1 . 为 了 忽 略 特 定 的 词 语 , 你 需 要 配 置 全 文 检 索 , 你 应 该 使 用 全 文 检 索 哪 个 组 件 ?
A . i F i l t e r B . S t o p l i s t ( 非 索 引 字 表 ) C . T h e s a u r u s f i l e D . W o r d b r e a k e r s A n s w e r : B
9 2 . 贵 公 司 制 造 和 销 售 自 行 车 部 件 。I n v e n t o r y( 库 存 )表 里 有 P a r t N a m e 和 D e s c r i p t i o n 列 。I n v e n t o r y 表 上 有 全 文 目 录 。 你 使 用 全 文 字 典 来 扩 展 常 见 的 自 行 车 术 语 , 需 要 写 一 个 全 文查 询 , 不 仅 要 返 回 精 确 匹 配 的 单 词 , 也 要 返 回 意 思 相 同 的 单 词 。 A . S E L E C T * F R O M I n e n t o r y
W H E R E F R E E T E X T ( * , ' c y c l e ' ) ) B . S E L E C T * F R O M I n v e n t o r y
W H E R E C O N T A I N S ( * , ' c y c l e ' ) C . S E L E C T * F R O M I n v e n t o r y
W H E R E D e s c r i p t i o n L I K E ' % c y c l e % ' D . S E L E C T * F R O M I n v e n t o r y
W H E R E C O N T A I N S ( * , ' F o r m s O f ( I n f l e c t i o n a l , c y c l e ) ' ) A n s w e r : A
注 : F R E E T E X T : 匹 配 精 确 的 单 词 、 同 义 词 、 派 生 词 。
9 3 . 贵 公 司 生 产 和 销 售 保 龄 球 。 在 P r o d c u t s ( 产 品 ) 表 上 有 一 个 全 文 目 录 f t C a t a l o g , 全文 目 录 上 有 一 个 全 文 索 引 f t I n v e n t o r y 。 市 场 部 刚 刚 向 I n v e n t o r y ( 库 存 ) 表 插 入 了 一 个 新的 保 龄 球 , 你 注 意 到 仅 仅 这 个 新 的 保 龄 球 没 有 包 含 在 全 文 检 索 的 结 果 里 , 你 已 确 信 在P r o d u c t s 表 存 在 此 行 。 你 需 要 在 最 短 的 时 间 内 更 新 全 文 目 录 , 你 应 该 使 用 哪 个 T - S Q L 语句 ?
A. ALTER FULLTEXT INDEX ON ftInventory START FULL POPULATION B. ALTER FULLTEXT INDEX ON ftInventory RESUME POPULATION
C. ALTER FULLTEXT INDEX ON ftInventory START UPDATE POPULATION D. ALTER FULLTEXT CATALOG ftCatalog REBUILD A n s w e r : C
9 4 . 你 一 个 服 务 器 C o n t o s o ,服 务 器 里 有 多 个 数 据 库 。你 的 任 务 是 写 一 个 命 令 行 脚 本 来 决定 服 务 器 中 哪 个 数 据 库 超 过 了 1 0 0 G B 。 你 从 S Q L S e r v e r 管 理 器 打 开 命 令 行 , 创 建 了 以 下两 个 变 量 :
P S S Q L S E R V E R : \\ S Q L \\ C o n t o s o > $ M u l t i p l e O f G B = 1 0 2 4 * 1 0 2 4
第 35 页