Microsoft Querying Data with Transact-SQL (70-761日本語版) - 70-761日本語 Exam Practice Test
注:この質問は、同じシナリオを提示する一連の質問の一部です。 シリーズの各質問には、上記の目標を達成できる独自の解決策が含まれています。 いくつかの質問セットには1つ以上の正しい解決策があるかもしれないが、他の質問セットには正しい解決策がないかもしれない。
このセクションの質問に答えた後。 あなたはそれに戻ることはできません。 その結果、これらの質問はレビュー画面に表示されません。
あなたは、あなたの会社が販売している製品に関する情報を格納するProductsという名前のテーブルを持っています。テーブルには、製品の小売価格情報を格納するListPriceという名前の列があります。
一部の製品は、社内でのみ使用されます。これらの製品の記録は、目録の目的で製品表に保持されます。これらの製品の価格はそれぞれ$ 0.00です。 お客様はこれらの製品を注文することはできません。
$ 100よりも10%安い製品の定価を引き上げる必要があります。顧客が発注できる製品の価格を引き上げるだけで済みます。
解決策:次のTransact-SQLステートメントを実行します:

解決策は目標を達成していますか?
このセクションの質問に答えた後。 あなたはそれに戻ることはできません。 その結果、これらの質問はレビュー画面に表示されません。
あなたは、あなたの会社が販売している製品に関する情報を格納するProductsという名前のテーブルを持っています。テーブルには、製品の小売価格情報を格納するListPriceという名前の列があります。
一部の製品は、社内でのみ使用されます。これらの製品の記録は、目録の目的で製品表に保持されます。これらの製品の価格はそれぞれ$ 0.00です。 お客様はこれらの製品を注文することはできません。
$ 100よりも10%安い製品の定価を引き上げる必要があります。顧客が発注できる製品の価格を引き上げるだけで済みます。
解決策:次のTransact-SQLステートメントを実行します:

解決策は目標を達成していますか?
Correct Answer: B
Vote an answer
次の表を含むデータベースがあります。
HumanResources.Employee

Sales.SalesPerson

HumanResources.Employeeテーブルの行数は2,500、Sales.SalesPersonテーブルの行数は2,000です。
次のTransact-SQLステートメントを確認します:

クエリのパフォーマンスへの影響を判断する必要があります。
Sales.SalesPersonテーブルの主キーインデックスで検索が何回行われますか?
HumanResources.Employee

Sales.SalesPerson

HumanResources.Employeeテーブルの行数は2,500、Sales.SalesPersonテーブルの行数は2,000です。
次のTransact-SQLステートメントを確認します:

クエリのパフォーマンスへの影響を判断する必要があります。
Sales.SalesPersonテーブルの主キーインデックスで検索が何回行われますか?
Correct Answer: B
Vote an answer
注:この質問は、同じシナリオを使用する一連の質問の一部です。 あなたの便宜のために、シナリオは各質問で繰り返されます。 各質問は異なる目標と答えの選択を提示しますが、シナリオのテキストはこのシリーズの各質問でまったく同じです。
2つのテーブルを含むデータベースを照会します。プロジェクトとタスクです。 プロジェクトテーブルには、次の列があります。


操作を実行しているときに、Projectテーブル内のいくつかのレコードについてEndTimeという名前の列を更新しましたが、Taskテーブル内の対応するタスクレコードへの更新に失敗しました。
タスクテーブルのEndTime列の値とプロジェクトテーブルのEndTime列の値を同期させる必要があります。 ソリューションは以下の要件を満たす必要があります。
* EndTime列に値がある場合は、レコードを変更しないでください。
* EndTime列の値がnullで、対応するプロジェクトレコードが完了とマークされている場合は、プロジェクトの終了時間でレコードを更新します。
ソリューションを開発するためにどの4つのTransact-SQLセグメントを使用する必要がありますか? 回答するには、適切なTransact-SQLセグメントをTransact-SQLセグメントのリストから回答領域に移動して正しい順序で配置します。

2つのテーブルを含むデータベースを照会します。プロジェクトとタスクです。 プロジェクトテーブルには、次の列があります。


操作を実行しているときに、Projectテーブル内のいくつかのレコードについてEndTimeという名前の列を更新しましたが、Taskテーブル内の対応するタスクレコードへの更新に失敗しました。
タスクテーブルのEndTime列の値とプロジェクトテーブルのEndTime列の値を同期させる必要があります。 ソリューションは以下の要件を満たす必要があります。
* EndTime列に値がある場合は、レコードを変更しないでください。
* EndTime列の値がnullで、対応するプロジェクトレコードが完了とマークされている場合は、プロジェクトの終了時間でレコードを更新します。
ソリューションを開発するためにどの4つのTransact-SQLセグメントを使用する必要がありますか? 回答するには、適切なTransact-SQLセグメントをTransact-SQLセグメントのリストから回答領域に移動して正しい順序で配置します。

Correct Answer:

Explanation

Box 1: UPDATE T SET T.EndTime = P.EndTime
We are updating the EndTime column in the Task table.
Box 2: FROM Task AS T
Where are updating the task table.
Box 3:INNER JOIN Project AS P on T.ProjectID = P.ProjectID
We join with the Project table (on the ProjectID columnID column).
Box 4: WHERE P.EndTime is NOT NULL AND T.EndTime is NULL
We select the columns in the Task Table where the EndTime column in the Project table has a value (NOT NULL), but where it is NULL in the Task Table.
References: https://msdn.microsoft.com/en-us/library/ms177523.aspx
注:この質問は、同じまたは類似の回答の選択肢を使用する一連の質問の一部です。 回答の選択肢は、シリーズの複数の質問に対して正しいかもしれません。 各質問は、このシリーズの他の質問とは独立しています。 質問で提供される情報と詳細は、その質問にのみ適用されます。
複数のプロセスは、Salesという名前のテーブルのデータを使用し、組織内の他のデータベースに配置します。 一部のプロセスでは、Salesテーブルのデータ型を完全に知りません。これにより、データ型変換エラーが発生します。
エラーをスローするのではなく、データの変換に失敗し、NULL値を返す方法が必要です。
あなたは何を実装すべきですか?
複数のプロセスは、Salesという名前のテーブルのデータを使用し、組織内の他のデータベースに配置します。 一部のプロセスでは、Salesテーブルのデータ型を完全に知りません。これにより、データ型変換エラーが発生します。
エラーをスローするのではなく、データの変換に失敗し、NULL値を返す方法が必要です。
あなたは何を実装すべきですか?
Correct Answer: H
Vote an answer
Explanation: Only visible for PassTestking members. You can sign-up / login (it's free).
注:この質問は、同じまたは類似の回答の選択肢を使用する一連の質問の一部です。 回答の選択肢は、シリーズの複数の質問に対して正しいかもしれません。 各質問は、このシリーズの他の質問とは独立しています。 質問で提供される情報と詳細は、その質問にのみ適用されます。
いくつかの接続されたテーブルを含むデータベースがあります。 この表には、米国内の顧客の販売データのみが含まれています。
次のデータベースの部分クエリがあります。 (行番号は参照用にのみ記載されています)。

次の表に示す出力を生成するには、クエリを完了する必要があります。

どのステートメント節を3行目に追加しますか?
いくつかの接続されたテーブルを含むデータベースがあります。 この表には、米国内の顧客の販売データのみが含まれています。
次のデータベースの部分クエリがあります。 (行番号は参照用にのみ記載されています)。

次の表に示す出力を生成するには、クエリを完了する必要があります。

どのステートメント節を3行目に追加しますか?
Correct Answer: H
Vote an answer
次のテーブルを含むデータベースがあります。

すべての顧客IDと各顧客が最後に注文した日付のリストを作成する必要があります。 顧客が注文をしていない場合は、1900年1月1日の日付を返す必要があります。列名はCustomerIDとLastOrderDateでなければなりません。
ソリューションを開発するためにどの4つのTransact-SQLセグメントを使用する必要がありますか? 回答するには、適切なTransact-SQLセグメントをTransact-SQLセグメントのリストから回答領域に移動して正しい順序で配置します。


すべての顧客IDと各顧客が最後に注文した日付のリストを作成する必要があります。 顧客が注文をしていない場合は、1900年1月1日の日付を返す必要があります。列名はCustomerIDとLastOrderDateでなければなりません。
ソリューションを開発するためにどの4つのTransact-SQLセグメントを使用する必要がありますか? 回答するには、適切なTransact-SQLセグメントをTransact-SQLセグメントのリストから回答領域に移動して正しい順序で配置します。

Correct Answer:

Explanation

Box 1: SELECT..COALESCE...
The COALESCE function evaluates the arguments in order and returns the current value of the first expression that initially does not evaluate to NULL.
Box 2: ..LEFT OUTER JOIN..
The LEFT JOIN (LEFT OUTER JOIN) keyword returns all rows from the left table (table1), with the matching rows in the right table (table2). The result is NULL in the right side when there is no match. A customer might have no orders so the right table must be allowed have a NULL value.
Box 3: ON c.custid = o.custid
We JOIN on the custID column, which is available in both tables.
Box 4: GROUP BY c.custid
References:
https://technet.microsoft.com/en-us/library/ms189499(v=sql.110).aspx
http://www.w3schools.com/sql/sql_join_left.asp
次のTransact-SQLステートメントを実行して、Sales.Ordersという名前のテーブルを作成します。

次の要件を満たすクエリを書く必要があります。
- 2012年1月1日より前に行われた注文をテーブルから削除する
- YYYYMMDDの日付フォーマットを使用
- レコードを削除する前に注文が出荷されたことを確認します。
以下のガイドラインを使用してクエリを構築します。:
- 1部構成のカラム名と2部構成のテーブル名を使用する
- 機能を使用しない
- オブジェクト名を角括弧で囲まないでください。
- 変数を使わない
- 列名と表名に別名を使用しない

正しいTransact-SQLの一部は、以下の回答領域にあります。 問題を解決し、記載されている目標または要件を満たすコードを回答領域に入力します。 提供されているコード内およびその下にコードを追加できます。

あなたの仕事を確かめるためにCheck Syntaxボタンを使ってください。 構文エラーやスペルミスは、行と文字の位置によって報告されます。

次の要件を満たすクエリを書く必要があります。
- 2012年1月1日より前に行われた注文をテーブルから削除する
- YYYYMMDDの日付フォーマットを使用
- レコードを削除する前に注文が出荷されたことを確認します。
以下のガイドラインを使用してクエリを構築します。:
- 1部構成のカラム名と2部構成のテーブル名を使用する
- 機能を使用しない
- オブジェクト名を角括弧で囲まないでください。
- 変数を使わない
- 列名と表名に別名を使用しない

正しいTransact-SQLの一部は、以下の回答領域にあります。 問題を解決し、記載されている目標または要件を満たすコードを回答領域に入力します。 提供されているコード内およびその下にコードを追加できます。

あなたの仕事を確かめるためにCheck Syntaxボタンを使ってください。 構文エラーやスペルミスは、行と文字の位置によって報告されます。
Correct Answer:
DELETE Sales.Orders
FROM Sales.Orders
WHERE OrderDate < '20120101' AND ShippedDate IS NOT NULL
FROM Sales.Orders
WHERE OrderDate < '20120101' AND ShippedDate IS NOT NULL
注:この質問は、同じまたは類似の回答の選択肢を使用する一連の質問の一部です。 回答の選択肢は、シリーズの複数の質問に対して正しいかもしれません。 各質問は、このシリーズの他の質問とは独立しています。 質問で提供される情報と詳細は、その質問にのみ適用されます。
いくつかの接続されたテーブルを含むデータベースがあります。 この表には、米国内の顧客の販売データのみが含まれています。
次のデータベースの部分クエリがあります。 (行番号は参照用にのみ記載されています)。

次の表に示す出力を生成するには、クエリを完了する必要があります。

どのステートメント節を3行目に追加しますか?
いくつかの接続されたテーブルを含むデータベースがあります。 この表には、米国内の顧客の販売データのみが含まれています。
次のデータベースの部分クエリがあります。 (行番号は参照用にのみ記載されています)。

次の表に示す出力を生成するには、クエリを完了する必要があります。

どのステートメント節を3行目に追加しますか?
Correct Answer: C
Vote an answer
Explanation: Only visible for PassTestking members. You can sign-up / login (it's free).