A. 用sql语言查询住在1号楼1层偶数房间的学生名单及宿舍号
看房间号的类型?
如果是字符串:
select sname,ssh from student
where ssh in ('110', '112', '114', '116', '118')
如果是数组,我觉得你写的挺好了,mod -> %
B. 谁能给我一些SQL的试题给我
(一)现有关系数据库如下:
数据库名:我班同学数据库
同学表(学号 char(6),姓名,性别,年龄,民族,身份证号,宿舍号)
宿舍表(宿舍号 char(6),宿舍电话)
用SQL语言实现下列功能的sql语句代码:
1.创建数据库[我班同学数据库]代码。
2.创建数据表[宿舍表]代码;
宿舍表(宿舍号 char(6),宿舍电话)
要求使用:主键(宿舍号)、宿舍电话:以633开头的7位电话号码
3.创建数据表[同学表]代码;
同学表(学号 char(6),姓名,性别,年龄,民族,身份证号,宿舍号)
要求使用:主键(学号)、外键(宿舍号)、默认(民族)、非空(民族,姓名,年龄)、唯一(身份证号)、检查(性别)
4.将下列宿舍信息添加到宿舍表的代码
宿舍号 宿舍电话
101 6331157
102 6331777
修改 宿舍号为101的 宿舍电话:6331158
删除 宿舍号为102的 宿舍信息
5.创建视图[同学表视图]代码;
同学表视图(学号, 姓名, 性别, 年龄, 民族, 身份证号, 宿舍号, 宿舍电话)
6.从同学表视图中查询姓张的女同学的姓名、性别、宿舍电话。
7.从同学表中查询女同学的最大年龄、最小年龄、平均年龄。
8.创建带参数的存储过程[某宿舍同学]:姓名, 性别, 宿舍电话
执行此过程,查询'101'宿舍情况
(二) 现有关系数据库如下:
数据库名:学生成绩数据库
学生表(学号 char(6),姓名,性别,民族,身份证号)
课程表(课号 char(6),名称)
成绩表(ID,学号,课号,分数)
用SQL语言实现下列功能的sql语句代码:
1.创建数据库[学生成绩数据库]代码 ;
2.创建[课程表]代码 ;
课程表(课号 char(6),名称)
要求使用:主键(课号)、非空(名称)
3. 创建[学生表]代码 ;
学生表(学号 char(6),姓名,性别,民族,身份证号)
要求使用:主键(学号)、默认(民族)、非空(民族,姓名)、唯一(身份证号)、检查(性别)
4. 创建[成绩表]代码 ;
成绩表(ID,学号,课号,分数)
要求使用:主键(课号)、外键(成绩表.学号,成绩表.课号)、检查(分数),自动编号(ID)
5. 将下列课程信息添加到课程表的代码
课号 课程名称
100001 大学语文
100002 大学英语
100003 西班牙语
修改 课号为100002的课程名称:实用英语
删除 课号为100003的课程信息
6. 写出创建:成绩表视图(学号,姓名,课号,课程名称,分数)的代码;
8. 写出创建:某门课程高低均分 计算某门课程成绩最高分、最低分、平均分 存储过程以及执行的代码;
执行:所有修 实用英语 这门学生的最高分、最低分、平均分;
9. 检索姓李的女同学的情况:姓名、性别、民族。
10.检索有一门或一门以上课程成绩大于等于90分的所有学生的信息,包括学号、姓名。
(三)有一个[学生课程]数据库,数据库中包括三个表:
学生表Student由学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)五个属性组成,记为: Student(Sno,Sname,Ssex,Sage,Sdept) ,Sno 为关键字。
课程表Course由课程号(Cno)、课程名(Cname)、先修课号(Cpno)、学分(Ccredit)四个属性组成,记为:Course(Cno,Cname,Cpno,Ccredit) Cno为关键字。
成绩表SG由学号(Sno)、课程号(Cno)、成绩(Grade)三个属性组成,记为:SG(Sno Cno, Grade) (SNO, CNO)为关键字。
用SQL语言实现下列功能:
1.建立学生表Student,其中学号属性不能为空,并且其值是唯一的。
2.向Student表增加“入学时间(Scome)”列,其数据类型为日期型。
3.查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列。
4.查询学习1号课程的学生最高分数、平均成绩。
5.查询与“李洋”在同一个系学习的学生。
6.将计算机系全体学生的成绩置零。
C. 再次求解数据库的sql语句问题,这是两张表的关联问题,有点小难度的。
select
s.sDNum,
isnull(sum(d.stuNum),0)stds, --计算每个宿的入住生数
s.spuwei - isnull(sum(d.stuNum),0) freeNum --余床位
from sushe s
left join student d on s.sLNum=d.stuDNum --联表条件:宿舍号
group by s.sDNum,s.spuwei --分类字段,spuwei放在这里是为了做减法时要用到。
---------------------
你的空铺铺位的分配,是从1-4顺序发放,还是可以让学生自行挑选?
如果你要统计具体到某个铺位,而又不想在数据库生成铺位表,那就需要在学生分配表里加一个字段[铺位].
你在查询的时候,就需要临时的生成一张表,实际是一个1-4的序列,让它与宿舍表先联接,这样你的查询主表就变成宿舍_铺位表(或以考虑用视图),然后与学生分配表关联时on的条件加上铺位=铺位,最后如果是统计,与上面的代码逻辑一致,如果是要查铺位情况,同样联表查询就行了,只是少了分类汇总,改为在查询中添加相应的条件.
D. 求帮解这几道SQL的题
1.创建数据表[宿舍表]代码;
宿舍表(宿舍号char(6),宿舍电话)
要求使用:主键(宿舍号)、宿舍电话:以633开头的7位电话号码
createtable宿舍表
(宿舍号char(6)primarykey,
宿舍电话varchar(7)check(宿舍电话like'633%'))
2.将下列宿舍信息添加到宿舍表的代码
宿舍号宿舍电话
1016331157
1026331777
insertinto宿舍表values('101','6331157')
insertinto宿舍表values('102','6331777')
修改宿舍号为101的宿舍电话:6331158
update宿舍表set宿舍电话='6331158'wherertrim(宿舍号)='101'
删除宿舍号为102的宿舍信息
deletefrom宿舍表wherertrim(宿舍号)='102'
3.创建视图[同学表视图]代码;
同学表视图(学号,姓名,性别,年龄,民族,身份证号,宿舍号,宿舍电话)
createview同学表视图
as
select同学表.学号,同学表.姓名,同学表.性别,同学表.年龄,同学表.民族,同学表.身份证号,同学表.宿舍号,同学表.宿舍电话
from同学表,宿舍表where同学表.宿舍号=宿舍表.宿舍号
4.从同学表视图中查询姓张的女同学的姓名、性别、宿舍电话。
select姓名,性别,宿舍电话
from同学表视图where姓名like'张%'and性别='女'
5.从同学表中查询女同学的最大年龄、最小年龄、平均年龄。
selectmax(年龄)as最大年龄,min(年龄)as最小年龄,avg(年龄)as平均年龄
from同学表where性别='女'
少年,这个其实没什么太难的,多看看书就会,希望你能顺利通过考试
E. sql中的换宿舍用什么方法写比较好
单纯的用replace()不行抄的,我这有个办法,如果楼袭主这个字段的形式比较固定,比如:
都是XXX-123456789-123就是相同的位都是"-",那么可以这样写SQL语句:
update table_name set fields = substring(fields,1,4)+relace(substring(fields,5,len(fields)),'-','***')
这样就可以只替换后面的"-"符号了。
F. 拜求高手速答
我来做 五、查询分析题
1.select 课程号,课程名称 from 课程表
where 教师姓名='李老师';
2.select 学号,姓名 from 学生表
where 年龄>23 and 性别='女';
3.select * from 学生表,选课表
where 学生表.学号=选课表.学号 and 姓名='李小波';
G. 用SQL语句修改学生表的学号列在学号前加两位“19”在第四位后加入二位“00”
如果不多的话就直接修改
要更新就
update table set id='19'+substring(id,1,4)+'00'+substring(id,5,3)
H. 关于sql语句如何批量修改数据。
update A表
set 学生年纪 = ‘4’
where 学生号 between 1 and 5
or 学生号 between 7 and 11;
纯手打,求给分
I. sql语句怎么写
假定:
班级表 A 字段 ClassID ClassNumber
寝室表 B 字段 RoomID RoomNumber ClassID Score
分2步。
第一步,找到寝室卫生得分为差的班级
select distinct A.ClassNumber --distinct 用来去掉重复的数据
from B
left join A on B.ClassID = A.ClassID
where B.Score = '差'
第二步,找到不在以上班级之内的其他班级
select ClassNumber
from A
where ClassID not in (
select distinct A.ClassNumber --distinct 用来去掉重复的数据
from B
left join A on B.ClassID = A.ClassID
where B.Score = '差'
)
看懂了哇?
J. 用sql语言 查询没有住满的学生宿舍号显示出来
--假设人数4个住满,你只需要将下面语句中的4改成你们宿舍住满数就是了
(sno)<4
--最后楼上的2位,根本不需要宿舍表就可以了,还要浪费资源做表连接