SQLQuery查询及函数使用

本文介绍了多个数据库查询案例,涉及学生、课程和家庭成员的个人信息、课程选修、收支记录等信息。查询包括获取所有学生信息、年龄范围查询、特定姓氏成员筛选、收支统计等。此外,还涵盖了房间管理系统的查询,如用户信息、房间状态、入住统计和客户入住情况等。这些案例展示了SQL在数据检索和管理中的应用。

查询
--下面的查询基于下图的3个表进行。
--Student:【学号 姓名 性别 年龄 系别】
--Course:课程表  【课程号 课程名 学分】
--SC:成绩表  【学号 课程号 分数】
--1.查询全体学生的姓名、学号、所在系。
--2.查询年龄不在20~23岁之间的学生姓名、系别和年龄。
--Between 1 and 3
--3.查询所有姓刘学生的姓名、学号和性别。
--4.求各个课程号及相应的选课人数。
--5.查询每个学生的学号、姓名、选修的课程名及成绩
--6.将所有学生的年龄增加1岁
--7.检索不学课程号为“C01”课程的学生信息
--8.检索至少学过课程号为“C01”和“C02”的学生信息;
--9.从学生表中删除成绩出现过0分的所有学生信息
--10.找出没有选修过“数据库基础”课程的所有学生姓名
--11.检索所有比“宋平”年龄大的学生的姓名、年龄和性别,
--12.将选课在3门以上(包括3门)的学生的学号,姓名,平均分和选课门数按平均分降序排序,并将结果存于数据库表stu_temp(字段名为学号,姓名,平均分和选课门数)
--13.将“高等数学”课程不及格的成绩修改为0分
--Student:【学号 姓名 性别 年龄 系别】
 create table Student(
 sid int not null primary key,--学号
 sname varchar(20) not null,--姓名
 ssex varchar(2) not null check(ssex='男' or ssex='女'),--性别
 sage int not null default 18 check(sage>0 and sage<150),--年龄
 sDepartment varchar(50) not null ,--系别
 ); 
 --Course:课程表  【课程号 课程名 学分】
 create table Course(
 bid int not null primary key,--课程号
 lesson  varchar(20) not null,--课程名
 Credits int,--学分
 );
 --SC:成绩表  【学号 课程号 分数】
 create table sc(
 Student int not null primary key, --学号
 aid int not null,--课程号
 fraction int not null,--分数
);
--1.查询全体学生的姓名、学号、所在系
   select * from Student;
--2.查询年龄不在20~23岁之间的学生姓名、系别和年龄。
  select sage,sname,sDepartment from Student where sage between 20 and 23;
  --3.查询所有姓刘学生的姓名、学号和性别。
  select sname ,sid,ssex from Student where sname like  '%刘%'
  --4.求各个课程号及相应的选课人数。
  select bid from Course  bid 
  
 -- Family 数据库
--编号 表名 中文说明
--1 Tb_Users 家庭成员表
--2 Tb_InOutField 收入支出项目表
--3 Tb_InOutInfo 日常收支表
--1、Tb_Users 家庭成员表
--字段名 中文说明 字段类型 字段大小 是否为空 其它
--uid 成员编号 Int false 主键
--uname 姓名 Varchar 20 False 
--upart 家庭角色 Varchar 20 False 
--ubirth 出生日期 datetime False 
--upassword 密码 Varchar 20 False 默认 888888
--ucompany 工作单位 Varchar 30 True 
--uremark 备注 Varchar 100 True 
--3、Tb_InOutInfo 日常收支表
--字段名 中文说明 字段类型 字段大小 是否为空 其它
--rid 编号 Int False 主键
--uid 操作人 int False 外键(成员表 uid)
--xid 收支项目 int False 外键(项目表 xid)
--rmoney 金额 float False 默认为 0 
--rdate 操作时间 DateTime False 
--rmenu 备注 varchar 100 true 
--2、查询所有家庭成员工
--3、查询收支项目表
--4、查询日常收支表
--模糊查询
--5、查询所有梁姓家庭成员(like)
--6、查询日常收支表中所有 rmenu 即备注含‘去’字的记录
--7、查询日常收支表中 2 月到 3 月之间的收支情况(between)
--8、查询日常收支表中 1000 到 5000 之间金额的收支记录
--9、查询日常收支表中工资和奖金记录,即 xid 为 1,2 的记录
--2、 Tb_InOutField 收支项目表
--字段名 中文说明 字段类型 字段大小 是否为空 其它
--xid 编号 Int False 主键,标识列
--xName 项目名 Varchar 20 False 
--xtype 收支类型 varchar 20 False 
--
 create table tb_inoutfield
(
    xid   float,
    xname nvarchar(255),
    xtype nvarchar(255)
);

INSERT INTO tb_inoutfield (xid, xname, xtype) VALUES (1, N'工资', N'收入');
INSERT INTO tb_inoutfield (xid, xname, xtype) VALUES (2, N'奖金', N'收入');
INSERT INTO tb_inoutfield (xid, xname, xtype) VALUES (3, N'分红', N'收入');
INSERT INTO tb_inoutfield (xid, xname, xtype) VALUES (4, N'送礼', N'支出');
INSERT INTO tb_inoutfield (xid, xname, xtype) VALUES (5, N'坐车', N'支出');
INSERT INTO tb_inoutfield (xid, xname, xtype) VALUES (6, N'伙食', N'支出');
INSERT INTO tb_inoutfield (xid, xname, xtype) VALUES (7, N'电话费', N'支出');
INSERT INTO tb_inoutfield (xid, xname, xtype) VALUES (9, N'穿衣', N'支出');
INSERT INTO tb_inoutfield (xid, xname, xtype) VALUES (10, N'旅游', N'支出');

--
create table tb_inoutInfo
(
    rid    float,
    uid    float,
    xid    float,
    rmoney float,
    rdate  datetime,
    rmenu  nvarchar(255)
);

INSERT INTO tb_inoutInfo (rid, uid, xid, rmoney, rdate, rmenu) VALUES (1, 1, 1, 5000, N'2007-02-15 00:00:00.000', null);
INSERT INTO tb_inoutInfo (rid, uid, xid, rmoney, rdate, rmenu) VALUES (2, 1, 1, 5000, N'2007-03-15 00:00:00.000', null);
INSERT INTO tb_inoutInfo (rid, uid, xid, rmoney, rdate, rmenu) VALUES (3, 1, 1, 5000, N'2007-04-15 00:00:00.000', null);
INSERT INTO tb_inoutInfo (rid, uid, xid, rmoney, rdate, rmenu) VALUES (4, 1, 1, 5000, N'2007-05-15 00:00:00.000', null);
INSERT INTO tb_inoutInfo (rid, uid, xid, rmoney, rdate, rmenu) VALUES (5, 1, 2, 3000, N'2007-02-22 00:00:00.000', null);
INSERT INTO tb_inoutInfo (rid, uid, xid, rmoney, rdate, rmenu) VALUES (6, 1, 2, 2000, N'2007-03-22 00:00:00.000', null);
INSERT INTO tb_inoutInfo (rid, uid, xid, rmoney, rdate, rmenu) VALUES (7, 1, 2, 4200, N'2007-04-22 00:00:00.000', null);
INSERT INTO tb_inoutInfo (rid, uid, xid, rmoney, rdate, rmenu) VALUES (8, 2, 1, 3500, N'2007-02-15 00:00:00.000', null);
INSERT INTO tb_inoutInfo (rid, uid, xid, rmoney, rdate, rmenu) VALUES (9, 2, 1, 3500, N'2007-03-15 00:00:00.000', null);
INSERT INTO tb_inoutInfo (rid, uid, xid, rmoney, rdate, rmenu) VALUES (10, 2, 1, 3500, N'2007-04-15 00:00:00.000', null);
INSERT INTO tb_inoutInfo (rid, uid, xid, rmoney, rdate, rmenu) VALUES (11, 2, 2, 3000, N'2007-04-20 00:00:00.000', null);
INSERT INTO tb_inoutInfo (rid, uid, xid, rmoney, rdate, rmenu) VALUES (12, 4, 1, 8000, N'2007-03-15 00:00:00.000', null);
INSERT INTO tb_inoutInfo (rid, uid, xid, rmoney, rdate, rmenu) VALUES (13, 4, 1, 8000, N'2007-02-15 00:00:00.000', null);
INSERT INTO tb_inoutInfo (rid, uid, xid, rmoney, rdate, rmenu) VALUES (14, 5, 2, 10000, N'2007-05-01 00:00:00.000', null);
INSERT INTO tb_inoutInfo (rid, uid, xid, rmoney, rdate, rmenu) VALUES (15, 1, 7, -300, N'2007-03-01 00:00:00.000', null);
INSERT INTO tb_inoutInfo (rid, uid, xid, rmoney, rdate, rmenu) VALUES (16, 1, 5, -50, N'2007-03-15 00:00:00.000', N'充乘车卡');
INSERT INTO tb_inoutInfo (rid, uid, xid, rmoney, rdate, rmenu) VALUES (17, 2, 4, -200, N'2007-01-01 00:00:00.000', N'刘德华结婚');
INSERT INTO tb_inoutInfo (rid, uid, xid, rmoney, rdate, rmenu) VALUES (18, 2, 9, -100, N'2007-03-01 00:00:00.000', N'为儿子买衬衫');
INSERT INTO tb_inoutInfo (rid, uid, xid, rmoney, rdate, rmenu) VALUES (19, 2, 6, -500, N'2007-02-01 00:00:00.000', null);
INSERT INTO tb_inoutInfo (rid, uid, xid, rmoney, rdate, rmenu) VALUES (20, 2, 6, -500, N'2007-03-01 00:00:00.000', null);
INSERT INTO tb_inoutInfo (rid, uid, xid, rmoney, rdate, rmenu) VALUES (21, 2, 6, -500, N'2007-04-01 00:00:00.000', null);
INSERT INTO tb_inoutInfo (rid, uid, xid, rmoney, rdate, rmenu) VALUES (22, 5, 10, -2000, N'2007-05-01 00:00:00.000', N'去张家界玩');
INSERT INTO tb_inoutInfo (rid, uid, xid, rmoney, rdate, rmenu) VALUES (24, 2, 9, -500, N'2007-04-05 00:00:00.000', N'换季狂购');

---
create table tb_users(
    uid       float,
    uname     nvarchar(255),
    upart     nvarchar(255),
    ubirth    datetime,
    upassword nvarchar(255),
    ucompany  nvarchar(255),
    uremart   nvarchar(255)
);

INSERT INTO tb_users (uid, uname, upart, ubirth, upassword, ucompany, uremart) VALUES (1, N'梁山伯', N'户主', N'1963-03-01 00:00:00.000', N'zyt', null, N'很爱祝英台');
INSERT INTO tb_users (uid, uname, upart, ubirth, upassword, ucompany, uremart) VALUES (2, N'祝英台', N'老婆', N'1968-09-01 00:00:00.000', N'lsb', null, null);
INSERT INTO tb_users (uid, uname, upart, ubirth, upassword, ucompany, uremart) VALUES (3, N'梁小山', N'儿子', N'1990-01-01 00:00:00.000', N'aaa', null, null);
INSERT INTO tb_users (uid, uname, upart, ubirth, upassword, ucompany, uremart) VALUES (4, N'梁小伯', N'女儿', N'1982-12-01 00:00:00.000', N'bbb', null, null);
INSERT INTO tb_users (uid, uname, upart, ubirth, upassword, ucompany, uremart) VALUES (5, N'梁爸爸', N'爸爸', N'1930-02-01 00:00:00.000', N'bbb', null, null);        
         
--2、查询所有家庭成员工
select uid from tb_users;
--3、查询收支项目表
select xid from tb_InOutInfo;
--4、查询日常收支表
select * from tb_InOutInfo;
--模糊查询
--5、查询所有梁姓家庭成员(like)
select * from tb_Users where uname like '%梁%';
--7、查询日常收支表中 2 月到 3 月之间的收支情况(between)
select * from tb_InOutInfo where xid between 2 and 3;
--8、查询日常收支表中 1000 到 5000 之间金额的收支记录
select * from tb_InOutInfo where rmoney between 1000 and 5000;
--9、查询日常收支表中工资和奖金记录,即 xid 为 1,2 的记录
select * from tb_InOutInfo where xid=1 and xid=5;


--客房管理系统
--一、数据库表介绍:
--编号 表名 中文说明 
--1 tb_type 客房类型表 
--2 tb_kefang 客房表 
--3 tb_dengji 登记表 
--4 tb_users 用户表 
 
 
--二、数据表结构: 
--1、tb_users 用户表 
--字段名 中文说明 字段类型 字段大小 是否为
--空 
--其它 
--uid 用户编号 int false 主键,标识列 
--uname 用户名 varchar 20 False 
--upwd 密码 varchar 16 False 默认值为 888888 
--usex 性别 varchar 2 False 取值“男”或“女” 
--uage 年龄 int False 取值大于 0 小于 150 
--usf 身份 varchar 20 False 
 
--2、tb_type 客户类型表 
--字段名 中文说明 字段类型 字段大小 是否为
--空 
--其它 
--tid 类型编号 int false 主键,标识列 
--tname 类型名 varchar 20 False 
--tmenu 备注 varchar 30 true 
 
---3、tb_kefang 客房表 
--字段名 中文说明 字段类型 字段大小 是否为
--空 
--其它 
--fid 客房编号 int false 主键(由楼层和房间号组
--成) 
--tid 类型编号 int false 外键(客房类型 tid) 
--fprice 房价 float false 
--fkzrs 可住人数 int false 
--fyzrs 已住人数 int flase 默认值为 0 
--fcnt 入住统计 int false 默认值为 0 
--fmenu 备注 varchar 100 false 
 
--4、tb_dengji 登记表 
--字段名 中文说明 字段类型 字段大小 是否为
--空 
--其它 
--did 编号 int false 主键 
--dname 客户名 varchar 20 false 
--dfid 房间编号 int false 外键(客房表 fid) 
--dsfz 身份证号 varchar 18 false 
--dyj 押金 float false 
--drz 入住时间 datetime false 默认为当前日期 
-- dtf 退房时间 datetime true 
 
 
--上机作业一
--2、查询所有用户 
--3、查询客房类型表的所有记录 
--4、查询所有客房的信息 
--5、查看登记表 
--6、查看用户表中所有用户的用户名及密码 
--7、查看客房的状态(即只查询客房表的客房编号及状态) 
--8、查房:在登记表中查所有住在 101 的客户 
--9、在客房表中查找所有的空房间 
--10、查询所有入住统计大于100次的房间编号 
--11、查询喜来乐在该酒店住了多少天 
--12、查询所有住满的房间,但要求字段名用中文别名 
--13、查询所有 2007 年 5 月份入住的客户 
--14、客房表按入住次数排降序 
--15、客户表按入住次数排降序,但只显示前三甲 
--16、登记表按入住时间排升序 
--17、登记表中按房间号升序和入住时间降序 
--18、查询刘德华的登录密码 
--19、查询所有有电视的房间(提示:用 like)
--上机作业二
--1、查询所有姓张的客户(提示:left()) 
--2、查询所有已经退房的记录(提示: is not null) 
--3、查询所有客户的名,不含姓 (substring()) 
--4、将所有客户的名字变成类似“张某某”再显示,即只显示姓,名用某某代替 
--5、查询登记表中,4 月入住的客户(month( )) 
--6、查询所有入住时间小于 2007 的登记记录 
--7、查询客户表中所有一楼客房的入住情况(convert, left) 
--8、查询押金在 200 到 500 之间的客户 
--9、查询豪华间的入住情况 
--10、查询所有维修的房间 
--11、按房价排序 
--12、查询所有还可以住一个人的客房 
--13、查询还可以住人的三人间 
--14、查询所有可以住人的房间,即未满房间和空房间 
create table tb_dengji
(
    did    float,
    kname  nvarchar(255),
    fid    float,
    sfz    nvarchar(255),
    yajin  float,
    ruzhu  datetime,
    tufang datetime
);

INSERT INTO tb_dengji (did, kname, fid, sfz, yajin, ruzhu, tufang) VALUES (1, N'小猫', 101, N'123', 200, N'2007-05-12 07:22:18.000', null);
INSERT INTO tb_dengji (did, kname, fid, sfz, yajin, ruzhu, tufang) VALUES (2, N'阿狗', 101, N'123', 200, N'2007-05-14 10:22:39.000', null);
INSERT INTO tb_dengji (did, kname, fid, sfz, yajin, ruzhu, tufang) VALUES (3, N'阿牛', 101, N'123', 200, N'2007-05-15 14:23:02.000', null);
INSERT INTO tb_dengji (did, kname, fid, sfz, yajin, ruzhu, tufang) VALUES (4, N'王昭君', 102, N'123', 200, N'2007-05-15 10:23:31.000', null);
INSERT INTO tb_dengji (did, kname, fid, sfz, yajin, ruzhu, tufang) VALUES (5, N'西施', 102, N'123', 200, N'2007-05-15 03:23:46.000', null);
INSERT INTO tb_dengji (did, kname, fid, sfz, yajin, ruzhu, tufang) VALUES (6, N'昭婵', 102, N'123', 200, N'2007-05-13 00:23:57.000', null);
INSERT INTO tb_dengji (did, kname, fid, sfz, yajin, ruzhu, tufang) VALUES (8, N'鲁迅', 103, N'123', 300, N'2007-05-15 00:24:31.000', null);
INSERT INTO tb_dengji (did, kname, fid, sfz, yajin, ruzhu, tufang) VALUES (9, N'刘德华', 201, N'111', 500, N'2007-05-15 00:25:10.000', null);
INSERT INTO tb_dengji (did, kname, fid, sfz, yajin, ruzhu, tufang) VALUES (10, N'张学友', 201, N'111', 500, N'2007-05-12 10:25:22.000', null);
INSERT INTO tb_dengji (did, kname, fid, sfz, yajin, ruzhu, tufang) VALUES (11, N'成龙', 205, N'222', 800, N'2007-05-15 00:25:57.000', null);
INSERT INTO tb_dengji (did, kname, fid, sfz, yajin, ruzhu, tufang) VALUES (12, N'李世民', 301, N'333', 1000, N'2007-05-11 02:26:35.000', null);
INSERT INTO tb_dengji (did, kname, fid, sfz, yajin, ruzhu, tufang) VALUES (13, N'朱元璋', 305, N'444', 1000, N'2007-05-15 00:27:09.000', null);
INSERT INTO tb_dengji (did, kname, fid, sfz, yajin, ruzhu, tufang) VALUES (14, N'张曼玉', 401, N'55', 100, N'2007-05-15 00:27:24.000', null);
INSERT INTO tb_dengji (did, kname, fid, sfz, yajin, ruzhu, tufang) VALUES (15, N'张柏芝', 402, N'777', 1000, N'2007-05-14 11:10:12.000', null);
INSERT INTO tb_dengji (did, kname, fid, sfz, yajin, ruzhu, tufang) VALUES (16, N'小猫', 102, N'123', 200, N'2007-03-12 07:22:00.000', null);
INSERT INTO tb_dengji (did, kname, fid, sfz, yajin, ruzhu, tufang) VALUES (17, N'小羊', 201, N'222', 100, N'2007-03-14 00:00:00.000', null);
INSERT INTO tb_dengji (did, kname, fid, sfz, yajin, ruzhu, tufang) VALUES (18, N'喜来乐', 201, N'222', 100, N'2007-04-01 00:31:04.000', null);
INSERT INTO tb_dengji (did, kname, fid, sfz, yajin, ruzhu, tufang) VALUES (19, N'小李子', 404, N'111', 500, N'2007-05-15 00:00:00.000', null);
create table tb_users
(
    uid   float,
    uname nvarchar(max),
    upwd  nvarchar(max),
    usf   nvarchar(max)
);

INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (1, N'黎明', N'111', N'前台');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (2, N'刘德华', N'222', N'前台');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (3, N'张学友', N'333', N'经理');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (10, N'张三', N'111', N'前台');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (6, N'李四', N'111', N'经理');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (20, N'yishanjing', N'123', N'前台');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (15, N'要', N'aa', N'老板');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (16, N'小李子', N'111', N'前台');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (20, N'yishanjing', N'123', N'前台');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (10, N'name', N'pwd', N'sf');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (200, N'众', N'aa', N'前台');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (200, N'众', N'aa', N'前台');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (200, N'众', N'aa', N'前台');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (200, N'众', N'aa', N'前台');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (200, N'众', N'aa', N'前台');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (100, N'aa', N'111111', N'老板');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (200, N'众', N'aa', N'前台');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (200, N'众', N'aa', N'前台');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (200, N'众', N'aa', N'前台');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (200, N'众', N'aa', N'前台');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (200, N'众', N'aa', N'前台');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (200, N'众', N'aa', N'前台');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (200, N'众', N'aa', N'前台');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (200, N'众', N'aa', N'前台');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (200, N'众', N'aa', N'前台');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (200, N'众', N'aa', N'前台');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (200, N'众', N'aa', N'前台');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (200, N'众', N'aa', N'前台');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (200, N'众', N'aa', N'前台');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (200, N'众', N'aa', N'前台');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (200, N'众', N'aa', N'前台');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (200, N'众', N'aa', N'前台');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (200, N'众', N'aa', N'前台');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (200, N'众', N'aa', N'前台');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (200, N'众', N'aa', N'前台');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (200, N'众', N'aa', N'前台');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (200, N'众', N'aa', N'前台');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (200, N'众', N'aa', N'前台');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (200, N'众', N'aa', N'前台');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (200, N'众', N'aa', N'前台');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (200, N'众', N'aa', N'前台');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (200, N'众', N'aa', N'前台');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (200, N'众', N'aa', N'前台');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (200, N'众', N'aa', N'前台');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (200, N'众', N'aa', N'前台');
INSERT INTO tb_users (uid, uname, upwd, usf) VALUES (200, N'众', N'aa', N'前台');
create table tb_type
(
    tid   float,
    tname nvarchar(max),
    tmenu nvarchar(max)
);

INSERT INTO tb_type (tid, tname, tmenu) VALUES (1, N'总统套房', N'最贵的');
INSERT INTO test.dbo.tb_type (tid, tname, tmenu) VALUES (2, N'豪华间', null);
INSERT INTO test.dbo.tb_type (tid, tname, tmenu) VALUES (3, N'单间', null);
INSERT INTO test.dbo.tb_type (tid, tname, tmenu) VALUES (4, N'双人间', null);
INSERT INTO test.dbo.tb_type (tid, tname, tmenu) VALUES (5, N'三人间', null);
create table tb_kefang
(
    fid     float,
    tid     float,
    fprice  float,
    fkzrs   float,
    fyzrs   float,
    fzhutai nvarchar(max),
    fcnt    float,
    fmenu   nvarchar(max)
);

INSERT INTO tb_kefang (fid, tid, fprice, fkzrs, fyzrs, fzhutai, fcnt, fmenu) VALUES (101, 5, 50, 3, 3, N'住满', 100, N'电视,热水器');
INSERT INTO tb_kefang (fid, tid, fprice, fkzrs, fyzrs, fzhutai, fcnt, fmenu) VALUES (102, 5, 50, 3, 3, N'住满', 50, N'电视,热水器');
INSERT INTO tb_kefang (fid, tid, fprice, fkzrs, fyzrs, fzhutai, fcnt, fmenu) VALUES (103, 5, 60, 3, 2, N'未住满', 80, N'电视,热水器,风扇');
INSERT INTO tb_kefang (fid, tid, fprice, fkzrs, fyzrs, fzhutai, fcnt, fmenu) VALUES (104, 5, 60, 0, 0, N'维修', 30, N'电视,热水器,风扇');
INSERT INTO tb_kefang (fid, tid, fprice, fkzrs, fyzrs, fzhutai, fcnt, fmenu) VALUES (105, 5, 60, 3, 0, N'空房', 100, N'电视,热水器,风扇');
INSERT INTO tb_kefang (fid, tid, fprice, fkzrs, fyzrs, fzhutai, fcnt, fmenu) VALUES (201, 4, 80, 2, 2, N'住满', 100, N'电视,热水器');
INSERT INTO tb_kefang (fid, tid, fprice, fkzrs, fyzrs, fzhutai, fcnt, fmenu) VALUES (202, 4, 80, 2, 0, N'空房', 200, N'电视,热水器');
INSERT INTO tb_kefang (fid, tid, fprice, fkzrs, fyzrs, fzhutai, fcnt, fmenu) VALUES (203, 4, 100, 2, 0, N'空房', 201, N'电视,热水器,空调');
INSERT INTO tb_kefang (fid, tid, fprice, fkzrs, fyzrs, fzhutai, fcnt, fmenu) VALUES (204, 4, 100, 2, 0, N'空房', 20, N'电视,热水器,空调');
INSERT INTO tb_kefang (fid, tid, fprice, fkzrs, fyzrs, fzhutai, fcnt, fmenu) VALUES (205, 4, 120, 2, 1, N'未住满', 100, N'电视,热水器,电话,空调');
INSERT INTO tb_kefang (fid, tid, fprice, fkzrs, fyzrs, fzhutai, fcnt, fmenu) VALUES (301, 3, 150, 1, 1, N'住满', 100, N'无');
INSERT INTO tb_kefang (fid, tid, fprice, fkzrs, fyzrs, fzhutai, fcnt, fmenu) VALUES (302, 3, 150, 1, 0, N'空房', 500, N'无');
INSERT INTO tb_kefang (fid, tid, fprice, fkzrs, fyzrs, fzhutai, fcnt, fmenu) VALUES (303, 3, 150, 1, 0, N'空房', 100, N'无');
INSERT INTO tb_kefang (fid, tid, fprice, fkzrs, fyzrs, fzhutai, fcnt, fmenu) VALUES (304, 3, 150, 0, 0, N'维修', 50, N'无');
INSERT INTO tb_kefang (fid, tid, fprice, fkzrs, fyzrs, fzhutai, fcnt, fmenu) VALUES (305, 3, 150, 1, 1, N'住满', 50, N'无');
INSERT INTO tb_kefang (fid, tid, fprice, fkzrs, fyzrs, fzhutai, fcnt, fmenu) VALUES (401, 2, 200, 1, 1, N'住满', 100, N'无');
INSERT INTO tb_kefang (fid, tid, fprice, fkzrs, fyzrs, fzhutai, fcnt, fmenu) VALUES (402, 2, 200, 1, 1, N'住满', 100, N'无');
INSERT INTO tb_kefang (fid, tid, fprice, fkzrs, fyzrs, fzhutai, fcnt, fmenu) VALUES (403, 2, 180, 1, 0, N'空房', 100, N'无');
INSERT INTO tb_kefang (fid, tid, fprice, fkzrs, fyzrs, fzhutai, fcnt, fmenu) VALUES (404, 2, 200, 1, 1, N'住满', 500, N'无');
INSERT INTO tb_kefang (fid, tid, fprice, fkzrs, fyzrs, fzhutai, fcnt, fmenu) VALUES (405, 2, 200, 0, 0, N'维修', 100, N'无');
INSERT INTO tb_kefang (fid, tid, fprice, fkzrs, fyzrs, fzhutai, fcnt, fmenu) VALUES (501, 5, 1000, 1, 0, N'空房', 500, N'无');
--2、查询所有用户              
  select*from tb_users;
--3、查询客房类型表的所有记录
  select*from tb_type;
--4、查询所有客房的信息
  select*from tb_kefang;
--5、查看登记表
  select*from tb_dengji;
--6、查看用户表中所有用户的用户名及密码
  select uname,upwd from tb_users;
--7、查看客房的状态(即只查询客房表的客房编号及状态)
  select fid,fkzrs,fyzrs,fcnt from tb_kefang;
--8、在客房表中查找所有的空房间
  select fkzrs from tb_kefang;
--10、查询所有入住统计大于100次的房间编号
  select*from tb_kefang where fcnt>100;
--11、查询喜来乐在该酒店住了多少天
  select*from tb_dengji drz;
--12、查询所有住满的房间,但要求字段名用中文别名
  select fyzrs as'已住人数' from tb_kefang;
--13、查询所有 2007 年 5 月份入住的客户
--14、客房表按入住次数排降序
 select *from tb_kefang order by fcnt desc ;
--15、客户表按入住次数排降序,但只显示前三甲
select top 3 *from tb_kefang order by fcnt desc ;
--16、登记表按入住时间排升序
select *from tb_dengji order by drz asc ;
--17、登记表中按房间号升序和入住时间降序
select *from tb_dengji order by drz desc and dfid asc;
--18、查询刘德华的登录密码 
select uname,upwd from tb_users where uname = '刘德华'

--19、查询所有有电视的房间(提示:用 like)
select fid from tb_kefang where fmenu like '%电视%'

--上机作业二

--1、查询所有姓张的客户(提示:left())
select * from tb_users where LEFT(uname,1) = '张'

--2、查询所有已经退房的记录(提示: is not null)
select * from tb_dengji where tufang is not null; 

--3、查询所有客户的名,不含姓 (substring()) 
select  SUBSTRING(uname,2,LEN(uname)) from tb_users

--4、将所有客户的名字变成类似“张某某”再显示,即只显示姓,名用某某代替 
select uid,REPLACE(uname,SUBSTRING(uname,2,LEN(uname)),'某某')as uname,upwd,usex,uage,usf from tb_users;

--7、查询客户表中所有一楼客房的入住情况(convert, left)
select * from tb_kefang where charindex('10',fid)!=0;

--8、查询押金在 200 到 500 之间的客户 
select * from tb_dengji where yajin=200 or  yajin=500;

--9、查询豪华间的入住情况 
select * from tb_type where tname='豪华间';

--10、查询所有维修的房间 
select * from tb_kefang where fzhutai='维修'

--11、按房价排序 
select * from tb_kefang order by fpr ice

--12、查询所有还可以住一个人的客房 
select * from tb_kefang where fkzrs-fyzrs=1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值