SQLテスト - 初級編

このテストは、SQL ServerにおけるSQLの最も基本的な操作を測定することを目的としています。

注: 各問題の解答は、SQL Serverの構文に基づいて記述してください。

問題

以下のテーブル定義をもとに、各問題に解答してください。

テーブル定義: Customers (顧客情報)

CREATE TABLE Customers (
    CustomerID INT PRIMARY KEY IDENTITY(1,1),
    FirstName NVARCHAR(50) NOT NULL,
    LastName NVARCHAR(50) NOT NULL,
    Email NVARCHAR(100) UNIQUE,
    RegistrationDate DATE,
    Enabled BIT DEFAULT 1,         -- 有効/無効フラグ (1:有効, 0:無効/論理削除)
    InsertDate DATETIME DEFAULT GETDATE(), -- 登録日時
    UpdateDate DATETIME DEFAULT GETDATE(), -- 更新日時
    DeleteDate DATETIME,           -- 削除日時 (論理削除用)
    UpdateUser NVARCHAR(50)         -- 更新ユーザー
);
            

テーブル定義: Orders (注文情報)

CREATE TABLE Orders (
    OrderID INT PRIMARY KEY IDENTITY(1,1),
    CustomerID INT NOT NULL,
    OrderDate DATE,
    TotalAmount DECIMAL(10, 2),
    Enabled BIT DEFAULT 1,
    InsertDate DATETIME DEFAULT GETDATE(),
    UpdateDate DATETIME DEFAULT GETDATE(),
    DeleteDate DATETIME,
    UpdateUser NVARCHAR(50),
    FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
);
            
問題 1.1: Customers テーブルに、以下の情報を新規登録するSQL文を記述してください。
名: '花子', 姓: '田中', メール: 'hanako.t@example.com', 登録日: '2024-05-10'

解答欄:

問題 1.2: Customers テーブルから、全ての有効な顧客のFirstNameEmailを取得するSQL文を記述してください。

解答欄:

問題 1.3: Customers テーブルで、CustomerIDが2の顧客のEmailを'taro.yamada@example.com'に更新するSQL文を記述してください。(UpdateUserも適切に設定してください)

解答欄:

問題 1.4: Orders テーブルから、TotalAmountが10000以上の有効な注文のOrderIDOrderDateを取得するSQL文を記述してください。

解答欄:

問題 1.5: Customers テーブルから、CustomerIDが1の顧客を論理削除するSQL文を記述してください。(Enabledを0に更新し、DeleteDateUpdateUserも適切に設定してください)

解答欄:

問題 1.6: Orders テーブルに、以下の情報を持つ注文を複数件一括で登録するSQL文を記述してください。
顧客ID: 1, 注文日: '2024-06-01', 合計金額: 15000.00
顧客ID: 3, 注文日: '2024-06-05', 合計金額: 2500.00

解答欄:

目次へ戻る