1. --1,选择不猛30中的雇员
  2. SELECT *
  3. FROM EMP
  4. WHERE DEPTNO = 30;
  5. --2,列出所有办事员的姓名,编号和部门
  6. SELECT ENAME,EMPNO,DEPTNO
  7. FROM EMP
  8. WHERE JOB = 'CLERK';
  9. --3,找出佣金高于薪金的雇员
  10. SELECT *
  11. FROM EMP
  12. WHERE NVL(COMM,0) > SAL;
  13. --4,找出佣金高出薪金的60%的雇员
  14. SELECT *
  15. FROM EMP
  16. WHERE NVL(COMM,0) > SAL * 0.6;
  17. --5,找出部门10中所有经理和部门20中所有办事员的详细资料
  18. SELECT *
  19. FROM EMP
  20. WHERE (DEPTNO = 10 AND JOB = 'MANAGER')
  21. OR (DEPTNO = 20 AND JOB = 'CLERK');
  22. --
  23. SELECT *
  24. FROM EMP
  25. WHERE DEPTNO = 10
  26. AND JOB = 'MANAGER'
  27. UNION
  28. SELECT *
  29. FROM EMP
  30. WHERE DEPTNO = 20
  31. AND JOB = 'CLERK';
  32. --6,找出部门10中所有经理,部门20中所有办事员
  33. --以及既不是经理又不是办事员但其薪金大于或等于2000
  34. --的所有雇员的详细资料
  35. SELECT *
  36. FROM EMP
  37. WHERE (DEPTNO = 10 AND JOB = 'MANAGER')
  38. OR (DEPTNO = 20 AND JOB = 'CLERK')
  39. OR (JOB NOT IN ('MANAGER','CLERK')
  40. AND SAL >= 2000);
  41. --
  42. SELECT *
  43. FROM EMP
  44. WHERE DEPTNO = 10
  45. AND JOB = 'MANAGER'
  46. UNION
  47. SELECT *
  48. FROM EMP
  49. WHERE DEPTNO = 20
  50. AND JOB = 'CLERK'
  51. UNION
  52. SELECT *
  53. FROM EMP
  54. WHERE JOB != 'MANAGER'
  55. AND JOB != 'CLERK'
  56. AND SAL >= 2000;
  57. --7,找出收取佣金的员工的不同工作
  58. SELECT DISTINCT JOB
  59. FROM EMP
  60. WHERE NVL(COMM,0) > 0;
  61. --8,找出不收取佣金或收取的佣金低于100的员工
  62. SELECT *
  63. FROM EMP
  64. WHERE NVL(COMM,0) < 100
  65. OR COMM IS NULL;
  66. --9,找出各月倒数第三天受雇的所有员工
  67. SELECT *
  68. FROM EMP
  69. WHERE HIREDATE = LAST_DAY(HIREDATE) -2;
  70. --10,找出早于12年前受雇的员工
  71. SELECT *
  72. FROM EMP
  73. WHERE HIREDATE < ADD_MONTHS(SYSDATE,-12*12);
  74. --11,以首字母大写的方式显示所有员工的姓名
  75. SELECT INITCAP(ENAME) AS 姓名
  76. FROM EMP;
  77. --12,显示正好为5个字符的员工的姓名
  78. SELECT ENAME
  79. FROM EMP
  80. WHERE LENGTH(ENAME) = 5;
  81. --
  82. SELECT ENAME
  83. FROM EMP
  84. WHERE ENAME LIKE '_____';
  85. --13,显示不带‘R’的员工的姓名
  86. SELECT ENAME
  87. FROM EMP
  88. WHERE ENAME NOT LIKE '%R%';
  89. --14,显示所有员工姓名的前三个字符
  90. SELECT SUBSTR(ENAME,1,3) AS ENAME
  91. FROM EMP;
  92. --15,显示所有员工的姓名,用a替换所有‘A’
  93. SELECT REPLACE(ENAME,'A','a') AS ENAME
  94. FROM EMP;
  95. --
  96. SELECT TRANSLATE(ENAME,'A','a') AS ENAME
  97. FROM EMP;
  98. --16,显示满10年服务年限的员工的姓名和受雇日期
  99. SELECT ENAME,HIREDATE
  100. FROM EMP
  101. WHERE MONTHS_BETWEEN(SYSDATE,HIREDATE) > 120;--!大时间写在后
  102. --
  103. SELECT ENAME,HIREDATE
  104. FROM EMP
  105. WHERE SYSDATE > ADD_MONTHS(HIREDATE,12 * 10);
  106. --17,显示员工的详细资料,按姓名排序
  107. SELECT *
  108. FROM EMP
  109. ORDER BY ENAME;
  110. --18,显示员工的姓名和受雇日期,根据其服务年限,
  111. --将最老的员工排在最前面
  112. SELECT ENAME,HIREDATE
  113. FROM EMP
  114. ORDER BY HIREDATE;
  115. --19,显示所有员工的姓名、工作和薪金,按工作的
  116. --降序排列,若工作相同则按薪金排序
  117. SELECT ENAME,JOB,SAL
  118. FROM EMP
  119. ORDER BY JOB DESC,SAL;
  120. --20,显示所有员工的姓名、加入公司的年份和月份,
  121. --按受雇日期所在月排序,若月份相同则将最早
  122. --年份的员工排在最前面
  123. SELECT ENAME,TO_CHAR(HIREDATE,'YYYY"年"MM"月"')
  124. FROM EMP
  125. ORDER BY TO_CHAR(HIREDATE,'MM'),TO_CHAR(HIREDATE,'YYYY')
  126. --21,显示在一个月为30天的情况所有员工的日薪金,
  127. --忽略余数
  128. SELECT ENAME,TRUNC(SAL/30)
  129. FROM EMP;
  130. --22,找出在(任何年份的)2月受聘的所有员工
  131. SELECT *
  132. FROM EMP
  133. WHERE TO_CHAR(HIREDATE,'MM') = '02';
  134. --23,对于每个员工,显示其加入公司的天数
  135. SELECT ENAME,FLOOR(SYSDATE - HIREDATE)
  136. FROM EMP;
  137. --24,显示姓名字段的任何位置包含‘A’的所有员工的姓名
  138. SELECT *
  139. FROM EMP
  140. WHERE ENAME LIKE '%A%';
  141. --25,以年月日的方式显示所有员工的服务年限(大概)
  142. SELECT EMPNO,ENAME,
  143. (
  144. '在职'||TRUNC((MONTHS_BETWEEN(SYSDATE,HIREDATE)/12))||'年'||
  145. TRUNC(MOD((MONTHS_BETWEEN(SYSDATE,HIREDATE)),12))||'个月'||
  146. ROUND(SYSDATE-(ADD_MONTHS(HIREDATE,MONTHS_BETWEEN
  147. (SYSDATE,HIREDATE))))||'天'
  148. )
  149. FROM EMP;

SQL单表查询的更多相关文章

  1. SQL单表查询案例

    表(emp)结构 (1)查询部门编号为10中所有经理,部门编号为20中所有销售员,还有即不是经理又不是销售员但其工资大或等于20000的所有员工详细资料. SELECT * FROM emp ; (2 ...

  2. sql 单表查询练习

    -- 工资高于3000的员工select * from emp where sal > 3000;-- 工资在2500和3000之间的员工select * from emp where sal ...

  3. SQL数据查询之——单表查询

    一.SQL数据查询的一般格式 数据查询是数据库的核心操作.SQL提供了SELECT语句进行数据查询,其一般格式为: SELECT [ALL | DISTINCT]<目标列表达式>[,< ...

  4. 【T-SQL基础】01.单表查询-几道sql查询题

    概述: 本系列[T-SQL基础]主要是针对T-SQL基础的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础]02.联接查询 [T-SQL基础]03.子查询 [T-SQL基础 ...

  5. SQL基本查询_单表查询(实验二)

    SQL基本查询_单表查询(实验二) 查询目标表结构及数据 emp empno ename job hiedate sal comn deptno 1007 马明 内勤 1992-6-12 4000 2 ...

  6. springdata 查询思路:基本的单表查询方法(id,sort) ---->较复杂的单表查询(注解方式,原生sql)--->实现继承类---->复杂的多表联合查询 onetomany

    springdata 查询思路:基本的单表查询方法(id,sort) ---->较复杂的单表查询(注解方式,原生sql)--->实现继承类---->复杂的多表联合查询 onetoma ...

  7. sql多表查询(单表查询略过)

    表library: 表borrow: 表reader: 1.等值连接:(常用) 原理:将多张表组合成一个逻辑大表,即字段相加记录相乘(笛卡尔积). 语法:select * from 表A,表B whe ...

  8. sql语句-单表查询

    一:单表查询 CREATE TABLE `Score`( `s_id` ), `c_id` ), `s_score` ), PRIMARY KEY(`s_id`,`c_id`) ); ); ); ); ...

  9. SQL基础--查询之一--单表查询

    SQL基础--查询之一--单表查询

随机推荐

  1. BZOJ-1143&&BZOJ-2718 祭祀river&&毕业旅行 最长反链(Floyed传递闭包+二分图匹配)

    蛋蛋安利的双倍经验题 1143: [CTSC2008]祭祀river Time Limit: 10 Sec Memory Limit: 162 MB Submit: 1901 Solved: 951 ...

  2. BZOJ-3231 递归数列 矩阵连乘+快速幂

    题不是很难,但是啊,人很傻啊...机子也很鬼畜啊... 3231: [Sdoi2008]递归数列 Time Limit: 1 Sec Memory Limit: 256 MB Submit: 569 ...

  3. 超级懒汉编写的基于.NET的微信SDK

    一.前言 特别不喜欢麻烦的一个人,最近碰到了微信开发.下载下来了一些其他人写的微信开发“框架”,但是被恶心到了,实现的太臃肿啦. 最不喜欢的就是把微信返回的xml消息在组装成实体类,所以会比较臃肿,现 ...

  4. Dedecms include\dialog\select_soft_post.php Upload Any Files To The Specified Directory Via Variable Not Initial Flaw Bypass Extension Defence

    目录 . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 综合来说,这个漏洞的根源是"register_globals = on& ...

  5. Linux Kernel中获取当前目录方法(undone)

    目录 . 引言 . 基于进程内存镜像信息struct mm_struct获取struct path调用d_path()获取当前进程的"绝对路径" . 基于文件描述符(fd).tas ...

  6. [Angularjs]视图和路由(一)

    写在前面 对单页应用来讲,视图和路由的作用可以从一个视图跳转到另外一个视图,可以合理管理用户在使用过程中看到的界面. 将视图分解成布局和模版视图,并且根据用户当前访问的URL来展示对应的视图,将会是一 ...

  7. MyEclipse------快速读取特定目录下的文件的内容(字节输入流)

    other.jsp <%@ page language="java" import="java.util.*" pageEncoding="UT ...

  8. 使用migrate.exe执行EF code first 迁移

    Code First 迁移可用于从 Visual Studio 内部更新数据库,但也可通过命令行工具 migrate.exe 来执行.本页简单介绍如何使用 migrate.exe 对数据库执行迁移. ...

  9. 纹理缓存(Texture Cache)

    纹理缓存是将纹理缓存起来方便之后的绘制工作.每一个缓存的图像的大小,颜色和区域范围都是可以被修改的.这些信息都是存储在内存中的,不用在每一次绘制的时候都发送给GPU. CCTextureCache C ...

  10. [codeforces 241]A. Old Peykan

    [codeforces 241]A. Old Peykan 试题描述 There are n cities in the country where the Old Peykan lives. The ...