このテストは、病院の患者、医師、診察予約といった基本的なデータを操作し、SQLの基礎を測定することを目的としています。
注: 各問題の解答は、SQL Serverの構文に基づいて記述してください。
以下のテーブル定義をもとに、各問題に解答してください。
Patients
(患者情報)CREATE TABLE Patients ( PatientID INT PRIMARY KEY IDENTITY(1,1), FirstName NVARCHAR(50) NOT NULL, LastName NVARCHAR(50) NOT NULL, DateOfBirth DATE, Gender NVARCHAR(10), -- 'Male', 'Female', 'Other' ContactPhone NVARCHAR(20), Enabled BIT DEFAULT 1, InsertDate DATETIME DEFAULT GETDATE(), UpdateDate DATETIME DEFAULT GETDATE(), DeleteDate DATETIME, UpdateUser NVARCHAR(50) );
Doctors
(医師情報)CREATE TABLE Doctors ( DoctorID INT PRIMARY KEY IDENTITY(1,1), FirstName NVARCHAR(50) NOT NULL, LastName NVARCHAR(50) NOT NULL, Specialty NVARCHAR(100), -- 専門分野 LicenseNumber NVARCHAR(50) UNIQUE, Enabled BIT DEFAULT 1, InsertDate DATETIME DEFAULT GETDATE(), UpdateDate DATETIME DEFAULT GETDATE(), DeleteDate DATETIME, UpdateUser NVARCHAR(50) );
Appointments
(診察予約情報)CREATE TABLE Appointments ( AppointmentID INT PRIMARY KEY IDENTITY(1,1), PatientID INT NOT NULL, DoctorID INT NOT NULL, AppointmentDateTime DATETIME NOT NULL, Reason NVARCHAR(255), -- 予約理由 Status NVARCHAR(20), -- 'Scheduled', 'Completed', 'Canceled' Enabled BIT DEFAULT 1, InsertDate DATETIME DEFAULT GETDATE(), UpdateDate DATETIME DEFAULT GETDATE(), DeleteDate DATETIME, UpdateUser NVARCHAR(50), FOREIGN KEY (PatientID) REFERENCES Patients(PatientID), FOREIGN KEY (DoctorID) REFERENCES Doctors(DoctorID) );
Patients
テーブルに、以下の患者情報を新規登録するSQL文を記述してください。解答欄:
Doctors
テーブルから、専門分野(Specialty
)が'内科'の有効な医師のFirstName
とLastName
を取得するSQL文を記述してください。
解答欄:
Appointments
テーブルで、AppointmentID
が3の予約のStatus
を'Completed'に更新するSQL文を記述してください。(UpdateUser
も適切に設定してください)
解答欄:
Patients
テーブルから、生年月日(DateOfBirth
)が1980年1月1日以前の有効な患者のFirstName
、LastName
、DateOfBirth
を、生年月日が新しい順(昇順)で取得するSQL文を記述してください。
解答欄:
Doctors
テーブルから、DoctorID
が2の医師を論理削除するSQL文を記述してください。(Enabled
を0に更新し、DeleteDate
とUpdateUser
も適切に設定してください)
解答欄:
Appointments
テーブルに、以下の診察予約情報を複数件一括で登録するSQL文を記述してください。解答欄: