①创建数据库db_07(5分) CREATE DATABASE db_07;

②建表如下(总分25分) 1、tb_kefang客房表 CREATE TABLE tb_kefang ( fid INT PRIMARY KEY, ftype VARCHAR(20) NOT NULL, fprice FLOAT NOT NULL, fkzrs INT NOT NULL, fyzrs INT DEFAULT 0, fcnt INT DEFAULT 0 );

2、tb_dengji登记表 CREATE TABLE tb_dengji ( did INT PRIMARY KEY, dname VARCHAR(20) NOT NULL, dfid INT NOT NULL, dyj FLOAT NOT NULL, drz DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, dtf DATETIME );

③添加数据如下(2分/条,总分16分) 表(一)tb_kefang INSERT INTO tb_kefang (fid, ftype, fprice, fkzrs, fyzrs, fcnt) VALUES (101, '双人间', 108, 2, 0, 101), (102, '单人间', 98, 1, 0, 550), (103, '豪华间', 168, 2, 0, 324), (201, '麻将房', 208, 4, 0, 0);

表(二)tb_dengji INSERT INTO tb_dengji (did, dname, dfid, dyj, drz, dtf) VALUES (1, '喜来乐', 101, 100, '2018-09-01', '2018-09-02'), (2, '喜来乐', 101, 100, '2019-09-01', '2019-09-02'), (3, '王老五', 102, 100, '2018-10-05', '2018-10-08'), (4, '大麻子', 201, 200, '2019-09-05', '2019-09-10');

④实现以下sql语句(5分/条,共40分) a.在登记表中查所有住过101客房的客户名 SELECT DISTINCT dname FROM tb_dengji WHERE dfid = 101;

b.查询101房间的房间类型 SELECT ftype FROM tb_kefang WHERE fid = 101;

c.tb_kefang表中按价格降序排序 SELECT * FROM tb_kefang ORDER BY fprice DESC;

d.查询tb_kefang表中的房间号、房间类型、价格 SELECT fid, ftype, fprice FROM tb_kefang;

e.查询喜来乐在该酒店住了多少天 SELECT DATEDIFF(dtf, drz) AS days FROM tb_dengji WHERE dname = '喜来乐';

f.查询所有2019年9月份入住的客户名、房间号 SELECT dname, dfid FROM tb_dengji WHERE YEAR(drz) = 2019 AND MONTH(drz) = 9;

g.查询tb_dengji表中客户名、房间编号、房间类型 SELECT dname, dfid, ftype FROM tb_dengji JOIN tb_kefang ON tb_dengji.dfid = tb_kefang.fid;

h.查询押金大于100的客户所住的房间类型 SELECT ftype FROM tb_kefang WHERE fid IN (SELECT dfid FROM tb_dengji WHERE dyj > 100);

创建数据库db_075分②建表如下总分25分1、tb_kefang客房表字段名	中文说明	字段类型	字段大小	是否为空	其它fid	客房编号	int		false	主键由楼层和房间号组成ftype	房间类型	varchar	20	false	fprice	房价	float		false	fkzrs	可住人数	int		false	fyzrs	已住人数	int		flase	默认值为0fcnt	入住

原文地址: https://www.cveoy.top/t/topic/bXkx 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录