SQLServerの面接に関する上位の質問と回答[新入生2022の場合]

公開: 2021-01-04

SQLServerベースのインタビューでよくある質問のいくつかを見てみましょう。 また、必要に応じて、SQLクエリの例とSQLインタビューの質問と回答を含めます。

SQLServerインタビューの質問と回答

質問1:SQLとは何ですか?

SQLまたはStructuredQueryLanguageは、リレーショナルデータベース管理システム(RDBMS)の管理と整理に使用される標準のコンピュータープログラミング言語です。 これは、保存、操作、および保存されたデータへのアクセスの取得、つまりリレーショナルデータベースとの通信に使用されます。 最も一般的なRDBMSはSQLを利用しており、これにはSQL Server、MySQL、およびOracleが含まれます。

SQLの実行単位またはステートメントは、クエリと呼ばれます。 SQLクエリを使用して、データを作成、選択、または変更できます。

リレーショナルデータベース管理システムでは、データの整理されたファイルがテーブルの形式で保存されます。 各テーブルは列と行で構成されています。

質問2:SQL Serverでデータベースを作成するためのSQLクエリとは何ですか?

SQLのデータベースは、テーブル、コード関数、スキーマなどで構成されるデータの組織化されたコレクションです。プログラマーは、このデータベースを作成したり、さまざまなクエリ言語を使用して操作したりできます。

SQLサーバーに新しいデータベースを作成するには、次のSQLコマンドを使用します。

CREATE DATABASE DatabaseName

読む:フルスタックインタビューの質問

質問3:SQLでテーブルを作成するにはどうすればよいですか?

テーブルは、ユーザーがデータを保存および取得できるようにするSQLのオブジェクトです。 このデータは表形式で保存され、各テーブルは列と行で構成されます。

SQLサーバーに新しいテーブルを作成するには、次のSQLコマンドを使用します。

テーブルTableName(columnName1データ型、columnName2データ型)を作成します

質問4:SQLプロファイラーとは何ですか?

SQL Profilerは、システム管理者がSQLサーバーのイベントを追跡するための手段です。 これは主に、イベントのキャプチャおよび保存されたデータファイルの分析に使用されます。

質問5:再帰ストアドプロシージャとは何かを例を挙げて説明してください。

SQLServerの再帰的なストアドプロシージャを呼び出す必要はありません。 境界条件に達するまで、それ自体で呼び出します。 ストアドプロシージャでは、最大32のネストレベルが可能です。 これは再帰として知られています。

再帰的なストアドプロシージャを使用すると、プログラマーは同じバッチのコードをn回使用できます。

例を挙げると、ツリーの関係を拡張したり、階乗アルゴリズムを計算したりする必要がある場合は、ストアドプロシージャで復帰を使用できます。 数値の階乗を計算する方法の例を次に示します。

CREATEPROCEDURE[dbo]。[Factorial_ap]

((

@Number Integer、

@RetVal整数出力

)。

なので

DECLARE @In Integer

DECLARE @Out Integer

IF @Number!= 1

始める

SELECT @In = @Number – 1

EXEC Factorial_ap @ In、@ Out OUTPUT

SELECT @RetVal = @Number * @Out

終わり

そうしないと

始める

SELECT @RetVal = 1

終わり

戻る

行く

質問6:ローカル一時テーブルとグローバル一時テーブルの違いをリストしてください。

ローカル一時テーブルの可視性は、接続がある限り持続します。 接続が閉じられると、サーバーはこれらのテーブルを自動的に削除します。

ローカル一時テーブルは、テーブル名の前に#で示されます。

ローカル一時テーブルを作成するための構文は次のとおりです。

CREATE TABLE#<テーブル名>

((

column1データ型[NULL| NOT NULL]、

column2データ型[NULL| NOT NULL]、

);

グローバル一時テーブルは、すべてのユーザーがアクセスおよび表示できます。 SQL Serverセッションが終了すると、SQLServerはそれらを削除します。 これは、テーブルを参照しているすべてのユーザーがセッションから切断されたときに発生します。

ローカル一時テーブルは、テーブル名の前に##を使用して示されます

グローバル一時テーブルを作成するための構文は次のとおりです。

CREATE TABLE##<テーブル名>

((

column1データ型[NULL| NOT NULL]、

column2データ型[NULL| NOT NULL]、

);

質問7:SQLでのパターンマッチングについて説明してください。

SQLのパターンマッチングを使用すると、プログラマーは単一の文字を照合する目的でアンダースコア記号(_)を使用できます。 また、パーセント記号(%)を使用して、任意の数の文字を照合することもできます。 これには、ゼロ文字も含まれます。 MySQLではSQLパターンで大文字と小文字が区別されないことに注意してください。

質問8:トリガーとは何ですか? トリガーには何種類ありますか?

トリガーは、SQLコードのバッチをチェックするために使用される特殊な種類のストアドプロシージャです。 これらは、テーブルのデータが変更されると自動的に実行または「トリガー」されます。

トリガーには2つのタイプがあります。 彼らです:

  1. データ操作言語(DML)および
  2. データ定義言語(DDL)

これらのクエリのいずれかを使用してデータを変更すると、一連のコマンドがトリガーされます。 DMLコマンドイベントを使用すると、Insert、Delete、Update、および代わりにが起動されます。 DDLを使用すると、トリガーCreate、Alter、およびDropがトリガーされます。

また読む: PHPインタビューの質問と回答

質問9:COALESCEを定義しますか?

関数の引数内の最初のnull以外の式は、COALESCEを使用して返されます。 引数の1つ以上の列を読み取って、null以外の式をチェックできます。

構文は–

従業員からCOALESCE(emp_num、emp_name、salary)を選択します。

質問10.CDCとは何ですか?

SQL Server 2008の機能であるCDCまたは変更データキャプチャを使用して、最近変更されたデータをキャプチャできます。

質問11:SQLテーブルのレコード数のカウントを取得するために使用されるクエリは何ですか?

次のクエリを使用して、テーブル内のレコードの数を取得できます。

<テーブル名>から*を選択

<テーブル名>からcount(*)を選択します

id=OBであるsysindexesから行を選択します

JECT_ID(テーブル名)およびindid <2

質問12:SQLServerのSUBSTR関数とCHARINDEX関数の違いを説明してください。

SUBSTR関数は、プログラマーの指示に従って、文字列の指定された部分を返します。 一方、CHARINDEX関数は、指定された文字列内の指定された文字の位置を返すために使用されます。

例えば:

SUBSTRING('Apple'、1,4)

–出力はApplになります

CHARINDEX('l'、'Apple'、1)

–文字lは指定された文字列の4番目の位置にあるため、出力は4になります。

質問13:SQLインジェクションとは何ですか?

SQLインジェクションは、コードの文字列内に挿入された悪意のあるコードを使用してSQLサーバーがユーザーによって攻撃されるデータベースの脆弱性の1つです。 目的は、悪意のあるコードの解析と実行を送信することです。 したがって、パラメータでさえ攻撃のリスクがあるため、すべてのステートメントに脆弱性を確認する必要があります。

質問14:SQLインジェクション攻撃を回避するために使用できる方法は何ですか?

SQLインジェクション攻撃からSQLサーバーを保護するには、次の4つの方法を使用できます。

–パラメーターはSQLインジェクション攻撃のリスクが低いため、ストアード・プロシージャーに使用することをお勧めします。

–入力パラメーターをフィルター処理することをお勧めします。

–動的SQLを使用したパラメーター収集を使用できます。

–Like句でエスケープ文字を使用します。

質問15:SQLServerの2つの認証モードを説明します。 それらはどのように変更できますか?

SQLServerの2つの認証モードは次のとおりです。

–Windowsモード

- ミックスモード

SQL Serverの構成設定の[セキュリティ]ページには、モードを変更するためのツールメニューがあります。

質問16:SQLデータベースのさまざまな種類のコマンドは何ですか?

回答:SQLServerには4種類のコマンドがあります。 それらは次のように分類されます。

  1. データ定義言語(DDL)
  2. データ制御言語トランザクション制御言語(TCL)トランザクション制御言語(TCL)
  3. データ操作言語(DML)
  4. トランザクション制御言語(TCL)

世界のトップ大学からソフトウェア開発コース取得します。 エグゼクティブPGプログラム、高度な証明書プログラム、または修士プログラムを取得して、キャリアを早急に進めましょう。

結論

SQLServerの質問と回答のガイドがお役に立てば幸いです。 ガイドは定期的に更新され、最新の状態に保たれます。

SQL、フルスタック開発の詳細に興味がある場合は、upGrad&IIIT-Bのフルスタックソフトウェア開発のエグゼクティブPGプログラムをチェックしてください。これは、働く専門家向けに設計されており、500時間以上の厳格なトレーニング、9以上のプロジェクトを提供します。および割り当て、IIIT-B卒業生のステータス、実践的な実践的なキャップストーンプロジェクト、およびトップ企業との雇用支援。

フルスタック開発者になる

ソフトウェアエンジニアリングの修士号を今すぐ申し込む