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小时内删除。
发表评论