コメントアウト
SQL
--コメントアウト
SQL変数宣言
SQL
--文字列
DECLARE @変数名 NVARCHAR(max)
--整数
DECLARE @変数名 int
--日付
DECLARE @変数名 date
SQL変数代入
SQL
--値を代入
SET @変数名 = '値'
--セレクト結果を代入
SET @変数名 = (Select~)
--ケース結果を代入
SET @変数名 = CASE~
--宣言と代入を一文にまとめることも可能
DECLARE @変数名 NVARCHAR(max) = '文字列'
DECLARE @変数名 int = 1
SQLSELECT
SQL
SELECT[列] From [表] where 検索条件 order by [列]
--表結合
SELECT [列] From [表1] join [表2] ON [表1].[列]=[表2].[列]
SQLUPDATE
SQL
UPDATE [表] SET [列] = 値 where 検索条件
--表1の値を表2の値で更新
UPDATE [表1] SET [表1].[列] = [表2].[列] From [表2] where [表1].[列] = [表2].[列]
SQLINSERT
SQL
INSERT INTO [表]([列],[列]) Values(値,値)
--表1に表2の値を挿入を挿入
INSERT INTO [表1] ([列],[列],[列]) SELECT [列],[列],[列] FROM [表2] WHERE 検索条件
--表1に表2の行を挿入(表1,表2の構造が同じ場合)
INSERT INTO [表1] SELECT * FROM [表2]
SQLDELETE
SQL
DELETE [表] where 検索条件
SQLWHILE
SQL
WHILE @変数 < 10
BEGIN
処理
SET @変数 = @変数 + 1
End
SQLIF
SQL
IF 条件
BEGIN
TRUEの場合処理
END
ELSE
BEGIN
FALSEの場合処理
END
SQLCASE(条件分岐)
SQL
--項目固定
CASE [gender]
WHEN '男' THEN 1
WHEN '女' THEN 2
ELSE 99
END
--項目変動
CASE
WHEN [gender] = '男' THEN 1
WHEN [gender] = '女' THEN 2
ELSE 99
END
--変数定義・代入
DECLARE @test varchar(1000) = CASE [gender]
WHEN '男' THEN 1
WHEN '女' THEN 2
end
SQL表を仮表に複製
SQL
SELECT * INTO [#仮表名称] FROM [表]
SQL動的SQL
SQL
--動的SQL実行(@sqlのクエリを実行)
DECLARE @sql NVARCHAR(max)
set @sql = 'select * from [test]'
EXECUTE sp_executesql @sql
--動的SQL変数代入(@sqlのクエリ結果を@maxに代入)
DECLARE @sql NVARCHAR(max)
DECLARE @para NVARCHAR(max)
DECLARE @max int
SET @sql ='Select @Max=Count(*) from [test]'
SET @para ='@max int OUTPUT';
EXECUTE sp_executesql @sql, @para, @max OUTPUT
SQLカーソル(1行ずつ処理)
SQL
--変数定義
DECLARE @cur CURSOR
DECLARE @number1 int
DECLARE @number2 int
--カーソルオープン
SET @cur = CURSOR FOR SELECT [number1],[number2] from #test
OPEN @cur
--1レコード目セット
FETCH NEXT FROM @cur INTO @number1,@number2
--ループ開始
WHILE( @@FETCH_STATUS = 0 )
BEGIN
--処理
print @number1 * @number2
--次レコード
FETCH NEXT FROM @cur INTO @number1,@number2
END
--カーソルクローズ
CLOSE @cur
DEALLOCATE @cur
SQLショートカットキー
SQL
--F5 (実行)
--Ctrl + K → Ctrl + C (コメントアウト)
--Ctrl + K → Ctrl + U (アンコメント)
SQL