--查询学生们有哪些专业,只显示专业列,过滤掉重复行。selectdistinct 专业 from 学生;--统计有学生选修的课程门数。selectCOUNT(*)as 课程数 from 课程;--求选修C004课程的学生的平均年龄。selectavg(年龄)as 平均年龄 from 学生,选课 where 学生.学号=选课.学号 and 课程号='C004';--求学分为3的每门课程的学生平均成绩。selectavg(成绩)as 平均成绩,选课.课程号 from 选课,课程 where 选课.课程号=课程.课程号 and 学分=3groupby 选课.课程号;--统计每门课程的学生选修人数,超过三人的课程才能统计。要求输出课程号和选修人数,查询结果按人数降序排列,--若人数相同,按课程号升序排列。selectcount(学号)as 选修人数,课程号 from 选课 groupby 课程号 having 选修人数>3orderby 选修人数 desc,课程号 asc;--检索姓王的学生的姓名和年龄。select 姓名,年龄 from 学生 where 姓名 like'王%'--在选课表中检索成绩为空值的学生的学号和课程号。select 学号,课程号 from 选课 where 成绩 isnull;--查询没有学生选修的课的课程号和课程名。select 课程号,课程名 from 课程 where 课程号 notin(select 课程号 from 选课);--求年龄大于女同学平均年龄的男学生姓名和年龄。select 姓名,年龄 from 学生 where 性别='男'and 年龄>(selectAVG(年龄)from 学生 where 性别='女')--求年龄大于所有女同学年龄的男学生姓名和年龄。select 姓名,年龄 from 学生 where 性别='男'and 年龄>all(select 年龄 from 学生 where 性别='女')--查询所有与张丽娜同年级,同专业,但比王华年龄大的学生的姓名,年龄和性别。select 姓名,年龄,性别 from 学生 where 专业=(select 专业 from 学生 where 姓名='张丽娜')and 年级=(select 年级 from 学生 where 姓名='张丽娜')and 年龄>(select 年龄 from 学生 where 姓名='张丽娜');--查询选修课程C002的学生中成绩最高的学生的学号。select 学号 from 选课 where 课程号='C002'and 成绩=(selectMAX(成绩)from 选课 where 课程号='C002')--检索学生姓名及其所选修课程的课程号和成绩。select 学生.姓名,选课.课程号,选课.成绩 from 学生,选课 where 学生.学号=选课.学号;--检索选修4门以上课程的学生平均成绩(不统计不及格的课程),并要求按平均成绩的降序排列出来。selectavg(成绩)as 平均成绩 from 选课 groupby 学号 havingcount(课程号)>4orderby 平均成绩;select 学号,AVG(成绩)as 平均成绩 from 选课 groupby 学号 havingCOUNT(*)>4orderbyAVG(成绩)desc;--检索选修两门及以上课程的学生平均成绩只取前5名。selectavg(成绩)as 平均成绩 from 选课 groupby 学号 havingcount(课程号)>1orderby 平均成绩 limit5;--查询每个学生的总学分。select 学号,SUM(学分)as 总学分 from 选课,课程 where 选课.课程号=课程.课程号 groupby 学号;--查询每位教师所担任的课程,显示课程名,教师名,学时(学分*16)。select 教师名,课程名,学分*16as 学分 from 教师,课程 where 教师.教师号=课程.教师号;--教师工资加5%。update 教师 set 工资=工资*(1+0.05)select*from 教师;
--查询青岛海尔生产的商品信息。select*from 商品 where 生产商='青岛海尔';--查询001号仓库储存的商品的编号和数量。select 库存情况.商品编号,数量 from 库存情况 where 仓库编号='001'--查询所有商品的种类名称。selectdistinct 商品名称 from 商品;--查询商品的单价在2000到3000之间的商品信息。select*from 商品 where 单价 between2000and3000;--查询所有商品的信息,其中单价打八折显示。select 商品编号,商品名称,单价=单价*0.8,生产商 from 商品;--查询青岛海尔和青岛海信生产的商品的信息。select*from 商品 where 生产商='青岛海尔'or 生产商='青岛海信';--查询李立平管理的仓库存储的商品信息。select 商品.*from 商品,库存情况,管理员 where 管理员姓名='李立平'and 管理员.仓库编号=库存情况.仓库编号 and 库存情况.商品编号=商品.商品编号;--查询2号楼101仓库的管理员的姓名和年龄。select 管理员姓名,year(getdate())-year(出生年月)as 年龄 from 管理员,仓库 where 仓库地址='2号楼101'and 仓库.仓库编号=管理员.仓库编号
--查询不是青岛生产的商品的信息。select*from 商品 where 生产商 notlike'%青岛%';--查询库存总量最少的仓库的编号。--方法一select 仓库编号 from 仓库 where 容量=(selectmin(容量)from 仓库);--方法二select 仓库编号 from 仓库 orderby 容量 asclimit1;--查询各生产厂家的商品库存总量。select 生产商,sum(数量)as 库存总量 from 商品,库存情况 where 商品.商品编号=库存情况.商品编号 groupby 生产商;--将2号楼101仓库的管理员的姓名改为"张伟"。update 管理员 set 管理员姓名='张伟'where 仓库编号=(select 仓库编号 from 仓库 where 仓库地址='2号楼101');select*from 管理员;--删除四川长虹的产品的库存信息。delete 库存情况 where 商品编号=(select 商品编号 from 商品 where 生产商='四川长虹');select*from 库存情况;--查询每个仓库存放的商品品种数。select 仓库编号,count(商品编号)as 商品品种数 from 库存情况 groupby 仓库编号;--仓库容量增加百分之5。Update 仓库 set 容量=容量*(1+0.05);select*from 仓库;