SQL Server基础查询练习附答案.docx

上传人:b****4 文档编号:1462108 上传时间:2022-10-22 格式:DOCX 页数:15 大小:19.13KB
下载 相关 举报
SQL Server基础查询练习附答案.docx_第1页
第1页 / 共15页
SQL Server基础查询练习附答案.docx_第2页
第2页 / 共15页
SQL Server基础查询练习附答案.docx_第3页
第3页 / 共15页
SQL Server基础查询练习附答案.docx_第4页
第4页 / 共15页
SQL Server基础查询练习附答案.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

SQL Server基础查询练习附答案.docx

《SQL Server基础查询练习附答案.docx》由会员分享,可在线阅读,更多相关《SQL Server基础查询练习附答案.docx(15页珍藏版)》请在冰豆网上搜索。

SQL Server基础查询练习附答案.docx

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、显示雇员

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1