SQL Server基础查询练习附答案.docx
- 文档编号:1462108
- 上传时间:2022-10-22
- 格式:DOCX
- 页数:15
- 大小:19.13KB
SQL Server基础查询练习附答案.docx
《SQL Server基础查询练习附答案.docx》由会员分享,可在线阅读,更多相关《SQL Server基础查询练习附答案.docx(15页珍藏版)》请在冰豆网上搜索。
SQLServer基础查询练习附答案
--创建数据库
USE[master]
GO
CREATEDATABASE[test]ONPRIMARY
(NAME=N'test',FILENAME=N'D:
\SQL\DataBase\test.mdf',SIZE=3072KB,MAXSIZE=UNLIMITED,FILEGROWTH=1024KB)
LOGON
(NAME=N'test_log',FILENAME=N'D:
\SQL\DataBase\test_log.ldf',SIZE=1024KB,MAXSIZE=2048GB,FILEGROWTH=10%)
GO
ALTERDATABASE[test]SETCOMPATIBILITY_LEVEL=90
GO
IF(1=FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
begin
EXEC[test].[dbo].[sp_fulltext_database]@action='enable'
end
GO
ALTERDATABASE[test]SETANSI_NULL_DEFAULTOFF
GO
ALTERDATABASE[test]SETANSI_NULLSOFF
GO
ALTERDATABASE[test]SETANSI_PADDINGOFF
GO
ALTERDATABASE[test]SETANSI_WARNINGSOFF
GO
ALTERDATABASE[test]SETARITHABORTOFF
GO
ALTERDATABASE[test]SETAUTO_CLOSEOFF
GO
ALTERDATABASE[test]SETAUTO_CREATE_STATISTICSON
GO
ALTERDATABASE[test]SETAUTO_SHRINKOFF
GO
ALTERDATABASE[test]SETAUTO_UPDATE_STATISTICSON
GO
ALTERDATABASE[test]SETCURSOR_CLOSE_ON_COMMITOFF
GO
ALTERDATABASE[test]SETCURSOR_DEFAULTGLOBAL
GO
ALTERDATABASE[test]SETCONCAT_NULL_YIELDS_NULLOFF
GO
ALTERDATABASE[test]SETNUMERIC_ROUNDABORTOFF
GO
ALTERDATABASE[test]SETQUOTED_IDENTIFIEROFF
GO
ALTERDATABASE[test]SETRECURSIVE_TRIGGERSOFF
GO
ALTERDATABASE[test]SETDISABLE_BROKER
GO
ALTERDATABASE[test]SETAUTO_UPDATE_STATISTICS_ASYNCOFF
GO
ALTERDATABASE[test]SETDATE_CORRELATION_OPTIMIZATIONOFF
GO
ALTERDATABASE[test]SETTRUSTWORTHYOFF
GO
ALTERDATABASE[test]SETALLOW_SNAPSHOT_ISOLATIONOFF
GO
ALTERDATABASE[test]SETPARAMETERIZATIONSIMPLE
GO
ALTERDATABASE[test]SETREAD_COMMITTED_SNAPSHOTOFF
GO
ALTERDATABASE[test]SETREAD_WRITE
GO
ALTERDATABASE[test]SETRECOVERYSIMPLE
GO
ALTERDATABASE[test]SETMULTI_USER
GO
ALTERDATABASE[test]SETPAGE_VERIFYCHECKSUM
GO
ALTERDATABASE[test]SETDB_CHAININGOFF
GO
--创建表
USEtest
CREATETABLEemp
(
EMPNONUMERIC(5,0)NOTNULL,
ENAMENVARCHAR(10),
JOBNVARCHAR(9),
MGRNUMERIC(5,0),
HIREDATEDATETIME,
SALNUMERIC(7,2),
COMMNUMERIC(7,2),
DEPTNONUMERIC(2,0),
)
CREATETABLEdept
(
DEPTNONUMERIC
(2),
DNAMENVARCHAR(14),
LOCNVARCHAR(13),
)
--插入数据
INSERTINTOEMPVALUES
(7369,'SMITH','CLERK',7902,'2000-12-17',800,NULL,20)。
INSERTINTOEMPVALUES
(7499,'allen','SALESMAN',7698,'2001-2-20',1600,300,30)。
INSERTINTOEMPVALUES
(7521,'WARD','SALESMAN',7698,'2001-2-22',1250,500,30)。
INSERTINTOEMPVALUES
(7566,'JONES','MANAGER',7839,'2001-4-2',2975,NULL,20)。
INSERTINTOEMPVALUES
(7654,'MARTIN','SALESMAN',7698,'2001-9-28',1250,1400,30)。
INSERTINTOEMPVALUES
(7698,'BLAKE','MANAGER',7839,'2001-5-1',2850,NULL,30)。
INSERTINTOEMPVALUES
(7782,'CLARK','MANAGER',7839,'2001-6-9',2450,NULL,10)。
INSERTINTOEMPVALUES
(7788,'scott','ANALYST',7566,'2002-12-9',3000,NULL,20)。
INSERTINTOEMPVALUES
(7839,'king','PRESIDENT',NULL,'2001-11-17',5000,NULL,10)。
INSERTINTOEMPVALUES
(7844,'TURNER','SALESMAN',7698,'2001-9-8',1500,0,30)。
INSERTINTOEMPVALUES
(7876,'ADAMS','CLERK',7788,'2003-1-12',1100,NULL,20)。
INSERTINTOEMPVALUES
(7900,'JAMES','CLERK',7698,'2001-3-12',950,NULL,30)。
INSERTINTOEMPVALUES
(7902,'FORD','ANALYST',7566,'2001-3-12',3000,NULL,20)。
INSERTINTOEMPVALUES
(7934,'MILLER','CLERK',7782,'2002-01-23',1300,NULL,10)。
INSERTINTODEPTVALUES(10,'ACCOUNTING','NEWYORK')。
INSERTINTODEPTVALUES(20,'RESEARCH','DALLAS')。
INSERTINTODEPTVALUES(30,'SALES','CHICAGO')。
INSERTINTODEPTVALUES(40,'OPERATIONS','BOSTON')。
--1、查询所有的雇员
SELECT*
FROMemp
--2、查询所有的部门
SELECT*
FROMdept
--3、查询没有佣金(COMM)的所有雇员信息
SELECT*
FROMdbo.emp
WHERECOMMISNULL
--4、查询薪金(SAL)和佣金(COMM)总数大于2000的所有雇员信息
SELECT*
FROMemp
WHERE(sal+ISNULL(comm,0))>2000
--5、选择部门30中的雇员
SELECT*
FROMemp
WHEREdeptno=30
--6、列出所有办事员("CLERK")的姓名、编号和部门
SELECTename,
empno,
dname
FROMemp
JOINdeptONemp.deptno=dept.deptno
WHEREemp.job='CLERK'
--7、找出佣金高于薪金的雇员
SELECT*
FROMemp
WHEREcomm>sal
--8、找出佣金高于薪金60%的雇员
SELECT*
FROMemp
WHEREcomm>sal*0.6
--9、找出部门10中所有经理和部门20中的所有办事员的详细资料
SELECT*
FROMemp
WHERE(job='MANAGER'
ANDdeptno=10
)
OR(job='CLERK'
ANDdeptno=20
)
ORDERBYjob
--10、找出部门10中所有经理、部门20中所有办事员,
--既不是经理又不是办事员但其薪金>=2000的所有雇员的详细资料
SELECT*
FROMdbo.emp
WHERE(JOB='MANAGER'
ANDDEPTNO=10
)
OR(JOB='CLERK'
ANDDEPTNO=20
)
OR(JOBNOTIN('MANAGER','CLERK')
ANDSAL>=2000
)
ORDERBYJOB
--11、找出收取佣金的雇员的不同工作
SELECTDISTINCT
JOB
FROMdbo.emp
WHERECOMMISNOTNULL
--12、找出不收取佣金或收取的佣金低于100的雇员
SELECT*
FROMemp
WHEREISNULL(comm,0)<100
--13、找出早于12年之前受雇的雇员
SELECT*
FROMdbo.emp
WHEREYEAR(GETDATE())-YEAR(HIREDATE)>11
--14、显示首字母大写的所有雇员的姓名
SELECTename
FROMemp
WHEREASCII(ename)BETWEEN65AND90
--15、显示正好为5个字符的雇员姓名
SELECTename
FROMemp
WHERELEN(ename)=5
--16、显示带有'R'的雇员姓名
SELECTENAME
FROMdbo.emp
WHEREENAMELIKE'%R%''
--17、显示不带有'R'的雇员姓名
SELECTENAME
FROMdbo.emp
WHEREENAMENOTLIKE'%R%'
--18、显示包含"A"的所有雇员的姓名及"A"在姓名字段中的位置
SELECTENAME,
CHARINDEX('A',ENAME)A的位置
FROMdbo.emp
WHEREENAMELIKE'%A%'
--19、显示所有雇员的姓名,用a替换所有'A'
SELECTREPLACE(ename,'A','a')ENAME
FROMdbo.emp
--20、显示所有雇员的姓名的前三个字符
SELECTSUBSTRING(ename,1,3)ENAME
FROMdbo.emp
--21、显示雇员
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL Server基础查询练习附答案 Server 基础 查询 练习 答案