Các Câu Lệnh Truy Vấn Quản Lý Nhà Cho Thuê

Thảo luận trong 'Tài Liệu' bắt đầu bởi Pussy, Thg 10 25, 2017.

  1. Pussy

    Pussy New Member Chuyển tiền Tìm chủ đề

    Bài viết:
    Tìm chủ đề
    962
    Xem: 648
    Nếu bạn cảm thấy hay, hãy chia sẻ để ủng hộ tác giả
    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: Thg 10 27, 2017
  2. Đang tải...
Trả lời qua Facebook

Chia sẻ trang này