データベース操作の基本となるSQLの4大命令について、実践的なコード例を交えながら詳しく解説します。初心者でも理解できる基礎から、実務で使える応用テクニックまで、どこまで理解できるでしょうか?
SQL命令文一覧とデータベース操作の基本を解説
データベース初心者でも理解できるSQL命令文の基礎から実践的な使い方まで、具体例を交えて詳しく解説します。SQLでデータベースを自在に操作するには、どのような知識が必要なのでしょうか?
データベースを操作する上で最も重要なDML(Data Manipulation Language)について説明します。DMLには以下の4つの基本命令文があります:
-- データの検索
SELECT カラム名 FROM テーブル名 WHERE 条件
-- データの追加
INSERT INTO テーブル名 (カラム1, カラム2) VALUES (値1, 値2)
-- データの更新
UPDATE テーブル名 SET カラム名 = 新しい値 WHERE 条件
-- データの削除
DELETE FROM テーブル名 WHERE 条件
SELECT文は最も頻繁に使用される命令文です。以下のような機能を組み合わせることで、必要なデータを効率的に抽出できます:
-- 複数条件での絞り込み
SELECT * FROM 社員テーブル
WHERE 部署 = '営業部'
AND 給与 >= 300000
-- グループ化と集計
SELECT 部署, AVG(給与) as 平均給与
FROM 社員テーブル
GROUP BY 部署
HAVING AVG(給与) > 350000
複数のテーブルを組み合わせて情報を取得する方法について説明します:
-- 内部結合の例
SELECT 注文.注文番号, 顧客.顧客名, 商品.商品名
FROM 注文
INNER JOIN 顧客 ON 注文.顧客ID = 顧客.顧客ID
INNER JOIN 商品 ON 注文.商品ID = 商品.商品ID
-- サブクエリを使用した例
SELECT 社員名, 給与
FROM 社員テーブル
WHERE 給与 > (SELECT AVG(給与) FROM 社員テーブル)
データベースのパフォーマンスを向上させるためのテクニックを紹介します:
-- インデックスの作成
CREATE INDEX idx_社員名 ON 社員テーブル(社員名)
-- ビューの作成
CREATE VIEW 部署別売上 AS
SELECT 部署名, SUM(売上額) as 総売上
FROM 売上テーブル
GROUP BY 部署名
データの整合性を保つためのトランザクション制御について説明します:
-- トランザクションの基本構文
BEGIN TRANSACTION
UPDATE 口座テーブル SET 残高 = 残高 - 10000 WHERE 口座番号 = '1001'
UPDATE 口座テーブル SET 残高 = 残高 + 10000 WHERE 口座番号 = '1002'
COMMIT
-- エラーハンドリング
BEGIN TRY
-- SQLステートメント
COMMIT
END TRY
BEGIN CATCH
ROLLBACK
-- エラー処理
END CATCH