0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

SQL Serverのクエリの書き方で学んだこと

Last updated at Posted at 2019-05-28

はじめに

SQL Serverに流すクエリの書き方で学んだことをまとめます。

可読性を高める書き方

・命令語(SELECT等)は小文字でもエラーにならないが、全て大文字で統一するべき

SELECT文

SELECT文の構文
SELECT ,.. FROM テーブル WHERE 条件式 ORDER BY 並び替え基準列

-列:抽出対象の列。
-テーブル:抽出対象のテーブル
-条件式:出力データの絞り込み条件
-並び替え基準列:この列の値を基準に並び替える。通常は昇順。オプションでDESCを指定すると降順。

○列にアスタリスクを指定すると全列指定になる
○条件式で使える比較演算子

比較演算子 意味
A = B A = Bか
A <> B A != Bか
A > B A > Bか
A < B A < Bか
A >= B A >= Bか
A <= B A <= Bか
A BETWEEN B AND C B <= A <= Cか
A LIKE '%B%' AにBの文字列が含まれるか
A IN (B,C,...) Aが括弧内の要素のどれかに一致するか

スカラ変数宣言から代入まで

宣言文の構文:
DECLARE @変数名 型名 = 代入値(代入部は省略可)
代入文の構文:
SET @変数名 = 代入値

-変数名:任意の変数名
-型名:INTやVARCHARなどの型を指定
-代入値:代入する値。ここにSELECT文を書く場合は括弧で囲む必要がある

○宣言文、代入文をSELECT文内に書くことはできない

CASE文の使い方

CASE文の構文(単純CASE式):
CASE 変数名 WHEN 比較値 THEN 出力値 ELSE 規定値 END
CASE文の構文(検索CASE式):
CASE WHEN 条件式 THEN 出力値 ELSE 規定値 END

-変数名:任意の変数名
-比較値:この値と変数名が一致すると条件成立
-出力値:条件に一致した時に出力する値
-規定値:どの条件にも当てはまらない時に出力する値
-条件式:条件式

○単純式は見やすく書きやすい。検索式は汎用性が高い

バインド変数

  • コロン(:)から始まる項目(Oracle等)やクエスチョンマーク(?)(他の言語)をプレースホルダと呼び、プレースホルダーを割り当てることをバインドと呼ぶ
  • データベース管理システムへSQL文を発行する際、一部を動的に変更できる変数にする機能のこと。その部分に後から代入や変更を行ってもSQL文の再生成や解釈をし直す必要がなく、高速に実行することができる

INSERT文

INSERT文の構文
INSERT INTO テーブル(,...) VALUES(,...)

-テーブル:値を挿入するテーブル
-列:挿入先の列
-値:挿入する値

○(列,...)部を省略するとテーブル内の全列を指定したことになる
○VALUES(値,...)部にSELECT文を書くと、他のテーブルから取ってきた値を入れたりできる

サブクエリ

SELECT文を括弧でくくって色々な部分に組み込める。

例1
SELECT * FROM テーブル名1 WHERE 列名1 = (SELECT 列名2 FROM テーブル名2) 
例2
SELECT * FROM テーブル名1 WHERE 列名1 IN (SELECT 列名2 FROM テーブル名2) 

○乱用すると可読性が低下する

リンクサーバー

リンクサーバーのテーブルを参照する為には以下のように記述する

リンクサーバーへのアクセス
[リンクサーバー名].[DB].[テーブル名]

UPDATE文

UPDATE文の構文
UPDATE テーブル名 SET 列名1 = データ1,... WHERE 更新条件

-テーブル名:更新対象のテーブル名
-列名:更新対象の列名
-データ:更新データ
-更新条件:更新する列を絞り込む条件

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?