资源描述:
《sql练习及其答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、EmployeesSalary表结构列名数据类型长度是否允许为空说明EmployeeIDChar6否员工编号,主键NameChar10否姓名BirthdayDatetime8否出生日期SexBit1否性别,默认值为1AddressvarChar40是地址ZipChar6是邮编PhonNumberChar12是电话号码EmailvarChar30是电子邮件DepartmentIDChar3否员工部门号,外键Departments表结构列名数据类型长度是否允许为空说明DepartmentIDChar3否部门编号,主键DepartmentNameChar20否部门名,要求唯一Note文本(
2、text)16是备注Salary表结构列名数据类型长度是否允许为空说明EmployeeIDChar6否员工编号,主键IncomeFlaot8否收入,要求输入的数据大于0Outcomeflaot8否支出查询操作:一、简单查询1、查询每个员工的所有数据。2、查询Departments表中的所有记录。3、查询Salary表中的所有记录。4、查询每个员工的地址和电话。5、查询每个部门的部门号与部门名。6、查询每个员工的员工编号与收入。7、查询所有女员工的姓名和地址及部门号,并用as子句将结果中各列的标题分别指定为姓名和地址及部门号。8、计算每个员工的实际收入。9、找出所有收入在2000~30
3、00之间的员工编号。10、查询员工的基本信息并按出生时间的先后排序。11、找出所有在部门‘1’或部门‘2’工作的员工的部门号及姓名。12、找出所有姓王的员工的姓名及部门号。13、找出所在其地址中含有“中山”的员工的姓名及地址。二、复杂查询一、子查询1、查找所有在财务部工作的员工的基本信息。2、查找所有收入在2500以下的员工的姓名及部门号。3、查找财务部年龄低于研发部员工年龄的员工的姓名。selectnamefromemployeeswheredepartmentidin(selectdepartmentidfromdepartmentswheredepartmentname='财务
4、部')andbirthday>all(selectbirthdayfromemployeeswheredepartmentidin(selectdepartmentidfromdepartmentswheredepartmentname='研发部'))二、连接查询1、查询每个员工的基本信息及其薪水情况。2、查询每个员工的情况及其工作部门的情况。3、查找财务部收入在2200以上的员工的姓名及其薪水详情。4、查找研发部在1966年以前出生的员工的姓名及其薪水情况。5、将各员工的情况按收入由低到高排序。三、数据的分类与汇总1、求所有女员工的平均收入。2、求财务部员工的平均收入。3、查询财务
5、部员工的最高和最低收入。4、求所有男员工的平均实际收入。5、求财务部员工的平均实际收入。6、查询财务部员工的最高和最低实际收入。7、求年龄在45以上的总人数。8、求财务部员工的总人数。9、求财务员收入在3000以上的总人数。10、求各部门的员工人数。11、统计各部门收入在2000以上的员工的人数。createdatabasetest1on(name=test1_dat,filename='d:test1_dat.mdf',size=2,MAXSIZE=10,filegrowth=10%)logon(name=test1_log,filename='d:test1_log.ldf'
6、,size=2,maxsize=2,filegrowth=0)alterdatabasetest1addfile(name=test1,filename='d:test1.ndf',size=3,maxsize=15,filegrowth=3)usetest1createtableEmployeesSalary(EmployeeIDchar(6)notnullprimarykey,Namechar(10)notnull,BirthdayDatetimenotnull,Sexbitdefault'男'notnull,AddressvarChar(20),Zipchar(6),Phon
7、Numberchar(12),EmailvarChar(30),DepartmentIDchar(3)notnullforeignkeyreferencesDepartments(DepartmentID))usetest1createtableDepartments(DepartmentIDchar(3)notnullprimarykey,DepartmentNamechar(20)notnullunique,Notetext,)usetest1crea