

Mã:
/* Tạo Cơ Sở Dữ Liệu */
CREATE DATABASE QuanLyNhaChoThue
USE QuanLyNhaChoThue
/* Tạo Bảng Khách */
CREATE TABLE KHACH
(
Mak char(10) PRIMARY KEY,
TenK varchar(50) NOT NULL,
DiaChi varchar(50),
SoDT Char(20)
)
/* Tạo Bảng Nhà */
CREATE TABLE NHA
(
MaN char(10) PRIMARY KEY,
TenChuNha varchar(50),
GiaThue Int,
DiaChiNha char(50)
)
/* Tạo Bảng Hợp Đồng */
CREATE TABLE HOPDONG
(
SoHD char(10) PRIMARY KEY,
MaN char(10),
MaK char(10),
NgayBD Datetime NOT NULL,
NgayKT Datetime NOT NULL,
CONSTRAINT MaN_FK FOREIGN KEY (MaN) REFERENCES NHA(MaN),
CONSTRAINT MaK_FK FOREIGN KEY (MaK) REFERENCES KHACH(MaK)
)
/* Nhập Dữ Liệu Cho Các Bảng */
INSERT INTO KHACH(Mak, TenK, DiaChi)
VALUES
('MK01','Nguyen Van A','Ha Noi'),
('MK02','Nguyen Van B','Thai Nguyen'),
('MK03','Nguyen Van C','Hoa Binh'),
('MK04','Nguyen Van D','Thai Binh'),
('Mk05','Nguyen Van E','Thai Nguyen')
INSERT INTO NHA
VALUES
('MaN01','Tran Ngoc Bich','400000','Hai Duong'),
('MaN02','Luu Thi Sen','450000','Nam Dinh'),
('MaN03','Ho Thi Anh Tuyet','650000','Thai Nguyen'),
('MaN04','Tran Bao Quoc','900000','Ha Noi'),
('MaN05','Ho Quang Ngoc','700000','Thai Nguyen')
INSERT INTO HOPDONG
VALUES
('HD01','MaN05','MK02','04/19/2014','11/23/2014'),
('HD02','MaN05','MK02','12/01/2014','03/04/2015'),
('HD03','MaN02','MK03','07/01/2014','12/14/2014'),
('HD04','MaN04','MK01','01/09/2014','02/23/2015'),
('HD05','MaN01','MK01','01/03/2015','06/07/2015')
/* 1. Đưa ra danh sách những ngôi nhà đang được thuê */
SELECT *
FROM NHA
WHERE MaN IN ( SELECT MaN
FROM HOPDONG
WHERE NgayKT > GetDate()
)
/* 2. Đưa ra thông tin về khách hàng đã thuê ngôi nhà có mã là 'MaN04' */
SELECT *
FROM KHACH
WHERE Mak IN ( SELECT Mak
FROM HOPDONG
WHERE MaN = 'MaN04'
)
/* 3. Đưa ra thông tin về những ngôi nhà hiện chưa có người nào thuê */
SELECT *
FROM NHA
WHERE MaN IN ( SELECT MaN
FROM HOPDONG
WHERE NgayKT < GetDate()
)
/*4.thông tin về khách hàng từng thuê nhà mã 'MaN04' thang 01 năm 2014*/
SELECT *
FROM KHACH
WHERE MaK IN ( SELECT MaK
FROM HOPDONG
WHERE MaN = 'MaN04' AND
MONTH(NgayBD) = '01' AND
YEAR(NgayBD) = '2014' AND
NgayKT < GetDate()
)
/* 5. Đưa ra thông tin về ngôi nhà có giá thuê cao nhất */
SELECT *
FROM NHA
WHERE GiaThue IN ( SELECT MAX(GiaThue)
FROM NHA
)
Last edited by a moderator: