この記事では、最も基本的なSQLクエリから簡単なSQLクエリを作成し、スクリプトを徐々に改善して、数学や日付に関連する問題を解決する方法について説明します。さらに、SQLクエリを取り巻く概念を明確にします。
この記事は主に初心者を対象としていますが、あらゆる経験レベルに役立つヒントが含まれています。
データベースのSQLクエリとは何ですか?
執筆を実際に体験する前に、まずSQLクエリについて少し話して、SQLクエリを正しく理解しましょう。
SQLは構造化クエリ言語の略です これは、リレーショナルデータベースのクエリに使用される必須の言語です。
T-SQLとSQL–違いは何ですか?
T-SQLまたはTransact-SQLは、ANSISQLとも呼ばれる従来のSQL言語よりも多くの機能と機能を備えたMicrosoftバージョンのSQLです。
したがって、 T-SQLは従来のSQL言語に加えて、Microsoftによって追加されたものです。 SQLについて話すときに、より一般的に使用され、言及されます。
この記事では、SQLという単語を使用するかT-SQLという単語を使用するかにかかわらず、MicrosoftSQLのバージョンについて説明します。
リレーショナルデータベースでSQLクエリを使用する理由
リレーショナルデータベースは、テーブルを物理的に接続するのではなく、テーブルを接続するために使用されるキーを備えたデータベースです。
たとえば、 Bookというテーブルがあります。 BookTypeという別のテーブルにリンクします キーを使用して、レコードにさらに意味を追加します。
図の表は、キーを介してリンクされています。それらを物理的に接続する必要はありません。これがリレーショナルデータベースの基本的なルールです。キーを使用して2つのテーブル間にリレーションを作成します。
リレーショナルデータベースとNoSQLの比較もお読みください–ビッグデータ管理のために何を選択しますか?
データベースのクエリとは何ですか?
データベースにクエリを実行して、そのデータベースに関連する質問への回答を取得します。つまり、データベースに対してクエリを記述して、データベースに含まれるデータに関する情報を取得します。
たとえば、特定のデータベース内のすべての書籍レコードとそのタイプを表示することに関心があります。必要なデータを表示するには、そのデータベースにクエリを実行する必要があります。そのためには、データベースに対してスクリプトを作成して実行する必要があります。
クエリを実行するために何が必要ですか?
データベースをクエリするには、いくつかの前提条件が存在する必要があります。これは、どこに対してもクエリを記述して実行することはできないためです。
データベースのクエリには、次のものが必須です。
- データベースを保存するSQLServer(ローカルまたはリモートにインストール)などのデータベースサーバー。
- クエリの作成と実行に使用するSQLServerManagementStudioやdbForgeStudioforSQLServerなどのデータベース管理ツール
- クエリを実行するデータベース。学習目的で任意のサンプルデータベースを作成できます。
また、どのテーブルに必要な情報が含まれているかなど、データベースの基本を理解している必要があります。リレーショナルデータベースの概念を理解することもプラスです。
上記の要件をすでに満たしていることを前提としています。ただし、詳細については、次の記事を参照することもできます。
SQL Server Management Studio(SSMS)の基本–パート1
SQLでクエリを作成する前に行うべきこと
ここから、簡単なSQLクエリを作成します。
SQLクエリの記述を開始するための環境を設定してください。ツールを準備します。 dbForge Studio forSQLServerまたはSQLServerManagement Studioを開き、SQLインスタンスに接続します。ここからSQLの旅を始めます:
接続に成功したら、 CTRL + Nを押します。 または、ファイル>新規>現在の接続でクエリに移動します :
これで、現在接続されているサーバーのマスター(システムデータベース)に正常に接続されました。
重要なヒント: 常にサンプルデータベースを作成して、それに対してクエリ(スクリプト)を実行します。システムデータベースに対してクエリを実行することは、次の3つの場合を除いて、適切な方法ではありません。
- サンプルデータベースを操作すると、そのために作成されたスクリプトがシステム(マスター)データベースに対して実行されます。
- マスターデータベースに意図的にクエリを実行して、そこから情報を取得します。
- クエリはシステム(マスター)データベースに対して安全に実行できます。
サンプルデータベースのセットアップ
BookSimpleというサンプルデータベースを作成しましょう テーブルなし。マスターデータベースに対して次のスクリプトを記述してサンプルデータベースを作成し、 F5を押します。 クエリを実行するには:
-- Create sample database BookSimple
USE MASTER
GO
CREATE DATABASE BookSimple
GO
USE BookSimple
SQLクエリの背後にあるセットベースの概念
最も単純なSQLクエリを作成する直前に、SQLがセットベースの言語であることを理解する必要があります。
つまり、SQLを使用してデータベースにクエリを実行する場合は、セットまたはグループの観点から考える必要があります。
SQLは設計によるものであり、デフォルトではセットベースの要求を処理するのに非常に効率的です。セットベースのロジックを念頭に置いてスクリプト(クエリ)を設計すると、SQLを理解し、一般的な学習パス(独自の利点があります)に従うものよりも迅速に実装できます。
クラスやグループなど、自然に発生するセットについて考えてみましょう。クラスを指すときは、そのクラスのすべての生徒を指します。 SQLは、そのクラス全体のクエリに役立ちます。
同様に、本 本の表です。書籍のすべてのレコードが含まれています。まるで1冊の本について話しているかのようにそのテーブルにクエリを実行できますが、実際には、 Bookで表される本のテーブル全体にクエリを実行しています。 テーブル。
後でいくつかの基本的な例を検討するときに、セットベースの概念のより多くの利点がわかります。
単純なSQLSELECTステートメント
SELECTは、データベースから(基準に基づいて)すべてまたは選択された行と列を取得するT-SQLステートメントです。
つまり、 SELECT 特定の基準に基づいて、テーブルまたはテーブルの数からデータを表示(選択)できます。一般的に言及されていない場合は、すべてのデータが表示されます。
したがって、SELECTは、データベースから行と列を取得する場合に検索する最初のステートメントです。 SELECT構文の最も単純な形式は次のとおりです。
SELECT * FROM <Table>
学習プロセスを徐々に改善するために、時間とともに構文を変更することを忘れないでください。
SELECTステートメントを使用する別の方法は次のとおりです。
SELECT <Expression>
式には、次のようなさまざまなものがあります。
- 一定(1などの固定数など)。
- 変数(任意の数に変更できる@Xなど)。
- 定数または変数の組み合わせ(1 +2や@[email protected]など)。
ただし、SELECT<式>またはSELECT* FROM