EmployeesSalary表结构
列名
数据类型
长度
是否允许为空
说明
EmployeeID
Char
6
员工编号,主键
Name
Char
10
姓名
Birthday
Datetime
8
出生日期
Sex
Bit
1
性别,默认值为1
Address
varChar
40
地址
Zip
Char
6
邮编
PhonNumber
Char
12
电话号码
Email
varChar
30
DepartmentID
Char
3
员工部门号,外键
                   
Departments表结构
列名
数据类型
长度
是否允许为空
说明
DepartmentID
Char
3
部门编号,主键
DepartmentName
Char
20
部门名,要求唯一
Note
文本(text)
16
备注
                  Salary表结构
列名
数据类型
长度
是否允许为空
sql查询面试题及答案说明
EmployeeID
Char
6
员工编号,主键
Income
Flaot
8
收入,要求输入的数据大于0
Outcome
flaot
8
支出
查询操作:
一、简单查询
1、 查询每个员工的所有数据。
2、 查询Departments表中的所有记录。
3、 查询Salary表中的所有记录。
4、 查询每个员工的地址和电话。
5、 查询每个部门的部门号与部门名。
6、 查询每个员工的员工编号与收入。
7、 查询所有女员工的姓名和地址及部门号,并用as子句将结果中各列的标题分别指定为姓名和地址及部门号。
8、 计算每个员工的实际收入。
9、 出所有收入在2000~3000之间的员工编号。
10、 查询员工的基本信息并按出生时间的先后排序。
11、 出所有在部门‘1’或部门‘2’工作的员工的部门号及姓名。
12、 出所有姓王的员工的姓名及部门号。
13、 出所在其地址中含有“中山”的员工的姓名及地址。
二、复杂查询
一、子查询
1、查所有在财务部工作的员工的基本信息。
2、查所有收入在2500以下的员工的姓名及部门号。
3、查财务部年龄低于研发部员工年龄的员工的姓名。
select name from employees
where departmentid in(select departmentid  from departments where departmentname='财务部')
      and birthday >all (select birthday from employees
                            where departmentid in(select departmentid  from departments where departmentname='研发部') )
二、连接查询
1、查询每个员工的基本信息及其薪水情况。
2、查询每个员工的情况及其工作部门的情况。
3、查财务部收入在2200以上的员工的姓名及其薪水详情。
4、查研发部在1966年以前出生的员工的姓名及其薪水情况。
5、将各员工的情况按收入由低到高排序。
三、数据的分类与汇总
1、求所有女员工的平均收入。
2、求财务部员工的平均收入。
3、查询财务部员工的最高和最低收入。
4、求所有男员工的平均实际收入。
5、求财务部员工的平均实际收入。
6、查询财务部员工的最高和最低实际收入。
7、求年龄在45以上的总人数。
8、求财务部员工的总人数。
9、求财务员收入在3000以上的总人数。
10、求各部门的员工人数。
11、统计各部门收入在2000以上的员工的人数。
create database test1
on
(name=test1_dat,
filename='d:\test1_dat.mdf',
size=2,
MAXSIZE=10,
filegrowth=10%)
log on
(name=test1_log,
filename='d:\test1_log.ldf',
size=2,
maxsize=2,
filegrowth=0)
alter database test1
add file
(name=test1,
filename='d:\test1.ndf',
size=3,
maxsize=15,
filegrowth=3)
use test1
create table EmployeesSalary(
EmployeeID char(6) not null primary key,
Name char(10) not null ,
Birthday Datetime not null,
Sex bit default'男' not null,
Address varChar(20),
Zip char(6),
PhonNumber char(12),
Email varChar(30),
DepartmentID char(3)  not null foreign key references Departments(DepartmentID)
)
use test1
create table Departments(
DepartmentID char(3) not null primary key,
DepartmentName char(20) not null unique,
Note text,
)
use test1
create table  Salary(
EmployeeID char(6) not null primary key,
Income float(8) not null constraint CK_Salary CHECK(Income>0),
Outcome float(8) not null
)
select  *from EmployeesSalary
select  *from Departments
select  *from salary
select name,Address,PhonNumber from EmployeesSalary
select DepartmentID,Departmentname from Departments
select  Salary.EmployeeID,income from Salary
select Name as 姓名,Address as 地址,DepartmentID as 部门号 from EmployeesSalary where(Sex='0')
select EmployeeID,(income-outcome) as 实际收入 from salary
select EmployeeID from salary where(income>2000 and income<3000)
select  *from EmployeesSalary order by Birthday
select DepartmentID,Name from EmployeesSalary where(DepartmentID='1' or DepartmentID='2')
select Name,DepartmentID from EmployeesSalary where(Name like '王%')
select Name,Address from EmployeesSalary where(Address like '%中山%')
select * from EmployeesSalary where DepartmentID in (select DepartmentID from Departments where DepartmentName='财务部')
select Name,DepartmentID from EmployeesSalary where EmployeeID in (select EmployeeID from salary where Income<2500)
select name from EmployeesSalary
where departmentid in(select departmentid  from departments where departmentname='财务部')
      and birthday>all (select birthday from EmployeesSalary
                            where departmentid in(select departmentid  from departments where departmentname='研发部') )
select Employeessalary.*,income
from  Employeessalary,salary  ployeeid = ployeeid
select Employeessalary.*,income
from  EmployeesSalary join salary ployeeid = ployeeid
ployeeid,name,birthday,sex,address,zip,phonnumber,email,EmployeesSalary.departmentid,DepartmentName
from  EmployeesSalary,Departments where EmployeesSalary.DepartmentID = Departments.DepartmentID
select  EmployeesSalary.name,Salary.income from EmployeesSalary,Salary
where Employeessalary.EmployeeID=salary.EmployeeID and DepartmentID in
(select DepartmentID from Departments where DepartmentName='财务部') and income>2200

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。