SQL一些简单的查询
来源:互联网 发布:淘宝淘金币半币抢购 编辑:程序博客网 时间:2024/05/16 17:13
use master
go
if exists(select name from sys.databases where name='test')
drop database test
go
create database test
go
use test
go
if exists(select name from sys.tables where name='bumeng')
drop table 'bumeng'
go
create table bumeng(
bmId int primary key not null,
bmName varchar(20) not null,
bmCity varchar(50) not null
)
go
if exists(select name from sys.tables where name='GYInfo')
drop table GYInfo
go
create table GYInfo(
GYId int primary key not null,
GYName varchar(20) not null,
GYJob varchar(20) not null,
GYSjId int not null,
GYdate datetime not null,
GYGz int not null,
GYZt int ,
GYBm int constraint FK_BMId foreign key(GYBM) references bumeng(bmId) not null
)
insert bumeng(bmId,bmName,bmCity) values ('10','ACCOUNTING','NEW YORK')
insert bumeng(bmId,bmName,bmCity) values ('20','Research','DALLAS')
insert bumeng(bmId,bmName,bmCity) values ('30','SALES','CHICAGO')
insert bumeng(bmId,bmName,bmCity) values ('40','OPERATIONS','BOSTON')
go
insert dbo.GYInfo(GYId,GYName,GYJob,GYSjId,GYdate,GYGz,GYZt,GYBm) values('7369','SMITH','CLERK','7902','1980-12-17','800','','20')
insert dbo.GYInfo(GYId,GYName,GYJob,GYSjId,GYdate,GYGz,GYZt,GYBm) values('7499','ALLEN','SALESMAN','7698','1981-2-20','1600','300','30')
insert dbo.GYInfo(GYId,GYName,GYJob,GYSjId,GYdate,GYGz,GYZt,GYBm) values('7521','WARD','SALESMAN','7698','1981-2-22','1250','500','30')
insert dbo.GYInfo(GYId,GYName,GYJob,GYSjId,GYdate,GYGz,GYZt,GYBm) values('7566','JONES','MANAGER','7839','1981-4-2','3975','','20')
insert dbo.GYInfo(GYId,GYName,GYJob,GYSjId,GYdate,GYGz,GYZt,GYBm) values('7654','MARTIN','SALESMAN','7698','1981-9-28','1250','1400','30')
insert dbo.GYInfo(GYId,GYName,GYJob,GYSjId,GYdate,GYGz,GYZt,GYBm) values('7698','BLAKE','MANAGER','7839','1981-5-1','2850',' ','30')
insert dbo.GYInfo(GYId,GYName,GYJob,GYSjId,GYdate,GYGz,GYZt,GYBm) values('7788','SCOTT','ANALYST','7566','1987-4-19','3000',' ','20')
insert dbo.GYInfo(GYId,GYName,GYJob,GYSjId,GYdate,GYGz,GYZt,GYBm) values('7844','TURNER','SALESMAN','7698','1981-9-8','1500','0','30')
insert dbo.GYInfo(GYId,GYName,GYJob,GYSjId,GYdate,GYGz,GYZt,GYBm) values('7876','ADAMS','CLERK','7788','1987-5-23','1100',' ','20')
insert dbo.GYInfo(GYId,GYName,GYJob,GYSjId,GYdate,GYGz,GYZt,GYBm) values('7900','JAMES','CLERK','7698','1981-12-3','950',' ','30')
insert dbo.GYInfo(GYId,GYName,GYJob,GYSjId,GYdate,GYGz,GYZt,GYBm) values('7902','FORD','ANALYST','7566','1981-12-3','3000',' ','20')
go
--1、列出至少有一个雇员的所有部门
select bmId,bmName,bmCity from dbo.bumeng
where bmId in(select GYBm from dbo.GYInfo )
go
--2、列出薪金比"SMITH"多的所有雇员
select GYName from dbo.GYInfo where GYGz>(
select GYGz from dbo.GYInfo where GYName='SMITH'
)
go
--3、列出所有雇员的姓名及其直接上级的姓名
select gy.GYName as 'name',(select GYName from GYInfo as sj where gy.GYSjId=sj.GYId ) as 'sj' from dbo.GYInfo as gy
go
--4、列出入职日期早于其直接上级的所有雇员
select gy.GYName from dbo.GYInfo as gy where gy.GYdate<
(
select sj.GYdate from dbo.GYInfo as sj where gy.GYSjId=sj.GYId
)
go
--5、列出部门名称和这些部门的雇员,同时列出那些没有雇员的部门
select bmName,GYName from dbo.bumeng
left join dbo.GYInfo on bumeng.bmId=GYInfo.GYBm
go
--6、列出所有"CLERK"(办事员)的姓名及其部门名称
select GYName,(select bmname from bumeng where bmId=gy.GYBm ) as bm from dbo.GYInfo as gy
where GYJob = 'CLERK'
go
--7、列出各种工作类别的最低薪金,并使最低薪金大于1500
select GYJob,min(GYGz) as minGz from GYInfo where GYGz<1500 group by GYJob
go
--8、列出从事“SALES”(销售)工作的雇员的姓名,假定不知道销售部的部门编号
select GYName from GYInfo where GYBm in (select bmid from bumeng where bmName='SALES')
go
--9、列出薪金高于公司平均水平的所有雇员
select GYName from GYInfo where GYGz >(select AVG(GYGz) from GYInfo)
go
--10、列出与“SCOTT”从事相同工作的所有雇员
select GYName from GYInfo where GYJob =(select GYJob from GYInfo where GYName='SCOTT')
go
--11、列出某些雇员的姓名和薪金,条件是他们的薪金等于部门30中任何一个雇员的薪金
select GYName,GYGz from GYInfo where GYGz in (select GYGz from GYInfo where GYBm='30')
go
--12、列出某些雇员的姓名和薪金,条件是他们的薪金高于部门30中所有雇员的薪金
select GYName,GYGz from GYInfo where GYGz > (select max(GYGz) from GYInfo where GYBm='30')
go
--13、列出每个部门的信息以及该部门中雇员的数量
select bmId,bmName,bmCity,(select count(gyid) from GYInfo where GYBm=bmId) as gynum from bumeng
go
--14、列出所有雇员的雇员名称、部门名称和薪金
select GYName,(select bmName from dbo.bumeng where bmId=GYBm) as bm,GYGz from dbo.GYInfo
go
--15、列出从事同一种工作但属于不同部门的雇员的不同组合
select GYJob,(select bmName from bumeng where bmId=GYBm) as bm from dbo.GYInfo group by GYJob,GYBm
go
--16、列出分配有雇员数量的所有部门的详细信息,即使是分配有0个雇员
select bmid,bmname,bmcity, GYName,GYJob,GYSjId,GYdate,GYGz,GYZt from dbo.bumeng
left join dbo.GYInfo
on bmid=GYBm
go
--17、列出各种类别工作的最低工资
select gj.gyjob, (select Min(yz.GYGz) from dbo.GYInfo as yz where yz.GYJob = gj.GYJob) as gz from dbo.GYInfo as gj group by gj.GYJob
go
--18、列出各个部门的MANAGER(经理)的最低薪金
select (select bmName from dbo.bumeng where bmId=GYBm)as bm,'MANAGER' as gyjob ,min(GYGz) as Gz from dbo.GYInfo where GYJob='MANAGER' group by GYBm
go
--19、列出按计算的字段排序的所有雇员的年薪
select GYName,(GYGz+GYZt)*12 as lx from dbo.GYInfo order by lx
go
--20、列出薪金水平处于第四位的雇员
select top 1 GYName,GYGz from dbo.GYInfo where GYId not in (select top 3 GYId from dbo.GYInfo order by GYGz desc) order by GYGz desc
go
以前的题目,最近整理出来了,以备后用.
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------详细请查看:http://net.itheima.com/- SQL一些简单的查询
- 【sql】一些简单的sql查询
- 一些简单的查询
- sql查询语句的一些简单优化措施(持续补充)
- SQL的简单查询
- 简单的sql查询
- oracle的一些sql查询
- SQL 一些常用的查询
- 简单的Transact-SQL查询
- SQL的简单查询实例教程
- SQL的简单查询实例教程
- SQL 简单的使用查询
- SQL语言的简单查询
- 简单的sql查询优化
- 几个简单的sql查询
- mysql数据库的一些简单的sql语句 内连接 - 表的关联查询
- Sql Server 的crud(增删改查)以及一些简单的嵌套查询
- 一些简单的SQL操作
- 字符统计~有点小惊讶~
- HTML5 + Ajax 的演示收集
- Unix操作系统基础:Unix文件系统之文件
- cocos2d Touche 事件响应原理
- 读取plist。
- SQL一些简单的查询
- winform全屏问题总结
- 网络摄像头mjpg-stream
- 忆最近一次八期会议
- 采用RDP协议,winxp远程桌面连接ubuntu10.10
- svn迁移,备份,重装系统后恢复数据
- java.util.Date and java.sql.Date
- 19---java中枚举04(枚举的其他应用)
- IIS6.0 win2003 iisstart.htm 无法访问