0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

メモ Microsoft SQLコマンド

Last updated at Posted at 2025-01-13

SQL構文でよく使うものの自分用メモ

参考ページ https://qiita.com/leomaro7/items/4e90f802d0ae7edf6b23

基本コマンド

SELECT文:レコード検索
INSERT文:レコード挿入
UPDATE文:レコード更新
DELETE文:レコード削除

テキストファイルからデータ登録

参考:https://yomikakiexcel.com/sql_server_setup_for_excel/#google_vignette

※ 例 DMS ←データベースは事前に手動で作っておく
※ 例 TEST_TABLE ←テーブルは事前に手動で作っておく

USE [DMS]

BULK INSERT TEST_TABLE
FROM 'C:\temp\Sample_Data.txt'
WITH (
    FIELDTERMINATOR = '\t',  -- ファイル内のフィールドの区切り文字
    ROWTERMINATOR = '\n',    -- 行の終わりを示す文字
    FIRSTROW = 2,            -- ヘッダー行を無視するための指定 (1行目はヘッダーならば2行目からデータと見なす)
    TABLOCK                -- バルクインサートでテーブルロックを行う
);

抽出表示

※カラム名は []で囲む ただし、囲まなくても動作することもある
SELECT [カラム名], [カラム名] FROM テーブル名

条件指定して抽出表示

SELECT - FROM - WHERE

■ 抽出 条件値に一致する
USE [データベース名]

SELECT 
  [カラム名], [カラム名]
FROM テーブル名
WHERE
  [カラム名] = 100;
■ 抽出 条件値ではない
USE [データベース名]

SELECT 
  [カラム名], [カラム名]
FROM テーブル名
WHERE
  [カラム名] <> 50;
■ 抽出 条件値の範囲内 BETWEEN
  例:50未満 または 100を超える
  
USE [データベース名]

SELECT 
  [カラム名], [カラム名]
FROM テーブル名
WHERE
  [カラム名] BETWEEN 50 AND 100;
■ 抽出 条件値の範囲内ではない NOT BETWEEN
USE [データベース名]

SELECT 
  [カラム名], [カラム名]
FROM テーブル名
WHERE
  [カラム名] NOT BETWEEN 50 AND 100;
■ 抽出 条件リストの中にある IN
例: AかBに一致したら表示
※ IN( のようにスペースは空けない
※ 条件は ' で囲う "では構文エラーになってしまう

USE [データベース名]

SELECT 
  [カラム名], [カラム名]
FROM テーブル名
WHERE
  [カラム名] IN('A', 'B');
■ 抽出 条件リストの中にない NOT IN
例: AかBに一致しないものを表示

USE [データベース名]

SELECT 
  [カラム名], [カラム名]
FROM テーブル名
WHERE
  [カラム名] NOT IN('A', 'B');
■ 抽出 複数条件 AND, OR
USE [データベース名]

SELECT 
  [カラム名], [カラム名]
FROM テーブル名
WHERE
  [カラム名] >=100
  AND ([カラム名] = 'A2' OR [カラム名]='A3')
■ ソート ORDER BY
ASC=昇順1,2,3,4,5  DESC=降順 5,4,3,2,1  指定なしならASC

USE [データベース名]

SELECT * FROM テーブル名 ORDER BY [カラム名] ASC;
SELECT * FROM テーブル名 ORDER BY [カラム名] DESC;
■ 指定件数表示 TOP  (MySQLとかでは LIMIT)
USE [データベース名]

SELECT TOP 10 * FROM テーブル名
  ↑最初の10件表示

image.png

複数テーブルの結合 JOIN

 JOIN  = INNER JOIN
※↑ INNERは省略可能 
※↑ 両方のテーブルにあるキーだけを表示

LEFT JOIN = LEFT OUTER JOIN
RIGHT JOIN = RIGHT OUTER JOIN
※↑ OUTERは省略可能 
※↑ 両方のテーブルにない場合は 片側NULL として表示

グループにするGROUP BY, グループ条件 HAVING

0
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?