SQL_knowledge 初学者向けのSQL知識。 SQL knowledge for beginners. SQLチートシート.md の記載内容一覧 SQLチートシート (第1部 / 全4部) 基本文法 別名定義 条件式 比較演算子 LIKE BETWEEN IN / NOT IN ANY / ALL 同じ意味になる演算子 論理演算子 データ型 基本のデータ型 SQL SERVERのデータ型 真数 概数 浮動小数点数値データで使用する概数型 日付と時刻 文字列 Unicode文字列 他 NULL値をセットする方法 データインポート方法 Excel から SQL Server または Azure SQL Database にデータをインポートする CSV ファイルを BULK INSERT を使ってインポートする SELECT文にのみ可能な“検索結果を加工する”ための「その他修飾」 DISTINCT 検索結果から重複行を除外する。メモリーを大量消費するので乱用に注意 ORDER BY 検索結果の順序を並び替える。メモリーを大量消費するので乱用に注意 OFFSET - FETCH 検索結果から件数を限定して取得する UNION 和集合の集合演算子。検索結果にほかの検索結果を足し合わせる。メモリーを大量消費するので乱用に注意 EXCEPT / MINUS 差集合の集合演算子。検索結果からほかの検索結果を差し引く(MINUSはOracleDBのキーワード) INTERSECT 積集合の集合演算子。検索結果とほかの検索結果で重複する部分を取得する SQLチートシート (第2部 / 全4部) 式と関数 計算式とは 算術演算子 加算 減算 乗算 除算 剰余 連結 CASE演算子 CASE演算子の利用構文(1) CASE演算子の利用構文(2) ユーザ定義関数 ストアドプロシージャ Transact-SQL 文字列関数 数値の関数 日付の関数 変換の関数 集計とグループ化 集計関数の特徴 代表的な集計関数 グループ化して集計する基本構文 グループ化してから絞り込む基本構文 SELECT文の全貌 副問合せ 副問い合わせとは 副問い合わせはネスト構造できる 副問い合わせの動作順序 副問い合わせの3パターン 単一行副問合せ(単一の値の代わりに副問い合わせの検索結果を用いる) 単一行副問合せとは 複数行副問合せ(複数の値の代わりに副問い合わせの検索結果を用いる) 複数行副問合せとは 同じ意味になる演算子 副問合せがNULLを含んでいる場合 行値式と副問合せ 表の結果となる副問合せ(表の代わりに副問い合わせの検索結果を用いる) 表形式の結果になる副問合せとは 相関副問合せ 相関副問合せとは EXISTS 演算子 副問合せのコツ 複数テーブルの結合 テーブルAとテーブルBの結合 右表の結合条件列の重複 右表に結合相手がない場合 内部結合と外部結合 左外部結合:左表の全行を必ず出力する 右外部結合:右表の全行を必ず出力する 完全外部結合:左右の表の全行を必ず出力する 結合の構文:テーブル名の指定 結合の構文:別名を使ったSQL文 結合の構文:3つのテーブルを結合するSQL文 結合の構文:副問合せの結果と結合するSQL文 結合の構文:自分自身と結合するSQL文。 SQLチートシート (第3部 / 全4部) トランザクション トランザクション制御 トランザクションを使うための指示 DB更新で発生する障害 トランザクション分離レベル(transaction isolation level) ロックの種類 デッドロック(dead lock)を予防する方法 テーブルの作成 SQL命令の分類 DCLの構文 テーブルの作成/削除/変更 テーブルのデータ全件を高速削除する 制約(constraint) 主キー制約(PRIMARY KEY制約) 参照整合性の崩壊 外部キー制約(FOREIGN KEY制約) さまざまな支援機能 インデックスの特徴 インデックスの作成と削除 一般的にインデックス設定の効果が高い列 インデックスを作成することによるデメリット ビュー(VIEW)の特徴 ビューの作成と削除 ビューのメリット ビューのデメリット マテリアライズド・ビュー 採番 採番手法その1。連番が自動的に降られる特殊な列の定義 採番手法その2。シーケンス。連番を管理する専用の道具 シーケンスの作成と削除と取得 ACID特性 バックアップ SQLチートシート (第4部 / 全4部) テーブルの設計 データベース構築のINPUTとOUTPUT 概念設計 (参考)ER図のツールを探した 論理設計 正規化の手順 第一正規形への変形…繰り返し列の排除 関数従属性 第二正規形への変形…部分関数従属の排除 第三正規形への変形…間接的な関数従属(推移関数従属)の排除 物理設計 正規化されたデータの利用 TIPS テーブルの作成、バックアップ用にテーブルコピー、リストア テスト用環境で使用するためデータベースを他の場所へコピーする 不等号の読み方