🚀 SQL入門「最初のクエリ」
今回は、SQL Server Management Studio (SSMS) を使って、SELECT文を書き、実行します。
💻 準備:SSMSで新しいクエリウィンドウを開く
SQLを書くには、まずどのデータベースに命令を送るか指定する必要があります。
SSMSを開き、サーバーに接続されていることを確認します。
左側のオブジェクトエクスプローラーから、練習用データベース(例:
Adventureworks 2012)をクリックします。画面上部の「新しいクエリ」ボタン(またはCtrl+N)をクリックします。
👉 ポイント: これで、開いたクエリウィンドウが自動的に選択したデータベースに接続されます。ウィンドウ上部で接続先のデータベース名を確認できます。
📝 第1章:テーブルを使わない「リテラル文」とは?
私たちが最初に学ぶのは、「リテラル (Literal) SELECT文」です。
これは、データベースのテーブルを直接参照しない SELECT 文のことです。代わりに、文字列(テキスト)や計算の結果をそのまま表示させます。
1-1. 文字列(テキスト)を表示する
「自分の名前」や「Hello World」を表示してみましょう。
SELECT 'AAA'
-- 実行結果は「AAA」
1-2. 複数の列(カラム)を作る
コンマ , を使うと、結果を複数の列に分けて表示できます。コンマは「ここで区切って、次の列を出すよ」というサインです。
SELECT 'AAA', 'BBB', 'CCC'
-- 実行結果は、3つの列(AAA | BBB | CCC)に分かれる
🔢 第2章:リテラル文で「計算」をする
SQLは、電卓のように計算もできます。
2-1. 計算の実行
SELECT 1 + 1
-- 結果: 2
SELECT 5 * 5
-- 結果: 25
2-2. 🔢 演算の優先順位(括弧の重要性)
数学と同じく、SQLの計算でも「括弧」が最優先されます。
Parentheses (括弧)
Exponents (指数)
Multiplication (掛け算) & Division (割り算)
Addition (足し算) & Subtraction (引き算)
-- 括弧の中が先に計算される
SELECT (5 * 5) - (3 * 5)
-- 結果: (25) - (15) = 10
📊 第3章:基本の「SELECT...FROM」文でテーブルをクエリする
いよいよ、テーブルからデータを取り出す、最も基本的なSQLの形を学びます。
3-1. 基本構文
SELECT
[カラム名1], [カラム名2], ... -- ← 欲しい列をコンマで区切って指定
FROM
[スキーマ名].[テーブル名]; -- ← データの場所を指定
【例】Person.Personテーブルから、名と姓を取り出す
SELECT
FirstName, -- 1列目: 名
LastName -- 2列目: 姓
FROM
Person.Person; -- テーブルの指定
3-2. すべての列を取り出す(SELECT *)
「テーブルのすべての列を全部見たい!」という時に便利なのが、アスタリスク *(スター)です。
SELECT
* -- ★全列(ALL COLUMNS)を意味する
FROM
Production.Product;
⚠️ 注意: SELECT * は、テーブルの構造を確認したい時には非常に便利ですが、行数が数百万件もある巨大なテーブルで使うと、サーバーの負荷が高まり、実行速度が遅くなることがあります。
3-3. ⚡️ 行数を制限する「TOP」オペレーター
テーブル全体を見るのは危険!という時、表示する行数を制限できます。
-- テーブルの先頭から500行だけを返す
SELECT TOP 500
FirstName, MiddleName, LastName
FROM
Person.Person;
-- 全体の10%の行を返す
SELECT TOP 10 PERCENT
*
FROM
Person.Person;
🎨 第4章:結果を見やすくする「カラムエイリアス」
データベースの列名(例: FirstName)は、スペースがなく読みにくいことが多いです。
カラムエイリアス (Column Alias) は、結果パネルに表示される列名を、より分かりやすい名前に一時的に変更する機能です。
4-1. エイリアスの使い方
ASキーワードを使い、その後に新しい名前を指定します。
SELECT TOP 100
FirstName AS [Customer First Name], -- ASを使って、見やすい名前に変更
LastName AS "Customer Last Name" -- 二重引用符でもOK
FROM
Person.Person;
👉 注意: この変更は、あくまで結果画面上の表示名です。データベース内の実際のテーブルの列名が変わるわけではありません。
💡 第5章:テーブルに似た「ビュー(View)」とは?
オブジェクトエクスプローラーには、「テーブル」の他に「ビュー (View)」というフォルダがあります。
ビューは、複雑な結合(Join)などを書かなくても、必要な情報を整理された形で提供してくれる、便利な仮想テーブルだと考えてください。
ビューに対するクエリも、テーブルに対するクエリと全く同じ方法で書けます。
-- ヒューマンリソースの従業員ビュー (View) から全データを取得する例
SELECT *
FROM HumanResources.vEmployee;
これで、SQLの基本構文、文字列や計算の表示方法、そしてテーブルとビューからのデータ取得方法までを学びました。
