1.查询所有职工的姓名,同名职工只显示一次。
答案: select 姓名 as name,职工编号 as num from 职工表。
go2.查询职工编号(别名num),姓名(别名name)。
答案:select 姓名 as name,职工编号 as num from 职工表。
go3.查询1号部门年龄在20到30岁,以及2号部门年龄超过50的职工信息。
答案:select * from 职工表 where 部门编号=1 and datediff(year,出生日期,getdate())
between 20 and 30 or 部门编号=2 and datediff(year,出生日期,getdate())50
go4.查询姓名中包含‘强’这个字的所有女职工。
答案: select * from 职工表。
where 姓名。
like '%强' and 性别='女'
go5.根据职工的出生日期,将职工分为:青年(30岁以下),中年(30至50岁),老年(50岁以上)。
答案:select 姓名,阶段=case
when datediff(year,出生日期,getdate())30 then '青年'
when datediff(year,出生日期,getdate())between 30 and 50 then '中年'
when datediff(year,出生日期,getdate())50 then '老年'
end from 职工表。
go6.查询在1,2,3 号部门工作的职工编号和姓名。
答案: select 职工编号,姓名 from 部门编号=1 or 部门编号=2 or 部门编号=3
go7.查询1号部门负责人所负责的前三个项目名称。
答案:select top3 项目名称 from 项目表,部门表 where 项目表,负责人编号=部门表,负责人编号 and 部门编号=1
go8.查询各项目的名称、负责人姓名,所在部门名称,以及该负责人所联系的客户名称、地址。
答案:select 项目名称,姓名,部门名称,客户名称,地址。
from 项目表,部门表,职工表,客户表。
where 项目表,负责人编号=部门表,负责人编号 and部门表,部门编号=职工表,部门编号and项目表,客户编号=客户表,客户编号。
go9.查找最小公倍数和最大公约数。
declare @a int, @b int, @c int ,@d int
set @a=120
set @b=254
set @c=@a%@b
set @d=@a*@b
while @c!=0
beginset @a=@b
set @b=@c
set @c=@a%@b
if @c=0
breakelse
continue
endselect @b,@d/@bgo
作业02数据查询
1.数据库表结构图如下 完成查询 1 查询2008级学生的学号 姓名 课程 总评成绩。2 查询2008级学生的学号 姓名 课程名称 总评成绩。3 查询学生学号 姓名 性别及所属班级简名 班级全名 所在地点。4 查询2008级课程 为1304且平均总评成绩在80分以上的 码 专业名称及平均成绩。2.现...
数据查询练习
1.从图书管理数据库mbook中查询出所有读者的信息。2.查询姓名为 王林 的读者的借书证号 专业和借书量。3.计算 sql server实用教程 第3版 借出多少本。4.模糊查询书名中有 sql sever 字样的图书的书名 作译者和出版社。查询结果中将这三列的标题更改为bookname auth...
高级数据查询
1.学生管理数据库。学生表 表名 student 属性 sno 字符型,最大7个字符表示学生学号。sname 字符型,最大8个字符表示学生姓名。sage 整型表示学生年龄。ssex 字符型,最大2个字符表示学生性别。sdate 日期型表示学生入学时间。sdept 字符型,长度为20 表示所在系。约束...