<!-- [if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning/> <w:DrawingGridVerticalSpacing>7.8 磅</w:DrawingGridVerticalSpacing> <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery> <w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery> <w:ValidateAgainstSchemas/> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:SpaceForUL/> <w:BalanceSingleByteDoubleByteWidth/> <w:DoNotLeaveBackslashAlone/> <w:ULTrailSpace/> <w:DoNotExpandShiftReturn/> <w:AdjustLineHeightInTable/> <w:BreakWrappedTables/> <w:SnapToGridInCell/> <w:WrapTextWithPunct/> <w:UseAsianBreakRules/> <w:DontGrowAutofit/> <w:UseFELayout/> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!-- [if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--><!-- [if !mso]> <object classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id=ieooui> </object> <style> st1\:*{behavior:url(#ieooui) } </style> <![endif]--><!-- [if gte mso 10]> <style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman"; mso-ansi-language:#0400; mso-fareast-language:#0400; mso-bidi-language:#0400;} </style> <![endif]-->
1. 找出各月最后一天受雇的所有雇员
select * from scott.emp where HIREDATE in last_day(HIREDATE);
2. 找出早于 12 年之前受雇的雇员
select * from scott.emp where months_between(sysdate,hiredate)>12*12;
3. 显示只有首字母大写的所有雇员的姓名
select ename from emp1 where ename = initcap(ename);
4. 显示正好为 15 个字符的雇员姓名
select substr(ENAME,0,15) from scott.emp;
5. 显示不带有 ’R’ 的雇员姓名
select ENAME from scott.emp where ENAME not like’%R%’;
6. 显示所有雇员的姓名的前 3 个字符
select substr(ENAME,0,3) from scott.emp;
7. 显示所有雇员的姓名,用 ’a’ 替换所有的 ’A’
select replace(ENAME,’A’,’a’) from scott.emp;
8. 显示所有雇员的姓名以及满 10 年服务年限的日期
select ENAEM ,HIREDATE from scott.emp where months_between(sysdate,HIREDATE)>120;
select emp.*, add_months(hiredate,120) from emp;
9. 显示雇员的详细资料,按姓名排序
select * from scott.emp order by ENAME ;
10. 显示雇员姓名,根据其服务年限,将最老的雇员排在最前面
select ENAME,HIREDATE from scott.emp order by HIREDATE asc;
11. 显示所有雇员的姓名、工作和薪金,按工作内的工作的降序顺序排序,而工作按薪金排序
select ENAME,JOB,SAL from scott.emp order by JOB desc,sal;
12. 显示所有雇员的姓名和加入公司的年份和月份,按雇员受雇日所在月排序,并将最早年份的项目排在最前面
select ENAME,to_date(HIREDATE,’yy-mm’) from scott.emp order by to_date(HIREDATE,’mm’) , to_date(HIREDATE,’yy’);
13. 显示在一个月为 30 天的情况下所有雇员的日薪金,忽略小数
select ENAME,round(sal/30,0) from scott.emp;
14. 找出在(任何年份的) 2 月份受雇的所有雇员
select * from scott.emp where to_char(HIREDATE,’mm’) =2;
15. 对于每个雇员,显示其加入公司的天数
select ceil(SYSDATE-HIREDATE) as DY from scott.emp;
16. 显示姓名字段的任何位置,包含‘ A ’的所有雇员的姓名
select ENAME from scott.emp where ENAME like’%A%’;
17. 以年、月和日显示所有雇员的服务年限
select ENAME,HIREDATE ,floor(MONTHS_BETWEEN(SYSDATE,HIREDATE)/12)AS Y,MOD(floor(MONTHS_BETWEEN(SYSDATE,HIREDATE)),12)AS M,MOD(floor(SYSDATE-HIREDATE),30)AS D from scott.emp;
select ename,hiredate,trunc(months_between(sysdate,hiredate)/12) 年 , trunc(mod(months_between(sysdate,hiredate),12)) 月 , trunc(sysdate-add_months(hiredate,months_between(sysdate,hiredate))) 日 from emp;
18. 列出至少有一个雇员的所有部门
select dname from scott.dept where deptno in(select distinct deptno from scott.emp);
19. 列出薪金比“ SMITH ”多的所有雇员
select ENAME,SAL from scott.emp where SAL>(select SAL from scott.emp where ENAME =’SMITH’);
select e2.* from scott.emp e1,scott.emp e2 where e1.ename='SMITH'and e2.sal > e1.sal;
20. 列出所有雇员的姓名及其部门名
select ENAME, scott.emp.deptno,DNAME FROM scott.emp INNER JOIN scott.dept ON scott.emp.deptno = scott.dept.deptno order by deptno;
21. 列出所有入职日期早于其直接上级的所有雇员
SELECT * FROM scott.emp ygb WHERE hiredate<(SELECT hiredate FROM scott.emp sjb WHERE sjb.empno=ygb.mgr);
连接查询:
select a.* from emp1 a,emp1 b where a.hiredate <b.hiredate and a.mgr = b.empno;
关联子查询:
select e.* from emp e where e.hiredate<(select hiredate from emp e2 where e2.empno=e.mgr);
22. 列出各种类别的最低薪金,并使薪金大于 1500
select job,min(sal) from scott.emp where sal > 1500 group by job;
23. 列出薪金高于公司平均水平的所有雇员
select ename from scott.emp where sal>(select avg(sal) from scott.emp);
24. 列出与“ scott ”从事相同工作的所有雇员
select * from scott.emp where job=(select job from scott.emp where ename='SCOTT');
25. 列出薪金高于部门 30 工作的所有雇员的薪金
select * from scott.emp where sal > any (select sal from scott.emp where deptno = 30);
26. 列出薪金高于在部门 30 工作的最高的薪金
select * from scott.emp where sal>all(select sal from scott.emp where deptno=30);
27. 列出每个部门雇员的数量
select d.deptno,dname,count(ename) from scott.dept d left join scott.emp e on (d.deptno = e.deptno) group by d.deptno,dname;
28. 列出所有雇员的名称,部门名称和薪金
select ename,dname,sal from scott.emp,scott.dept where emp.deptno=dept.deptno;
29. 列出从事同一种工作但不属于同一部门的这些员工
select distinct e.ename,e.job,e.deptno from scott.emp e,scott.emp d where e.deptno != d.deptno and e.job = d.job order by e.job;
30. 列出个类别工作的最低工资
select min(sal) ,deptno from scott.emp group by deptno;
31. 列出各个部门的经理的最低薪金
select ename,deptno,min(sal) from scott.emp where job = 'MANAGER' group by deptno,ename;
32. 列出按计算的字段排序的所有雇员的年薪
select ename,(sal+nvl(comm,0))*12 nx from scott.emp order by nx;
33. 列出所有 CLERK 的姓名及其部门名称
select dname,ename from scott.dept a,scott.emp d where a.deptno = d.deptno and job ='CLERK';
34. 列出薪金水平处于前四位的雇员
select * from (select * from scott.emp order by sal desc) where rownum<5 ;
35 、取出收入在第 5-10 名之间的员工
select * from (select t.*,rownum r from (select e.* from emp e order by sal desc) t where rownum<= 10) t2 where t2.r>=5;
36 、取出表 emp 中第 5-10 位之间的员工
select * from (select e.*,rownum r from emp e where rownum<=10) t where t.r>=5;
相关推荐
本压缩包“Sql1”提供了SQL语句的练习,帮助用户深入理解和熟练掌握MySQL中的SQL用法。 首先,基础的SQL语句包括SELECT、INSERT、UPDATE和DELETE。SELECT用于从数据库中查询数据,是SQL中最常用的部分。你可以学习...
这是带答案的sql语句练习这是带答案的sql语句练习这是带答案的sql语句练习这是带答案的sql语句练习这是带答案的sql语句练习这是带答案的sql语句练习这是带答案的sql语句练习这是带答案的sql语句练习
最全sql查询语句练习题汇总(面试必备) 最全sql查询语句练习题汇总(面试必备) 最全sql查询语句练习题汇总(面试必备) 最全sql查询语句练习题汇总(面试必备) 最全sql查询语句练习题汇总(面试必备) 最全sql查询语句练习...
经典的SQL语句练习
数据库SQL语句练习 本资源旨在通过若干SQL语句练习,帮助读者更好地理解数据库的各项数据操作。下面是相关知识点的详细解释: 1. 关系代数和SQL语言查询 在关系代数和SQL语言中,查询至少选修了一门其直接先行课...
### SQL语句强化练习知识点详解 #### 一、简单查询 **知识点1:查询所有记录** - **描述**: 使用 `SELECT * FROM 表名` 可以查询表中的所有记录。 - **示例**: 查询所有学生的信息。 - **SQL语句**: `SELECT * ...
"学生选课数据库SQL语句练习题详细分解答案" 本资源是一个学生选课数据库的SQL语句练习题详细分解答案,包括四个表:学生表(Student)、课程表(Course)、成绩表(Score)以及教师信息表(Teacher)。每个表的...
MySQL SQL语句练习题及答案 本资源提供了 MySQL SQL 语句的练习题及答案,涵盖了创建表、插入数据、删除数据、更新数据、查询数据等多方面的知识点。 一、创建表 在 MySQL 中,创建表使用 CREATE TABLE 语句。...
### 三、SQL语句练习 1. **查询所有学生的姓名和性别**: ```sql SELECT NAME, SEX FROM STUDENTS; ``` 2. **查询每个学生的姓名及其所选课程的名称和成绩**: ```sql SELECT S.NAME AS 学生姓名, C.NAME AS ...
SQL 语句练习题 本节课练习题目涵盖了 SQL 语句的各种知识点,旨在考察学生对 SQL 语句的掌握程度。练习题目包括关系运算、定义表操作、查询语句操作、表数据操作、视图操作、授权操作、索引操作、匹配操作和触发器...
以上知识点通常会出现在"SQL语句大全.txt"、"SQL语句练习1.txt"和"新建MSQL表格.txt"这样的文件中,通过实践来巩固和提升SQL技能。在学习过程中,结合实际案例进行练习是非常有效的学习方法,这将有助于理解和掌握...
SQL语句练习、学生可以查看自学SQL相关语句的练习
根据给定文件中的标题“SQL语句练习及答案”与描述“一个非常适合在笔试前看的SQL练习题。也可在在平时作为SQL语言练习题来使用”,我们可以看出这份材料主要包含了一系列针对SQL语言的练习题及其解答,适用于考前...
DDL用来创建数据库中的各种对象,包括数据库模式、表、视图、索引、同义词、聚簇等,它的基本语句有:CREATE DATABASE、CREATE TABLE、CREATE VIEW、CREATE INDEX等。 (4)数据控制语言(DCL) DCL用来授予或回收...
【SQL语句练习提高】 在SQL中,查询和操作数据是其核心功能。以下通过给出的练习题目,我们将深入理解SQL的基本句式和用法。 28. 题目要求从`employee`表中抽取部门名称(depart_name),计算平均工资(avg(wage)...
全国计算机二级(vf)sql语句练习 本资源提供了多种SQL语句练习题,涵盖了基本的数据查询、数据归纳、数据排序、数据筛选等操作。每个练习题都提供了明确的需求和相应的解决方案,帮助学生更好地掌握SQL语句的使用...
实验5 sql语句练习——图书馆数据库.docx
SQL语句练习系统是一款专为学习和提升SQL技能设计的应用,它提供了丰富的练习题和实例,帮助用户深入理解和掌握SQL语言。SQL(Structured Query Language),结构化查询语言,是用于管理关系数据库的标准语言,广泛...
以下是对标题“经典SQL语句—练习”和描述中涉及的一些基本知识点的详细说明: 1. **创建数据库**:使用`CREATE DATABASE`语句可以创建一个新的数据库,例如`CREATE DATABASE database-name`,这里的`database-name...
"经典sql语句练习"这个压缩包提供了一套适合初学者的基础练习题,可以帮助你更好地理解和运用SQL语言。下面,我们将深入探讨SQL的基本概念、常用语句以及它们在实际中的应用。 SQL,全称为结构化查询语言,是用于...